{
  "url": "https://unifast.dev/fr/docs/introduction/what-is-unifast/",
  "locale": "fr",
  "title": "Qu'est-ce qu'unifast ?",
  "description": "unifast est un compilateur Markdown et MDX haute performance avec un cœur Rust. Passes intégrées pour GFM, assainissement, coloration syntaxique et table des matières.",
  "section": "introduction",
  "body": "unifast est un compilateur Markdown et MDX haute performance doté d'un cœur Rust. Il couvre les cas d'usage courants de remark/rehype en implémentant ces fonctionnalités directement sous forme de passes intégrées, sans recourir à une compatibilité avec les plugins JS.\n\n### Pourquoi unifast ?\n\nLes chaînes d'outils Markdown traditionnelles comme unified/remark/rehype sont puissantes, mais elles comportent leurs compromis :\n\n- **Surcoût de performance** - Les multiples transformations d'AST JS s'additionnent, particulièrement à grande échelle.\n- **Coordination des plugins** - Ordre d'exécution, compatibilité et redondance entre des dizaines de plugins.\n- **Aucune fonctionnalité intégrée** - Même des tâches basiques comme GFM ou l'assainissement exigent des paquets séparés.\n\nunifast adopte une approche différente :\n\n- **Cœur Rust** - L'analyse, la transformation et l'émission s'effectuent toutes en code natif.\n- **Passes intégrées** - Les fonctionnalités courantes (GFM, assainissement, coloration syntaxique, TOC) sont intégrées, pas ajoutées après coup.\n- **Compilation unique** - Un seul appel compile le Markdown en HTML avec toutes les fonctionnalités appliquées.\n\n### Fonctionnalités clés\n\n| Fonctionnalité | Description |\n|---------|-------------|\n| **CommonMark + GFM** | Tableaux, listes de tâches, texte barré, liens automatiques, notes de bas de page |\n| **Frontmatter** | Extraction de métadonnées YAML, TOML et JSON |\n| **MDX** | Expressions JSX et imports dans le Markdown |\n| **Diagnostics** | Étendues d'erreurs précises avec correspondance ligne/colonne |\n\n### Passes intégrées\n\nLes plugins remark/rehype les plus courants sont réimplémentés sous forme de passes Rust natives. Aucun npm install, aucune prise de tête liée à l'ordre d'exécution.\n\n| Passe | Description |\n|------|-------------|\n| **Assainissement** | Liste blanche HTML fondée sur un schéma, avec des valeurs par défaut sûres |\n| **Coloration syntaxique** | Moteurs interchangeables (syntect, Shiki) |\n| **Table des matières** | Arborescence de titres extraite automatiquement |\n\n### Prise en charge des plateformes\n\nunifast s'exécute sur plusieurs plateformes à partir d'un unique cœur Rust :\n\n- **`@unifast/node`** - Liaison Node.js via N-API (napi-rs). Cible principale.\n- **`@unifast/core`** - Définitions de types TypeScript partagées par tous les paquets.\n- **`unifast` (CLI)** - Interface en ligne de commande pour scripts et CI.\n- **WASM** - Prise en charge des navigateurs et des runtimes edge (cible secondaire).\n\n### Objectifs écartés\n\nunifast n'est **pas** un remplacement immédiat d'unified. Il ne :\n\n- Exécute pas les plugins JS remark/rehype existants au sein du cœur.\n- Fournit pas de compatibilité d'API avec l'écosystème unified.\n- Dépend pas de la résolution de modules de Node dans le chemin de compilation du cœur.\n\nÀ la place, il vise la **complétude des cas d'usage** - en couvrant ce dont la majorité des projets ont besoin, sans la complexité liée à l'assemblage d'une chaîne de plugins.",
  "alternates": [
    {
      "locale": "en",
      "url": "https://unifast.dev/docs/introduction/what-is-unifast/",
      "api": "https://unifast.dev//api/docs/introduction/what-is-unifast.json"
    },
    {
      "locale": "ja",
      "url": "https://unifast.dev/ja/docs/introduction/what-is-unifast/",
      "api": "https://unifast.dev//api/ja/docs/introduction/what-is-unifast.json"
    },
    {
      "locale": "zh-CN",
      "url": "https://unifast.dev/zh-CN/docs/introduction/what-is-unifast/",
      "api": "https://unifast.dev//api/zh-CN/docs/introduction/what-is-unifast.json"
    },
    {
      "locale": "zh-TW",
      "url": "https://unifast.dev/zh-TW/docs/introduction/what-is-unifast/",
      "api": "https://unifast.dev//api/zh-TW/docs/introduction/what-is-unifast.json"
    },
    {
      "locale": "ko",
      "url": "https://unifast.dev/ko/docs/introduction/what-is-unifast/",
      "api": "https://unifast.dev//api/ko/docs/introduction/what-is-unifast.json"
    },
    {
      "locale": "fr",
      "url": "https://unifast.dev/fr/docs/introduction/what-is-unifast/",
      "api": "https://unifast.dev//api/fr/docs/introduction/what-is-unifast.json"
    },
    {
      "locale": "it",
      "url": "https://unifast.dev/it/docs/introduction/what-is-unifast/",
      "api": "https://unifast.dev//api/it/docs/introduction/what-is-unifast.json"
    },
    {
      "locale": "es",
      "url": "https://unifast.dev/es/docs/introduction/what-is-unifast/",
      "api": "https://unifast.dev//api/es/docs/introduction/what-is-unifast.json"
    },
    {
      "locale": "pt-BR",
      "url": "https://unifast.dev/pt-BR/docs/introduction/what-is-unifast/",
      "api": "https://unifast.dev//api/pt-BR/docs/introduction/what-is-unifast.json"
    },
    {
      "locale": "de",
      "url": "https://unifast.dev/de/docs/introduction/what-is-unifast/",
      "api": "https://unifast.dev//api/de/docs/introduction/what-is-unifast.json"
    },
    {
      "locale": "ru",
      "url": "https://unifast.dev/ru/docs/introduction/what-is-unifast/",
      "api": "https://unifast.dev//api/ru/docs/introduction/what-is-unifast.json"
    },
    {
      "locale": "hi",
      "url": "https://unifast.dev/hi/docs/introduction/what-is-unifast/",
      "api": "https://unifast.dev//api/hi/docs/introduction/what-is-unifast.json"
    },
    {
      "locale": "id",
      "url": "https://unifast.dev/id/docs/introduction/what-is-unifast/",
      "api": "https://unifast.dev//api/id/docs/introduction/what-is-unifast.json"
    },
    {
      "locale": "tr",
      "url": "https://unifast.dev/tr/docs/introduction/what-is-unifast/",
      "api": "https://unifast.dev//api/tr/docs/introduction/what-is-unifast.json"
    },
    {
      "locale": "vi",
      "url": "https://unifast.dev/vi/docs/introduction/what-is-unifast/",
      "api": "https://unifast.dev//api/vi/docs/introduction/what-is-unifast.json"
    }
  ]
}
