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
- Les chiffres arabes ne sont pas acceptés. Écrivez toujours les nombres en
toutes lettres.
- Si le compte de syllabes dans le vers est correct mais qu'une erreur de
métrique est signalée, vérifiez les hémistiches. Les césures incorrectes (qui
coupent un mot ou se terminent par un son féminin) sont signalées.
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".