Analyseur Texte
Analyser les statistiques et utilitaires de texte
L'analyse de texte compte les caracteres, les mots, les phrases et les paragraphes. Indispensable pour les limites de caracteres des reseaux sociaux, les balises meta SEO et les SMS.
Qu’est-ce que l’analyse de texte ?
L’analyse de texte (ou metriques de texte) est le processus de calcul des proprietes statistiques d’un texte : nombre de caracteres, nombre de mots, nombre de phrases, nombre de paragraphes et metriques derivees comme la longueur moyenne des mots et le temps de lecture estime.
Ces metriques peuvent sembler simples, mais elles sont essentielles dans de nombreux contextes professionnels. Les community managers doivent connaitre le nombre de caracteres pour respecter les limites des plateformes. Les specialistes SEO optimisent les meta descriptions et les balises titre a des longueurs specifiques. Les traducteurs suivent le nombre de mots pour la facturation. Les redacteurs utilisent les estimations de temps de lecture pour calibrer la longueur des articles.
Les analyseurs de texte modernes vont au-dela du simple comptage. Ils gerent correctement l’Unicode (ou un seul « caractere » peut occuper plusieurs octets), identifient les phrases par des motifs de ponctuation plutot que de simplement compter les points, et distinguent les mots separes par des espaces, des tirets ou des sauts de ligne.
Caracteres, mots et phrases : les differences de comptage
Comptage des caracteres
Le comptage de caracteres semble simple, mais les cas limites sont nombreux :
- Avec ou sans espaces ? Les plateformes de reseaux sociaux comptent generalement les espaces. La facturation SMS ne les compte pas toujours.
- Caracteres Unicode : Un emoji comme un drapeau peut occuper 4 octets ou plus mais s’affiche comme 1 caractere. La propriete
.lengthd’une chaine en JavaScript renvoie les unites de code UTF-16, pas les caracteres visuels — utilisez[...str].lengthouIntl.Segmenterpour les groupes de graphemes. - Sauts de ligne :
\nest generalement compte comme 1 caractere, mais\r\n(fins de ligne Windows) represente 2 octets.
Comptage des mots
Les mots sont generalement comptes en decoupant le texte aux espaces et en filtrant les chaines vides. Mais ce qui constitue un « mot » depend du contexte :
- Termes composes : « bien-connu » est-il un mot ou deux ?
- Contractions : « l’homme » est un mot
- Nombres : « 42 » et « 3,14 » sont generalement comptes comme des mots
- URL : « https://example.com/path » est generalement un mot
La plupart des analyseurs de texte decoupent aux limites d’espaces (/\s+/), ce qui fonctionne correctement dans la majorite des cas pour les langues europeennes. Les langues CJK (chinois, japonais, coreen) n’utilisent pas d’espaces entre les mots et necessitent des algorithmes de segmentation.
Comptage des phrases
Les phrases sont plus difficiles a compter qu’on ne le pense. Le comptage naif par les points echoue sur les abreviations (« Dr. Dupont »), les nombres decimaux (« 3,14 ») et les points de suspension (« Attendez… »). Une detection robuste des phrases recherche les signes de ponctuation de fin de phrase (., !, ?) suivis d’un espace et d’une majuscule, tout en gerant les exceptions.
Considerations Unicode
L’Unicode introduit une complexite qui piege de nombreux analyseurs de texte :
Groupes de graphemes — Un seul caractere visuel peut etre compose de plusieurs points de code Unicode. La sequence emoji « famille » peut contenir 7 points de code ou plus mais s’affiche comme un seul caractere. La lettre « e accent » peut etre un seul point de code (e) ou deux (e + accent combinant), et ils sont visuellement identiques.
Incoherence de la longueur des chaines — La propriete String.length de JavaScript compte les unites de code UTF-16. Les caracteres en dehors du Plan Multilingue de Base (de nombreux emojis) utilisent des paires de substitution, de sorte que "drapeau".length peut renvoyer 4 au lieu de 1. Utilisez Array.from(str).length ou Intl.Segmenter pour un comptage precis des graphemes.
Nombre d’octets vs nombre de caracteres — UTF-8 utilise de 1 a 4 octets par caractere. Les caracteres ASCII occupent 1 octet, les caracteres accentues europeens 2 octets, les caracteres CJK 3 octets et les emojis 4 octets. Lorsque les limites en octets comptent (SMS, colonnes de base de donnees), le nombre de caracteres seul est insuffisant.
Cas d’usage courants
- Optimisation SEO : Rediger des meta descriptions (cible de 150-155 caracteres) et des balises titre (cible de 50-60 caracteres) dans les limites d’affichage de Google
- Gestion des reseaux sociaux : S’assurer que les publications respectent les limites de caracteres — Twitter/X (280), LinkedIn (3000 pour les publications, 120 pour les titres), Instagram (2200 pour les legendes)
- Segmentation SMS : Chaque segment SMS fait 160 caracteres (GSM-7) ou 70 caracteres (Unicode). Depasser un segment double le cout
- Planification de contenu : Estimer le temps de lecture (moyenne de 200-250 mots par minute) pour calibrer la longueur des articles en fonction de la capacite d’attention du public
- Devis de traduction : Les traducteurs facturent couramment au mot. Un comptage precis des mots est essentiel pour l’estimation des couts avant le debut d’un projet
Essayez ces exemples
Resultats de l'analyse : 139 caracteres, 25 mots, 3 phrases, 1 paragraphe. La longueur moyenne des mots est de 4,2 caracteres. Ce texte tient dans un tweet (280 caracteres) et un SMS (160 caracteres).
The quick brown fox jumps over the lazy dog. This sentence contains every letter of the English alphabet. It is commonly used for font testing. Une entree vide produit des resultats a zero : 0 caractere, 0 mot, 0 phrase, 0 paragraphe. L'analyseur gere les entrees vides de maniere elegante, sans erreur.