plint

aide • vie privée
fr • en

Bienvenue sur plint!

De quoi s'agit-il au juste ?

C'est une tentative d'a3nm pour lutter contre la poésie de mauvaise qualité (celle qui veut suivre des règles classiques sans y parvenir). Plint vérifie qu'un poème respecte des contraintes de métrique, de rime et de genre de rime. Il utilise frhyme pour les rimes (qui utilise lui-même la base de données Lexique), haspirater pour la détection des 'h' aspirés, et un système écrit à la main avec amour pour la métrique et le genre. Il est construit avec Python et Bottle. Vous pouvez récupérer le code sur le dépôt plint pour le faire tourner localement.

Publicité gratuite : si vous aimez plint, peut-être serez-vous intéressé par le dictionnaire de rimes drime.

Comment s'en servir ?

Entrez votre poème dans la zone de texte et choisissez le modèle de poème. Si aucun des modèles ne vous convient, vous pouvez écrire le vôtre.

Qu'est-ce qui est vérifié par plint ?

Les erreurs suivantes sont signalées par défaut. Des options de configuration dans le modèle permettent de rendre plint plus tolérant sur la plupart de ces erreurs : cela est documenté plus bas.

Métrique
Le nombre de syllabes par vers est habituellement fixé (12 pour les alexandrins, par exemple). Les syllabes sont comptées en scandant sans élision des e muets sauf quand un mot se termine par un e muet et le mot suivant commence par une voyelle ou un h non aspiré (ou si c'est le dernier mot du vers). Le nombre de syllabes n'est pas ce que vous obtenez en lisant le poème comme vous parlez tous les jours. Certains groupes de voyelles peuvent prendre deux syllabes soit systématiquement (par exemple "Léon") soit par une diérèse facultative ou obligatoire ("passion") ; plint utilise une approximation permissive des diérèses effectivement autorisées déduite à partir d'un corpus de textes classiques.
Hémistiche
Les alexandrins classiques sont divisés en deux hémistiches de 6 syllabes. La césure ne doit pas couper un mot et le premier hémistiche ne doit pas se finir par un son faible (ie. une fin féminine non élidée).
Rime
La contrainte poétique la plus connue est que les vers doivent rimer. Les phonèmes communs dans une rime doivent inclure un son vocalique (par exemple "tâte" et "bête" ne riment pas parce que leur suffixe commun est [t] qui ne contient pas de son vocalique). Les rimes sont vérifiées par plint avec une approximation permissive de la prononciation de la fin des vers. Plint confond [ɛ] et [ɛː] ("mettre" et "maître") et [a] et [ɑ] ("patte" et "pâte") mais pas [ɛ̃] et [œ̃] ("brin" et "brun") ou [ɔ] et [o] ("cotte" et "côte"). Quand toutes les règles classiques sont suivies, certaines rimes comme la rime normande ou la rime avec liaison supposée sont acceptées.
Rime pour l'œil
En poésie classique, un degré minimal de rime "pour l'œil" est exigé (ainsi "-é" et "-er" ne riment pas), avec une certaine tolérance (pour "-é" et "-ai" notamment).
Genre des rimes.
En poésie classique, les rimes doivent être féminines ou masculines. Une rime est féminine si elle se termine par un "e", "es" ou "ent" silencieux, et est masculine dans le cas contraire. Les rimes doivent faire rimer alternativement deux terminaisons féminines et deux terminaisons masculines. plint vérifie cela, avec une approximation permissive pour déterminer si une terminaison est féminine ou non.
Motifs ambigus
Certains motifs comme "-ies" et "-ées", ou "-ie" ou "-ée" suivis d'une consonne ou d'un 'h' aspiré, sont interdits en poésie classique. La raison est que ces motifs sont ambigus car ils pouvaient être prononcés ou élidés suivant les règles classiques de prosodie à l'époque, ce qui empêchait de compter correctement les syllabes. Selon la prosodie moderne, ils sont toujours élidés, mais ils sont toujours interdits suivant les règles classiques : plint les signale.
Hiatus
Le hiatus (juxtaposition de sons vocaliques sans 'e' muet intercalaire) est interdit en poésie classique et signalé. Plus précisément, il y a hiatus lorsqu'un mot se termine par une voyelle (sauf 'e' muet) et que le mot suivant commence par une voyelle ou par un h non-aspiré. Les consonnes muettes en fin de mot évitent l'hiatus, sauf dans le cas particulier du mot "et" (dont on considère qu'il se termine par un son vocalique).
Mots répétés
On ne doit pas faire rimer un mot avec lui-même (mais on peut faire rimer un mot avec des homographes de nature grammaticale différente), ainsi, plint signale une erreur si le nombre d'occurrences d'un mot connu dans un motif de rimes est plus grand par son nombre de natures grammaticales possibles.
Caractères interdits
Les caractères que plint ne reconnaît pas (notamment les chiffres arabes) sont signalés comme des erreurs, d'une part parce qu'ils sont sans doute irréguliers en poésie classique, d'autre part parce que cela signifie sans doute que plint va mal interpréter le vers.
Longueur
Pour certains types de poèmes (par exemple les sonnets), le nombre de vers est fixé, et une erreur est levée si le modèle n'est pas complet ou s'il a été répété.

Qu'est-ce qui n'est pas vérifié par plint ?

Le comptage des syllabes est effectué par une approximation permissive qui peut autoriser certaines diérèses ou synérèses non autorisées. Aucune vérification n'est faite pour s'assurer que la césure à l'hémistiche se fait à une position grammaticale raisonnable. Les rimes sont calculées par une approximation permissive, et il en va de même pour les genres. Il est interdit de faire rimer des mots dérivés l'un de l'autre (par exemple "justice" et "injustice") mais plint, faute de données, ne peut vérifier pas cette contrainte. Plint ne vérifie pas que les mots sont correctement orthographiés ou s'ils existent effectivement en français, ou si le poème a un sens de façon générale : par exemple, Tatata tatati tatati tatata est reconnu comme un alexandrin classique parfaitement valide.

Vie privée : Est-ce que des logs sont conservés ?

Oui, des logs peuvent être conservés, afin de pouvoir identifier, quand le programme plante, pourquoi le poème d'entrée l'a fait planter. Je conserve donc des informations sur les requêtes entrantes (poème, adresse IP). Aussi, ne soumettez pas de données confidentielles ou personnelles ; récupérez le code source et faites tourner plint localement pour de tels usages.

Comment faire pour définir ses propres modèles ?

Chaque ligne du format correspond à un vers (ie. une ligne non-vide). Une ligne peut indiquer trois éléments séparés par une espace : la métrique, l'identifiant de rime et l'identifiant de genre. Le premier est obligatoire, les deux derniers sont facultatifs.

La métrique indique le nombre de syllabes du vers, et la position des hémistiches éventuelles. Il s'agit de totaux de syllabes, séparés par '/' pour indiquer les hémistiches. Par exemple, "6/6" est un alexandrin classique, "12" est un alexandrin non nécessairement pourvu de césure à l'hémistiche.

L'identifiant de rime sert à regrouper les vers qui doivent rimer ensemble. Les vers ayant le même identifiant doivent rimer. Pour préciser le type de rime attendue, il est possible de terminer l'identifiant par ':' suivie d'une contrainte de rime qui est une liste de valeurs séparées par '|'. La première valeur est soit "no" pour désactiver les contraintes classiques sur la rime (et n'exiger que la rime phonétique), soit n'importe quoi d'autre pour activer les règles classiques (ce qui est fait par défaut). La seconde valeur est un nombre minimal de phonèmes communs nécessaires pour qu'une rime soit acceptée (1 par défaut).

L'identifiant de genre de rime sert à regrouper les vers qui doivent avoir une rime de même genre. Les conventions supplémentaires sont que deux identifiants de casse inversée (tels que "ex" et "EX") ont des genres opposés obligatoirement, et que "m" et "f" sont obligatoirement masculin et féminin respectivement.

Si des identifiants ne sont pas spécifiés, alors la contrainte correspondante n'est pas spécifiée.

Une fois le format épuisé, il est lu à nouveau à partir du début, jusqu'à la fin du poème. Les identifiants de rime et de genre sont réinitialisés (ie. peuvent prendre n'importe quelle valeur), sauf ceux qui commencent par '!'. Il n'est pas interdit que le poème et le format ne terminent pas simultanément.

Des options globales peuvent être définies sur une ligne commençant par "! ", elles doivent être de la forme clé:valeur et séparées par des espaces, les options suivantes sont reconnues :

merge
La valeur doit être une liste de phonèmes X-SAMPA (avec la conversion maison de plint pour représenter par un caractère les phonèmes de deux caractères) à fusionner. Les rimes seront vérifiées à ces fusions près.
normande_ok
La valeur doit être true ou false pour accepter ou refuser les rimes normandes. Par défaut, elles sont acceptées.
hiatus_ok
La valeur doit être true ou false pour accepter ou refuser les hiatus (au sens classique). Par défaut, ils sont refusés.
diaeresis
La valeur doit être soit "classical" pour imposer les règles de la métrique classique (approximées au mieux) ou "permissive" pour des approximations plus permissives qui accepteront à peu près n'importe quelle diérèse ou synérèse phonétiquement plausible. La valeur par défaut est "classical".
forbidden_ok
La valeur doit être true ou false pour accepter ou refuser les motifs ambigus comme "ées", "ies". Par défaut, ils sont refusés. Si vous acceptez ces motifs, vous devriez mettre "diaeresis" à "classical" pour qu'ils aient une longueur calculée de façon raisonnable.
repeat_ok
Si cette valeur est false, le modèle ne se répétera pas, un poème plus long que le modèle provoquera une erreur. Par défaut, la valeur est true.
incomplete_ok
Si cette valeur est false, le poème devrait avoir exactement la longueur du modèle (ou un multiple, si repeat_ok est true), ne pas aller jusqu'à la fin du modèle provoquera une erreur. Par défaut, la valeur est true.
phon_supposed_ok
Autoriser la liaison supposée pour les rimes (vrai par défaut).
eye_supposed_ok
Autoriser la liaison supposée pour les rimes pour l'œil (vrai par défaut).
eye_tolerance_ok
Autoriser les tolérances pour les rimes pour l'œil telles que "-é"/"-ai" (vrai par défaut).
poor_eye_required
Imposer des rimes pour l'œil d'au moins 2 caractères dans le cas d'une rime pauvre (un seul phonème) qui ne comporte pas de mots monosyllabiques (vrai par défaut, n'a de sens que pour les rimes classiques). Pour complètement désactiver les rimes pour l'œil, utiliser les contraintes de rime décrites plus haut.
poor_eye_supposed_ok
Autoriser la liaison supposée pour la rime pour l'œil pour poor_eye_required (faux par défaut).
poor_eye_vocalic_ok
Ne pas imposer la rime de poor_eye_required pour des successions de deux sons vocaliques (par exemple Noé/avoué).

Désolé si tout cela semble un peu obscur. Vous pouvez regarder les modèles prédéfinis pour comprendre comment ils fonctionnent :

Problèmes fréquents

Comment la prononciation est-elle indiquée ?

Avec X-SAMPA. Voyez aussi l'annexe de Wiktionnaire sur la prononciation du français. Notez qu'en raison de limitations diverses, la prononciation indiquée peut être complètement fausse pour les premiers phonèmes. Les derniers devraient être bons, cependant.

Est-ce qu'il y a une API ?

Pas encore. Si vous voulez faire quelque chose d'original, allez récupérer une copie du code.

Et le nom ?

C'est "plint" comme "poem lint" (comme l'outil "lint" pour les programmes), mais aussi pour l'homophonie avec "plainte".