| name | french-developer-style |
| description | French technical-prose conventions for software documentation, README files, UI strings, error messages, logs, code comments, PR descriptions, changelog entries, and French localization. Use when writing, editing, translating, or reviewing French software-facing prose. Defaults to fr-FR, supports fr-CA mode, and focuses on clear natural French, technical precision, terminology consistency, and avoiding over-translated or LLM-like phrasing. |
Style français pour le texte développeur
Cette compĂ©tence sâapplique Ă la prose française destinĂ©e Ă des dĂ©veloppeurs ou Ă des utilisateurs de produits
logiciels : documentation et README, commentaires de code et docstrings, messages de commit, descriptions de PR,
changelog, chaĂźnes dâinterface, messages dâerreur et journaux, fichiers de localisation (.po, .properties, JSON
i18n, .ftl, .arb). La longueur ne compte pas : un msgstr dâune ligne, un commentaire // FIXME : ⊠et un
README complet passent par la mĂȘme grille de lecture.
Lâobjectif nâest ni le marketing, ni le SEO, ni lâĂ©vasion dâun dĂ©tecteur dâIA. Il sâagit dâĂ©crire un français clair,
naturel et techniquement prĂ©cis, sans calques de lâanglais, sans tournures administratives et sans tics de modĂšle
de langage.
1. Quand appliquer cette compétence
Activez la compétence dÚs que la tùche concerne du texte français orienté logiciel, quel que soit son volume.
Actions déclenchantes :
- Création : nouvelles pages, README, commentaires, messages de commit, descriptions de PR, changelog, chaßnes
dâinterface, messages dâerreur ou de journal.
- Traduction et localisation : depuis ou vers le français ; édition des fichiers
.po, .pot, .properties,
.resx, JSON i18n, Fluent, ARB.
- Réécriture : reprise dâun brouillon LLM avant commit (usage principal), retouche dâune prose humaine.
- Relecture et vérification : « vérifie la formulation », « est-ce naturel ? », « rends ça moins traduit »,
« relis les messages dâerreur », « audite le changelog », « contrĂŽle les docstrings par rapport au code ».
Pour les surfaces couvertes et les non-dĂ©clencheurs, voir le fichier dâinstructions du paquet.
Quand charger les modules et références :
2. Variante linguistique et registre
Par dĂ©faut : fr-FR, vouvoiement, prĂ©sent de lâindicatif, registre technique sobre.
Passez en fr-CA quand lâune de ces conditions est vraie : lâutilisateur le demande explicitement ; un chemin
contient fr_CA ou fr-CA ; la configuration de locale liste fr-CA ; le texte voisin utilise déjà courriel,
clavardage, pourriel, magasiner, balado ; le dépÎt cible un public canadien ou québécois. Détails dans
modules/fr-ca-overrides.md.
Pour fr-BE et fr-CH, suivez fr-FR sauf glossaire interne contraire. Nâintroduisez pas septante, huitante ou
nonante si rien ne les utilise déjà .
Tutoyez (tu) uniquement Ă la demande explicite de lâutilisateur ou si la voix du produit lâimpose. Ne mĂ©langez
jamais tu et vous dans un mĂȘme texte.
3. Voix par défaut
- Sobre, technique, sans emphase marketing. Pas dâadjectifs vendeurs (« puissant », « robuste », « innovant »,
« intuitif »), pas de points dâexclamation hors des journaux applicatifs.
- Direct et prĂ©cis. Une idĂ©e par phrase, viser 20â25 mots. SujetâverbeâcomplĂ©ment ; on garde la voix passive
quand lâacteur est inconnu ou sans intĂ©rĂȘt.
- GenrĂ© le moins possible. PrĂ©fĂ©rez une reformulation neutre Ă
connecté(e) ou au point médian. Exemples :
- Préférer : « La connexion est établie. »
- Ăviter quand possible : « Vous ĂȘtes connectĂ©. » ou « Vous ĂȘtes connectĂ©(e). »
- Titres au substantif quand le contenu est descriptif :
Configuration du cache plutĂŽt que
Configurer le cache, sauf tutoriel franchement procédural.
- Présent par défaut. « Le gestionnaire réessaie trois fois », pas « réessaiera ».
4. RÚgles de réécriture des brouillons LLM
Les patrons ci-dessous ne sont pas interdits : ils sont des signaux. Trois ou quatre dans un mĂȘme paragraphe et
celui-ci doit ĂȘtre réécrit.
- Connecteurs vides :
ainsi, de plus, par ailleurs, en outre, cependant, néanmoins, en effet,
par conséquent. Gardez-les seulement quand ils marquent une vraie relation logique.
- Préambules de signalement :
il est important de noter que, il convient de noter que, force est de constater,
il est Ă noter que. Ă supprimer presque toujours.
- Cadres élégants creux :
dans cette optique, Ă lâaune de, sâinscrit dans, joue un rĂŽle clĂ©, constitue,
représente. à remplacer par un verbe précis.
permet de vide : cette fonction permet de retourner X â cette fonction retourne X. Gardez permet de
uniquement sâil introduit une vraie capacitĂ©.
- Doublets synonymiques :
simple et intuitif, robuste et fiable, rapide et performant â gardez un seul
qualificatif, ou aucun.
- Triplets forcés :
rapide, efficace et fiable â coupez.
- Parallélisme négatif :
Ce nâest pas X, câest Y â ne gardez que ce que vous affirmez vraiment.
- Verbes pseudo-formels :
effectuer une mise Ă jour â mettre Ă jour ; procĂ©der Ă â verbe direct ;
disposer de â avoir ; sâavĂ©rer â ĂȘtre.
- Conclusion générique :
En conclusion, ⊠; paragraphe final qui résume sans ajouter. Supprimez.
- Posture didactique :
Dans cet article, nous allons voirâŠ, Comme nous lâavons mentionné⊠â entrez dans le sujet.
- Liste de puces ouvertes en gras + deux-points pour chaque item, sans nécessité : la mise en forme
Terme : prose
nâa sa place que pour de vraies paires terme/dĂ©finition.
- Catalogue détaillé : voir
references/ai-tics-checklist.md.
5. Anglicismes, faux amis et calques
Trois niveaux Ă distinguer.
à corriger systématiquement (anglicismes sémantiques) :
faire du sens â avoir du sens ;
adresser un problĂšme â traiter, rĂ©soudre, prendre en charge ;
supporter X au sens to support â prendre en charge X, gĂ©rer X ;
assumer au sens to assume â supposer ;
dĂ©finitivement au sens definitely â certainement, vraiment ;
opportunitĂ© au sens occasion â occasion ;
digital au sens logiciel â numĂ©rique ;
basĂ© sur (calque structurel) â fondĂ© sur, reposant sur, Ă partir de ;
en termes de (souvent vide) â reformuler avec pour, cĂŽtĂ©, ou supprimer.
à vérifier selon le contexte :
librairie â bibliothĂšque pour les bibliothĂšques de code, sauf si le projet utilise dĂ©jĂ librairie.
Ă©ventuellement ne veut pas dire eventually : utiliser peut-ĂȘtre, le cas Ă©chĂ©ant, ou finir par selon le sens.
permet de peut ĂȘtre correct sâil introduit une vraie capacitĂ© ; vide, Ă remplacer par un verbe.
Ă laisser en anglais sauf glossaire de projet contraire :
pull request, merge request, commit, branch, rebase, cherry-pick ;
endpoint, framework, middleware, cache, debug, front-end, back-end, pipeline, runtime, linter,
parser, tooling.
Découpage régional (détails dans le module fr-CA) :
- fr-FR :
e-mail ou courriel ; éviter mél. fr-CA : courriel.
- fr-FR :
spam. fr-CA : pourriel si le style du projet le permet.
- fr-FR :
cookie. fr-CA : cookie aussi ; témoin seulement si déjà utilisé.
login (verbe) â se connecter ; fr-CA tolĂšre ouvrir une session.
issue â ticket, problĂšme, ou issue selon le contexte GitHub/Jira.
Glossaire de démarrage : references/glossary-fr.tsv. Un glossaire de projet
existant prime toujours sur la compétence.
6. Typographie française à préserver
Lâintention reste dans la compĂ©tence ; lâapplication mĂ©canique revient aux outils (voir section 11).
- Espace insécable avant
;, :, !, ?, %, et entre le chiffre et son unité (3 Go, 10 ms).
- Guillemets français en prose :
« ⊠», avec espaces insĂ©cables Ă lâintĂ©rieur.
- Capitales accentuées :
Ă propos, Ătat, Ăchec, Ăvolution, Ăle. Jamais A propos.
- Tiret cadratin pour les incises, demi-cadratin pour les plages numériques (
pages 10â20), trait dâunion pour les
mots composés (base de données, clé en main).
- Apostrophe typographique
â en prose ; apostrophe droite ' dans le code ou la syntaxe.
Ne jamais appliquer la typographie française Ă lâintĂ©rieur de :
- blocs de code, code inline, URL, chemins de fichier ;
- commandes CLI, variables dâenvironnement, drapeaux ;
- JSON, YAML, TOML (clés et valeurs), expressions réguliÚres ;
- chaĂźnes ICU MessageFormat, chaĂźnes Fluent ;
- liens Markdown (cible), identifiants dâAPI.
PrĂ©servez les guillemets droits lĂ oĂč la syntaxe lâexige. DĂ©tails et exemples :
references/typography-cheatsheet.md.
7. ChaĂźnes UI et localisation
Boutons et actions de menu : infinitif, sans ponctuation finale.
Save â Enregistrer ; Delete â Supprimer ; Export â Exporter.
Phrases complÚtes (confirmations, descriptions) : impératif ou indicatif, ponctuation finale normale.
This will overwrite your changes. â Cette action Ă©crasera vos modifications.
Are you sure you want to delete this file? â Voulez-vous vraiment supprimer ce fichier ?
Titres de boĂźte de dialogue et de section : substantif, sans point.
Settings â ParamĂštres ; Cache configuration â Configuration du cache.
Ăvitez :
Cliquez ici ou Cliquez pour ⊠sur les boutons ;
Oups !, DĂ©solĂ©, points dâexclamation hors logs ;
- les possessifs calqués :
Contact your administrator â Contactez lâadministrateur plutĂŽt que
Contactez votre administrateur ; gardez le possessif sâil lĂšve une vraie ambiguĂŻtĂ© ;
- les titres en
-ing rendus mot pour mot : Configuring the cache â Configuration du cache, pas
Configurant le cache.
Pour le pluriel et les variables, voir modules/ui-strings.md et
references/icu-fluent-placeholders.md.
8. Erreurs et journaux
Messages utilisateur â patron :
- ce qui a échoué ;
- pourquoi, si la cause est connue et utile ;
- ce que la personne peut faire.
Forme canonique : Impossible de <action>. <Cause ou recours.>
- Faible :
Une erreur est survenue.
- Meilleur :
Impossible dâenregistrer le fichier. VĂ©rifiez que vous disposez des droits dâĂ©criture.
- Faible :
Vous avez saisi une valeur incorrecte.
- Meilleur :
La valeur nâest pas valide. Indiquez un port entre 1 et 65535.
Ă proscrire : Oups, DĂ©solĂ©, excuses, blĂąme de lâutilisateur, traces de pile dans le message visible, formulations
floues du type Erreur lors de lâopĂ©ration.
Journaux développeur : pas de vouvoiement, pas de politesse. Phrases techniques courtes, identifiants
structurés (request_id, user_id, trace_id) hors du texte. Le niveau (INFO, WARN, ERROR) doit coller au
ton.
9. Commentaires de code et documentation API
Commentaires : expliquez pourquoi, pas quoi. Un commentaire qui paraphrase la ligne suivante est Ă
supprimer. Mentionnez les invariants, les effets de bord, les piÚges, les contournements de bug, les unités et la
sĂ©curitĂ© des accĂšs concurrents. NâĂ©crivez pas un long commentaire pour dĂ©corer un nom dĂ©jĂ clair.
Identifiants : ne traduisez jamais les noms de fonctions, classes, variables, fichiers, drapeaux CLI, en-tĂȘtes
HTTP, variables dâenvironnement. En prose française, mettez-les en code inline et ne les dĂ©clinez pas
(la fonction getUser, pas le getUser).
Docstrings (Javadoc / KDoc / TSDoc / docstrings Python / doc-comments Rust) :
- premiÚre phrase courte au présent, à la troisiÚme personne implicite :
Retourne lâidentifiant de session.
- ensuite : paramĂštres, valeur de retour, exceptions, conditions de version ;
- préservez les noms de paramÚtres et types exactement.
Documentation API : présent neutre, vocabulaire précis. Ne reformulez pas un terme technique pour faire
« plus naturel » si vous perdez la précision.
10. Messages de commit et descriptions de PR
Message de commit : suivez Conventional Commits, au format type(scope): résumé. Le résumé reste court
(†72 caractĂšres), sans point final, et garde un mode verbal cohĂ©rent dans tout le dĂ©pĂŽt (souvent lâinfinitif en
français : ajouter, corriger, supprimer). AprÚs une ligne vide, le corps explique pourquoi le changement était
nĂ©cessaire et signale ce qui nâest pas Ă©vident : risque de migration, compromis de performance, incident liĂ©.
Référencez les tickets par identifiant ; ne paraphrasez pas le diff.
Description de PR : trois sections courtes, dans cet ordre : Pourquoi (le problÚme ou la contrainte qui a imposé
le changement), Quoi (le changement, en un paragraphe ou une liste), Comment vérifier (commandes, captures, noms
de tests). Commencez par la motivation : le reste se lit Ă la lumiĂšre de la cause. Signalez explicitement les
ruptures de compatibilité, les migrations et le travail restant. Le relecteur ne devrait pas avoir à lire le diff pour
dĂ©cider sâil doit sây plonger.
11. Ce qui relĂšve des linters ou du glossaire
La compétence porte le jugement. Les outils portent la mécanique.
à déléguer aux outils :
- orthographe, accords, doublons (LanguageTool fr, Grammalecte, Hunspell/Dicollecte) ;
- typographie : guillemets, espaces insécables, capitales accentuées (Vale, scripts spécifiques) ;
- terminologie produit et glossaire (Vale +
references/glossary-fr.tsv) ;
- intégrité des placeholders et des messages ICU/Fluent (scripts dédiés, jamais Vale) ;
- longueur de phrase et listes de mots interdits.
Pack Vale de démarrage : linter/. Détails :
linter/vale-fr-tech/README.md.
12. Checklist finale
Ă passer en quelques secondes avant le commit.
- Locale : fr-FR ou fr-CA cohérent dans tout le fichier ?
- Voix unique :
vous partout, ou tournures impersonnelles, jamais les deux ?
- Phrases > 25 mots justifiées ?
- Connecteurs vides (
ainsi, de plus, par ailleurs) supprimés ou justifiés ?
- Anglicismes (
faire du sens, adresser, supporter, basé sur) traités ?
- Boutons Ă lâinfinitif, sans point ?
- Possessifs calqués (
votre administrateur) retirés quand sans ambiguïté ?
- Erreurs :
Impossible de ⊠. <Cause ou recours.> ?
- Identifiants et chemins en
code inline, non traduits, non déclinés ?
- Placeholders intacts (
{name}, %s, {0}, {$count}) ?
- Pluriel ICU/Fluent en
one / other (pas de zero/two/few/many inventés) ?
- Typographie absente du code, des URL, du JSON, du YAML, des regex ?
13. Quand enfreindre une rĂšgle
Une rĂšgle qui dĂ©grade le texte ne sâapplique pas. En particulier :
- la voix passive est correcte quand lâacteur est inconnu ou sans intĂ©rĂȘt ;
- une phrase longue est lĂ©gitime quand la pensĂ©e lâest ;
- un connecteur (
cependant, en effet) reste utile quand il marque une vraie articulation logique ;
permet de est juste quand il introduit une capacité réelle ;
- le tutoiement et un ton plus chaleureux peuvent ĂȘtre imposĂ©s par la voix du produit ;
- un terme officiel (FranceTerme, OQLF) peut sâĂ©carter de lâusage dĂ©veloppeur rĂ©el : suivez lâusage du dĂ©pĂŽt.
Choisissez lâexception consciemment, pour le lecteur. Glisser dans une habitude personnelle nâen est pas une.