Skip to content

Analyse de lisibilité

L'endpoint /read analyse un texte et retourne son nombre de mots, de phrases et de syllabes, ses scores de lisibilité Flesch et un temps de lecture estimé.

Comment ça marche ?

L'anglais utilise les coefficients Flesch d'origine, qui fournissent aussi un niveau scolaire Flesch-Kincaid. Le français utilise l'adaptation de Kandel & Moles, qui n'a pas d'équivalent de niveau scolaire : fleschKincaidGrade vaut donc null.

Les syllabes sont estimées par une heuristique propre à chaque langue : groupes de voyelles, moins le e final muet (e ou es en français), avec un minimum d'une syllabe par mot. Les phrases sont découpées sur ., !, ? et , et un texte sans aucun de ces signes compte pour une seule phrase. Le temps de lecture est basé sur 200 mots par minute.

Paramètres

Le corps de la requête doit être en JSON :

ParamètreRequisDescription
textOuiTexte à analyser, 50000 caractères maximum
langNonLangue du texte : en ou fr. Par défaut : en

Champs de réponse

ChampTypeDescription
langstringLangue utilisée pour l'analyse
wordsnumberNombre de mots — les tokens contenant au moins une lettre ou un chiffre
sentencesnumberNombre de phrases, toujours au minimum 1
syllablesnumberNombre total estimé de syllabes
fleschReadingEasenumberScore de lisibilité Flesch, arrondi à 2 décimales — plus il est élevé, plus le texte est facile
fleschKincaidGradenumber|nullNiveau scolaire Flesch-Kincaid, arrondi à 2 décimales — null si lang vaut fr
readingTimestringTemps de lecture estimé, en secondes en dessous d'une minute (ex. 45s, 3min)

Exemples de code

curl -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "text": "The cat sat on the mat. It was happy.",
    "lang": "en"
  }' \
  "https://api.sylvain.sh/v5/read"

Essayer

Gestion des erreurs

Si les paramètres sont manquants ou invalides, l'API retournera une erreur :

Message d'erreurDescription
Please provide a textLe paramètre text est manquant, vide, ou ne contient aucun mot
Text must be 50000 characters or fewerLe text dépasse la longueur maximale
Language must be one of: en, frLa valeur de lang n'est ni en ni fr