Pour la blague, il invente MordorJS : un outil où chaque ligne fait un seul caractère
Un caractère pour les gouverner tous — Vous trouviez la règle des 80 caractères par ligne un peu rigide ?
Un développeur a décidé de pousser le concept jusqu'à son paroxysme. Bienvenue dans MordorJS, où la longueur maximale d'une ligne est d'un seul et unique caractère !
Soumis au challenge poisson d'avril du site dev.to par le développeur hongrois Péter Vívó, MordorJS est né d'un brief limpide : construire quelque chose de complètement inutile, un logiciel qui ne résout strictement aucun problème réel.
Et le moins qu'on puisse dire, c'est qu'avec ce projet, le défi a été relevé avec brio. MordorJS est un outil CLI qui transforme n'importe quel fichier JavaScript en une colonne verticale (presque) infinie.
Votre code s'écrit de haut en bas, caractère par caractère, comme un parchemin qu'on déroulerait depuis les entrailles de Barad-dûr.
La Communauté du LOC
L'idée part d'un constat implacable : pour beaucoup de managers dépassés, la productivité se mesure encore en lignes de code.
Or, si chaque caractère occupe sa propre ligne, un simple Hello World suffit à exploser le compteur. De quoi devenir instantanément le développeur le plus productif de l'équipe, eh ouais.
Parmi les avantages documentés avec un sérieux imperturbable : l'IA a beaucoup plus de mal à lire votre code (en 2026, ça pourrait presque devenir un argument légitime), le scroll horizontal disparaît à jamais, le vol de code par screenshot devient très peu pratique, et la code review se transforme en véritable "acte de courage".

Le Retour du Caractère
Là où MordorJS dépasse le simple gag, c'est dans la mécanique qui se cache derrière. Le code source commence par extraire une vingtaine de caractères depuis un template string, chacun stocké dans sa propre variable.
À partir de là, il reconstitue des mots-clés JavaScript par concaténation (c+o+n+s+t+r+u+c+t+o+r), jusqu'à reconstruire le constructeur Function lui-même. Tout le code vertical est ensuite recollé en une seule ligne et exécuté dynamiquement.
Le plus beau : le programme est capable de s'encoder lui-même dans son propre format. mordorjs mordor.js -mjs produit une version verticale de MordorJS, qui reste parfaitement fonctionnelle. La boucle est bouclée, un caractère à la fois.
Le package est disponible sur npm (npm install -g mordorjs) et propose pas mal d'options : wrapping sur plusieurs colonnes verticales, encodage Base64, et même un mode "projet" qui empaquette une arborescence complète dans un seul fichier texte. Parce que tant qu'à réinventer l'écriture, autant aller jusqu'au bout.
On est pile dans la lignée des projets dev absurdes qu'on adore. Péter Vívó remercie d'ailleurs chaleureusement toute l'équipe du bureau du Mordor, et en particulier son "Nazgûl Manager" pour l'avoir guidé dans ce processus exigeant.
Bon, certes, le repo affiche encore zéro étoile au moment où je publie cet article. Mais après tout, on n'entre pas si facilement en Mordor.

À propos de l'auteur
Nicolas Lecointre
Chief Happiness Officer des développeurs, ceinture noire de sudo. Pour rire, j'ai créé Les Joies du Code. J'utilise Vim depuis 10 ans parce que je sais pas comment le quitter.
Articles similaires
Les meilleurs easter eggs cachés dans vos langages et outils de développeurs
Attention : des hackers publient de fausses alertes de sécurité sur GitHub pour vous piéger
Claude Code : la fuite de code source piégée pour distribuer un infostealer
Les meilleurs easter eggs cachés dans vos langages et outils de développeurs
Insolite : il crée un langage de programmation avec des M&M's
Attention : des hackers publient de fausses alertes de sécurité sur GitHub pour vous piéger
Claude Code : la fuite de code source piégée pour distribuer un infostealer
Plus de contenu
Quand mon collègue veut faire une "blague" et supprime le code que j'ai passé la matinée à écrire
Quand un easter egg passe mal auprès du client
Quand la CI passe alors que je m’attendais à une avalanche d’erreurs
Quand on me lance sur un projet "quick win"
while true
Quand tu viens de péter la prod et que t'entends tous les collègues qui commencent à s'énerver
Quand on me demande d'écrire une regex
Quand je code après la pause déjeuner
Quand mon collègue veut faire une "blague" et supprime le code que j'ai passé la matinée à écrire
Quand un easter egg passe mal auprès du client
Quand la CI passe alors que je m’attendais à une avalanche d’erreurs
Quand on me lance sur un projet "quick win"
while true