Code Formatting

Prettier

Prettier est le formateur de code opinioné qui met fin aux débats de style. Il analyse votre code et le réimprime de manière cohérente, pour que plus personne ne se dispute sur les espaces, les guillemets ou les points-virgules.

beginner12 min readUpdated 15 sept. 2026
.prettierrc
json
// .prettierrc
{
  "semi": true,
  "singleQuote": false,
  "trailingComma": "all",
  "printWidth": 100,
  "arrowParens": "always"
}
Qu'est-ce que c'est
Un formateur opinioné
Approche
Analyse et réimpression
Config
Quelques options
Langages
JS, TS, CSS, HTML, JSON, MD
CI
--check échoue en cas de diff
Éditeurs
Format on save

Pourquoi c'est important

Pourquoi Prettier met fin aux disputes

Un style cohérent

Chaque fichier a la même apparence, peu importe qui l'a écrit, ce qui rend les diffs plus courts et les revues de code plus rapides.

Plus de débats de style

Le formateur décide. Les équipes cessent de perdre du temps en revue de code sur les espaces, les guillemets et les retours à la ligne.

S'exécute partout

Formatez depuis la CLI, à la sauvegarde dans votre éditeur, via un hook de pre-commit ou comme vérification en CI.

Le tableau complet

Les trois piliers de Prettier

Un analyseur, un imprimeur déterministe et un petit ensemble d'options. Le formatage est décidé une fois pour toutes et appliqué partout.

L'analyseur (parser)

Lire

Comprend la syntaxe de chaque langage supporté et construit un arbre syntaxique.

L'imprimeur (printer)

Formater

Réimprime l'arbre avec une mise en page déterministe, en ignorant vos espaces blancs originaux.

La configuration

Options

Une poignée d'options et des fichiers d'exclusion contrôlent les rares décisions qui vous restent.

Prettier en un coup d'œil

Le cœur de Prettier

.prettierrc

Un petit fichier de config pour les options que vous souhaitez réellement modifier.

prettier --write

Formate les fichiers directement depuis la ligne de commande.

prettier --check

Échoue si un fichier n'est pas formaté, idéal pour la CI.

Intégration éditeur

Format on save pour que les fichiers soient toujours formatés pendant que vous travaillez.

eslint-config-prettier

Désactive les règles ESLint qui entreraient en conflit avec Prettier.

.prettierignore

Ignore les fichiers de build, les fichiers générés et les dépendances.

Un bref aperçu

Le formateur qui a résolu le problème du style

  1. 2017

    Sortie de Prettier

    James Long introduit un formateur opinioné qui réimprime le code à partir de son AST.

    17
  2. 2018

    Adoption massive

    Prettier devient un standard dans les projets JavaScript, TypeScript, CSS et markdown.

    18
  3. 2020

    Prettier 2

    Nouveaux réglages par défaut et meilleur support de TypeScript et JSX.

    20
  4. 2023

    Prettier 3

    Priorité à ESM, plugins asynchrones et performances améliorées.

    23
  5. Aujourd'hui

    Le standard du formatage

    Utilisé par la plupart des équipes et intégré dans de nombreux scaffolds de frameworks.

    Aujourd'hui

Le guide complet

Prettier: Tout ce que vous devez savoir

Qu’est-ce que Prettier ?

Prettier est un formateur de code opinioné. Il analyse votre code pour le transformer en arbre de syntaxe, puis le réécrit avec une mise en page déterministe, en ignorant les espaces blancs que vous avez saisis. Le résultat dépend uniquement de la structure du code et d’un petit ensemble d’options, ce qui garantit qu’une même entrée produira toujours la même sortie.

Ce déterminisme est tout l’intérêt de l’outil. Les débats sur le style disparaissent car c’est le formateur qui décide, et non l’équipe. Les diffs se concentrent sur les changements réels plutôt que sur des modifications d’espacement, et les relecteurs peuvent consacrer leur temps à la logique et à la conception. Prettier est l’un des rares outils qui réduit concrètement les frictions au sein d’une base de code.

Configuration

Prettier fonctionne sans aucune configuration, mais vous pouvez définir quelques options dans .prettierrc.

{
  "semi": true,
  "singleQuote": false,
  "trailingComma": "all",
  "printWidth": 100,
  "tabWidth": 2,
  "arrowParens": "always"
}

Ce sont les options les plus couramment modifiées par les équipes. Au-delà de celles-ci, Prettier prend les décisions. Moins vous définissez d’options, plus le résultat sera cohérent d’un projet à l’autre et moins vous aurez de maintenance à effectuer.

Exécuter Prettier

Formatez vos fichiers directement ou vérifiez-les sans modifier le contenu.

npx prettier --write .
npx prettier --check .
npx prettier --write src/app.tsx

--write reformate et sauvegarde les fichiers ; --check signale les fichiers qui seraient modifiés et renvoie un code de sortie non nul, ce qui est exactement ce dont la CI a besoin. Ajoutez un script pour que les commandes soient cohérentes.

{
  "scripts": {
    "format": "prettier --write .",
    "format:check": "prettier --check ."
  }
}

Ignorer des fichiers

.prettierignore liste les chemins à ignorer, en utilisant la même syntaxe que .gitignore.

dist
coverage
pnpm-lock.yaml
*.generated.ts

Il est important d’ignorer les fichiers de build et les fichiers générés : les formater crée du bruit qui sera écrasé lors du prochain build, et cela peut même casser la génération de code qui attend une structure spécifique.

Intégration à l’éditeur

Installez l’extension Prettier pour votre éditeur et activez le formatage à l’enregistrement (format on save). C’est là que Prettier est le plus rentable : vous ne vous souciez plus jamais du formatage, et chaque enregistrement laisse le fichier propre. Cela signifie également que vous pouvez utiliser --check en CI en toute confiance, car le formatage s’effectue en continu plutôt que lors d’un grand nettoyage final.

Travailler avec ESLint

Prettier et ESLint ont des règles de style qui se chevauchent, et s’ils sont laissés tels quels, ils entreront en conflit. La solution standard consiste à laisser Prettier gérer le formatage et à désactiver les règles ESLint conflictuelles.

// eslint.config.js
import js from "@eslint/js";
import prettier from "eslint-config-prettier";

export default [js.configs.recommended, prettier];

eslint-config-prettier désactive toutes les règles ESLint qui pourraient entrer en conflit avec Prettier, permettant ainsi à ESLint de se concentrer sur la qualité du code et à Prettier sur la mise en page. Si vous souhaitez que les problèmes de formatage apparaissent comme des erreurs de linting, eslint-plugin-prettier exécute Prettier en tant que règle, bien que de nombreuses équipes préfèrent garder les deux séparés.

Hooks de pré-commit

Le formatage avant un commit permet de garder la CI au vert et l’historique propre.

{
  "lint-staged": {
    "*.{js,jsx,ts,tsx,css,md}": "prettier --write"
  }
}

Combiné à un exécuteur de hooks tel que husky, cela permet de formater uniquement les fichiers indexés (staged), afin que les commits restent rapides. C’est une petite configuration qui permet d’éviter toute une catégorie de commentaires de revue de code concernant le “code non formaté”.

Le rôle de Prettier

Prettier s’occupe uniquement du formatage. Il ne détecte pas les bugs, n’impose pas de types et ne vérifie pas les imports — ces tâches incombent à ESLint et au vérificateur de types. Une chaîne d’outils saine utilise les trois : Prettier pour la mise en page, ESLint pour la qualité et TypeScript pour les types. Chacun a un rôle précis, et aucun n’entre en conflit avec les autres.

Bonnes pratiques

  • Acceptez les valeurs par défaut, à moins que votre équipe n’ait une raison valable d’en modifier une.
  • Commitez un .prettierrc pour que chaque éditeur et chaque exécution CI soient synchronisés.
  • Ajoutez .prettierignore pour les sorties de build et les fichiers générés.
  • Configurez le formatage automatique à la sauvegarde dans l’éditeur.
  • Exécutez --check dans la CI et --write via un hook de pre-commit.
  • Désactivez les règles ESLint conflictuelles avec eslint-config-prettier.
  • Gardez la liste des options courte.

Erreurs courantes

  • Laisser ESLint et Prettier formater le code simultanément, ce qui crée des conflits.
  • Formater des fichiers générés, ce qui pollue les diffs.
  • Sauter la vérification CI, permettant ainsi la fusion de code non formaté.
  • Modifier les options par projet sans raison valable, nuisant à la cohérence entre les projets.
  • Exécuter Prettier sur l’ensemble du repo via un hook de pre-commit, ce qui ralentit les commits.
  • Utiliser Prettier pour imposer des règles sémantiques qui relèvent de ESLint.

Et après ?

Prettier élimine toute une catégorie de tâches répétitives et fastidieuses. Associez-le à ESLint pour la qualité du code, à TypeScript pour la sécurité du typage, et intégrez les deux à votre projet Vite ainsi qu’à votre CI. Configurez ensuite le formatage automatique à la sauvegarde (« format on save ») et ne vous souciez plus jamais des espaces.

Répartition des responsabilités

Laissez Prettier formater et ESLint détecter les bugs. Désactiver les règles stylistiques d'ESLint évite que deux outils ne se battent pour le même code.

Préférer
// eslint.config.js
import prettier from
  "eslint-config-prettier";

export default [
  js.configs.recommended,
  prettier,
];
Éviter
// ESLint stylistic rules and
// Prettier both rewrite the
// same lines and disagree

Imposer le formatage

Vérifiez le formatage en CI pour empêcher la fusion de code non formaté. Un hook de pre-commit permet de le détecter encore plus tôt.

Préférer
# CI
npx prettier --check .

# before commit
npx prettier --write .
Éviter
# no check at all, so
# formatting drifts and
# diffs fill with noise

FAQ

Foire aux questions

Keep learning

Related topics from the roadmap.

$ commencer à apprendre

Prêt à apprendre Prettier ?

Notre tutoriel interactif vous guide à travers Prettier pas à pas — avec des quiz et du vrai code que vous pouvez exécuter dans le navigateur.