Louphole

Argotify

Argotify est un programme qui transforme n'importe quel texte français en une version argot à l'aide de plusieurs variations stylistiques. Il existe sous forme d'extension pour navigateur Chrome et Firefox et en version page web ci-dessous.




Recontextualisation

Pour la troisième année consécutive, j'ai participé au NaNoGenMo, cet événement qui parodie le NaNoWriMo en proposant de passer le mois de novembre à écrire un programme informatique qui génère un texte de 50000 mots.

L'an dernier, j'avais eu l'idée de transformer les forums de jeuxvideo.com en une pièce de théâtre, ça avait donné Le jeuxvideo.com de l'amour et du hasard. Un travail de recontextualisation comme je les aime qui prend les pires contenus du web et les transpose en forme classique. Cette année, j'ai fait pareil, mais dans le sens inverse. Il s'agissait donc de prendre un texte des plus raffinés et d'en faire un bazar de mots argots, mal orthographiés et résolumment actuels. J'ai finalement choisi d'argotifier L'Éducation sentimentale de Flaubert et ça donne LÉdukation sentimentale, histoire dun jeune mec par Gustave Flobert. Et il va sans dire que les résumés de classiques par Les Boloss des Belles Lettres étaient une des inspirations pour ce projet. C'est en quelque sorte une automatisation de leur idée à l'échelle d'oeuvres complètes.

Grimaces et misères ou les Saltimbanques, Fernand Pélez - Photo (C) RMN-Grand Palais / Agence Bulloz
Le programme

Le programme inclue trois types de transformations du texte : écriture simplifiée, verlan et argot. L'algorithme découpe le texte en mots et applique ensuite les méthodes, selon le pourcentage spécifié (utilisé comme probabilité), sur chacun des mots. Selon les situations, un découpage du mot en syllabes pouvait être nécessaire, j'ai utilisé pour cela la fonction inclue de la libraire Metriques.js que j'avais créé pour l'application Panoryma. Dans beaucoup de cas, l'utilisation d'expression régulières (ou Regex) suffisait pour détecter et remplacer des motifs de caractères. Tout le code source est disponible sur GitHub.

Écriture simplifiée

La simplification de l'écriture intervient à différents niveaux : sur le mot entier en une fois, sur les syllabes unes par unes, sur des successions particulièrs de lettres et sur les fins de mots.

La première technique permet d'appliquer des simplifications qui sont particulières pour certains mots et ne peuvent être appliquées par les autres techniques, par exemple remplacer "même" en "mm". La deuxième technique remplace des syllabes par des versions simplifiées, par exemple "de" en "2". Parfois, il faut simplifier des successions de lettres à cheval sur deux syllabes, par exemple les occurrences de "ctio" en "ksio". Et pour finir, on s'attaque aux fins de mots qui sont des syllabes particulières, comme remplacer "ées" par "é".

Verlan

Pour le verlan, l'algorithme applique un découpage par syllabes et déplace la première syllabe en fin de mot. En revanche, après plusieurs essais heuristiques, j'ai établi quelques règles pour utiliser cette transformation dans un nombre de cas réduits pour améliorer la crédibilité et la lisibilité des résultats : les mots doivent avoir 2 ou 3 syllabes, ne pas commencer par une syllabe et ne pas avoir de lettre e en fin de mot. Aussi absurde que ça puisse paraître, ces règles fonctionnent pas trop mal. En plus de cette méthode, pour les mots ayant des verlans déjà existants et particuliers, l'algorithme fait un remplacement global, comme pour le verlan de "fou" qui donne "ouf".

Mots d'argot

La dernière transformation est assez simple, il s'agit d'intégrer des mots argots dans le texte, selon deux méthodes. Premièrement, le programme peut ajouter des mots vides d'argot aux ponctuations déjà existantes dans le texte, ces mots comme "wesh", "sisi", etc. ne jouent presque aucun rôle sémantique et servent juste la dynamique du phrasé oral, et ici du texte au même titre qu'une virgule ou un point. L'autre technique est encore une fois un remplacement plus brutal, quasiment mot pour mot, comme dans le cas du verbe "pleurer" qu'on remplace par "chialer" (la transformation est un remplacement de toutes les occurrences de "pleur" en "chial").

Extensions Chrome et Firefox

Enfin, pour créer une extension disponible à la fois sur Chrome et sur Firefox, j'ai utilisé le modèle des web extensions qui est presque standardisé entre les deux navigateurs. Cela m'a permit de transformer l'extension initialement développée pour Chrome en un add-on Firefox en quelques changements minimes (remplacer "chrome." par "browser." et simplement supprimer les fonctions non-supportées). Le seul bémol de l'histoire est la durée de validation d'un add-on pour Firefox qui prend environ 2 semaines tandis que celui de Chrome ne dépasse pas quelques heures (mais nécessite de débourser 5$). Le code de ces extensions est par ailleurs une très bonne souche pour créer d'autres extensions de modification du contenu d'une page web, dans le genre de Cloud to Butt mais avec une pop-up pour gérer l'interaction. A vos claviers !