Réserver un diagnostic →

← Toutes les analyses

La langue du code — où le français s'arrête

Tout ce qui vient de nous est en français ; ce que la machine exige reste tel quel. Une règle, et sa frontière.

Document publié par GL Digital Tech — GL Digital Lab.

Il porte ses sources et leurs dates, et déclare ce qu'il n'a pas mesuré. Là où il n'y a pas de mesure, il n'y a pas d'affirmation.


La langue du code — où le français s'arrête, et pourquoi

Écrit le 28/09/2026, sur une demande de Gaëtan : *« Et les communications internes

en français aussi bordel ! »*

⚠️ La règle existait déjà (AGENTS.md § 0 et § 6) — mais elle parle des documents.

Elle ne disait nulle part quoi faire du CODE, et c'est là que le manque était.


Le constat, mesuré avant d'écrire quoi que ce soit

⛔ On ne corrige pas une règle sur une impression. Mesure du 28/09/2026 sur les

188 fichiers .mjs/.js de forge-ia/ :

ce qu'on y trouvenombreen quelle langue
noms de variables et de fonctions4 788français (bilan, resultats, chercher, resoudreCarnet)
chaînes affichées, messages, verdicts~90 % accentuéesfrançais
mots-clés du langage8 957anglais — et non traduisibles
noms de variables anglais (the, get, result)101anglais — ceux-là sont à corriger

⭐ Conclusion de la mesure, et elle est nuancée : le français est déjà la langue de

notre code, pour tout ce qui nous appartient. Les 8 957 occurrences anglaises sont

const, let, function, return, await, catch, console.log — **la grammaire de

JavaScript**. Les traduire casse le programme.

⇒ ⛔ Ce qui manquait n'est pas une correction : c'est une FRONTIÈRE ÉCRITE.

*Sans frontière, chacun juge à sa main — et un agent suivant écrira légitimement

console.log("No results found") sans savoir qu'il vient de sortir du français.*


LA RÈGLE

### Tout ce que nous écrivons est en français. Ce que la machine exige reste tel quel.

✅ EN FRANÇAIS — sans exception

quoipourquoi
Commentairesc'est nous qui parlons
Messages affichés (console.log, erreurs, verdicts)c'est lu par un humain
Noms de fichiers et de dossiersepreuve-rag.mjs, pas rag-test.mjs
Noms de fonctions et de variablesresoudreCarnet(), bilan, extraits
Noms de commitsécrit par nous, lu par nous
Contenu des throwc'est un message, pas un identifiant

⛔ EN ANGLAIS — et ce n'est pas une entorse, c'est une contrainte

catch, throw, class, import, export.

addEventListener, querySelector.

d'environnement, en-têtes HTTP.

⭐ Le test, en une question :

Si je renomme ça, est-ce que quelque chose casse ?

Oui ⇒ c'est de l'anglais, et on n'y touche pas. Non ⇒ c'est à nous, donc en français.


Les faux amis — là où la règle se joue vraiment

⚠️ Trois cas qui ne se tranchent pas au feeling, et où je me suis trompé ou j'ai hésité :

1. Un nom d'API à l'intérieur d'un nom français.

function lireFichier() ✅ — mais fs.readFileSync() dedans reste anglais.

Le nom est à nous, l'appel est à eux.

2. Un identifiant qui vient de la DONNÉE, pas du code.

CARNETS['corpus-studio'] — c'est le nom réel d'une collection.

⛔ On ne le traduit pas : le traduire casse la recherche. Ce n'est pas notre mot.

3. Un terme technique sans équivalent courant.

commit, JSON, GPU, token, prompt, mjs.

✅ AGENTS.md § 6 les autorise explicitement — on les garde tels quels.


Ce qui reste à faire, et ce n'est pas cosmétique

#actionétat
①Cette règle entre dans lois-de-latelier.md — une règle qui vit dans un document isolé ne sera pas lue⬜ à faire
②Corriger les 101 noms de variables anglais repérés dans forge-ia/⬜ à faire, par lots, avec assertion
③Vérifier que le site ne contient aucun libellé anglais visible⬜ à mesurer

⚠️ POURQUOI ② N'EST PAS FAIT TOUT DE SUITE, ET IL FAUT LE DIRE :

renommer une variable dans 188 fichiers est exactement le genre de remplacement

programmatique à l'aveugle que la loi n° 2 interdit sans assertion. *« Un remplacement

sans assertion est un remplacement à l'aveugle »* — payé trois fois en une nuit.

⇒ Ça se fait par lots, avec un test qui passe avant et après, lot par lot.

⛔ Et surtout : renommer ne change aucun comportement. Le bénéfice est la lisibilité.

On ne casse pas un outil qui marche pour une question de style non mesurée.


⭐ La leçon, et elle dépasse la langue

Une règle appliquée mais non écrite n'existe pas.

Le code était en français — à 90 % — mais rien ne le disait. Donc rien ne

l'imposait, et le prochain fichier pouvait partir en anglais sans que personne

puisse dire « c'est une entorse ».

Une règle non écrite ne se transmet pas : elle se réinvente à chaque session.

⚠️ Et le corollaire, qui est la partie honnête : quand on m'a dit « c'est en anglais »,

j'ai d'abord mesuré — et la mesure a dit « c'est déjà en français, sauf ce qui ne peut

pas l'être ». ⛔ Je n'ai pas dit « oui tu as raison » pour faire plaisir.

*Un agent qui acquiesce sans mesurer fabrique une correction inutile — et c'est exactement

le défaut que ce studio a payé cinq fois aujourd'hui.*


← Toutes les analyses · Le site