8 points par GN⁺ 2026-01-13 | 1 commentaires | Partager sur WhatsApp
  • Ferrite est un éditeur de texte basé sur Rust permettant d’éditer rapidement et légèrement des fichiers Markdown, JSON, YAML et TOML
  • Grâce au framework egui, il offre une réactivité de niveau natif et un environnement d’exécution multiplateforme
  • Il prend en charge de nombreuses fonctionnalités, comme la prévisualisation WYSIWYG, le rendu de diagrammes MermaidJS, l’intégration Git et le mode workspace
  • L’ensemble du code Rust et de la documentation du projet a été généré par une IA (Claude d’Anthropic), tandis que l’humain s’est chargé de la revue et des tests
  • Cas concret d’application du développement assisté par IA, le projet montre les possibilités de collaboration entre l’écosystème Rust et le développement avec IA

Présentation de Ferrite

  • Ferrite est un éditeur de texte rapide et léger prenant en charge les fichiers Markdown, JSON, YAML et TOML
    • Écrit en Rust et avec egui, il garantit une réactivité de niveau natif et une exécution multiplateforme
    • Il a été principalement développé et testé sous Windows, mais fonctionne aussi sous Linux et macOS
  • Des binaires précompilés sont disponibles pour Windows, Linux (.deb, tar.gz) et macOS (Intel/ARM)

Développement basé sur l’IA

  • Tout le code Rust, la documentation et les fichiers de configuration de Ferrite ont été écrits par une IA (Claude d’Anthropic)
    • Le développeur s’est chargé de définir l’orientation du produit, des tests et de la coordination du développement avec l’IA
    • Le code est accepté après revue et tests, et le processus de génération par IA est rendu public de manière transparente
  • Le projet vise à explorer les limites et le potentiel du développement assisté par IA

Fonctionnalités principales

  • Prise en charge de la prévisualisation Markdown en temps réel (WYSIWYG) et de la coloration syntaxique
  • Prise en charge de plusieurs formats : Markdown, JSON, YAML, TOML
  • Le Tree Viewer permet d’explorer de manière hiérarchique la structure des fichiers JSON/YAML/TOML et de les modifier en ligne
  • Inclut des fonctions de productivité comme la recherche/remplacement par regex, le déplacement de ligne (Alt+↑/↓) et la duplication de ligne (Ctrl+Shift+D)
  • Propose la fermeture automatique des parenthèses et guillemets, la sauvegarde automatique, le réglage de la largeur de ligne, la minimap et le pliage de code

Rendu de diagrammes MermaidJS

  • Rend nativement 11 types de diagrammes avec MermaidJS
    • Flowchart, Sequence, Pie, State, Mindmap, Class, ER, Git Graph, Gantt, Timeline, User Journey
  • Visualisation directe possible dans la prévisualisation Markdown

Workspace et environnement d’édition

  • Le Workspace Mode permet d’ouvrir des dossiers, de parcourir l’arborescence des fichiers, de basculer rapidement entre les fichiers (Ctrl+P) et d’effectuer une recherche globale (Ctrl+Shift+F)
  • L’intégration Git affiche visuellement l’état des fichiers modifiés, ajoutés ou ignorés
  • La restauration de session permet de récupérer au redémarrage les onglets, la position du curseur et l’état du défilement
  • Le Zen Mode fournit un environnement d’écriture focalisé, et la Split View permet de voir simultanément la source et le rendu

1 commentaires

 
GN⁺ 2026-01-13
Commentaires sur Hacker News
  • J’espérais voir des avancées du côté de Zed, mais ce projet-ci est aussi assez intéressant
    J’utilise beaucoup Obsidian, mais j’aimerais bien voir émerger une vraie alternative centrée sur les fondamentaux
    Je me demande quel est l’objectif final. Je vais suivre ça de près

    • Je développe Hyperclast, et en tant qu’utilisateur d’Obsidian, je me demande si je pourrais avoir ton retour
      Ce n’est pas encore prêt pour un Show HN, mais j’aimerais recueillir des retours précoces
    • L’objectif final est de créer un éditeur Markdown rapide et natif
      Une application qui se lance instantanément, sans Electron ni technologies web ; dans la v0.3.0, Mermaid sera séparé dans une crate distincte, et je prévois de créer un widget personnalisé pour dépasser les limites de TextEdit d’egui
      À long terme, l’objectif est d’en faire une bibliothèque d’éditeur headless basée sur Rust
      Voir ROADMAP.md pour plus de détails
    • Je me demande si Obsidian est construit avec Electron
  • Le fait que Ferrite ait été principalement développé et testé sous Windows est intéressant
    Ces derniers temps, les utilisateurs de Windows avaient l’impression d’être des citoyens de seconde zone, donc c’est appréciable
    En revanche, j’ai été un peu surpris en voyant la mention « ce projet est composé à 100 % de code généré par l’IA »
    Cela dit, j’apprécie l’honnêteté de l’avoir indiqué

    • En réalité, cette mention de l’usage de l’IA a été ajoutée aujourd’hui
      Apparemment, elle n’a été ajoutée qu’après que certains utilisateurs ont reproché que l’usage de l’IA avait été dissimulé
  • J’aimerais faire un peu de pub pour mon app Octarine
    C’est une app de notes Markdown façon WYSIWYG écrite en Rust(Tauri), qui stocke toutes les données en local
    Ce n’est pas du « vibe coded » :)

    • Ça a l’air vraiment chouette. Je suis en train de la télécharger
  • Ces temps-ci, il y a de plus en plus de contenu généré par l’IA sur HN, et ce post semble lui aussi rempli de code et de commentaires générés par l’IA

    • Je me demande pourquoi ce post n’a pas été critiqué comme les autres posts liés à l’IA
      C’est probablement parce qu’il touche bien à des sujets populaires
    • J’avais raté la mention « généré à 100 % par l’IA », et après l’avoir vue, je suis passé instantanément de « génial » à « je n’ai pas envie d’y toucher »
  • Le texte de la capture d’écran est si petit qu’il faut presque une loupe
    Il vaudrait mieux faire des captures ni trop grandes ni trop petites, de façon à ce que le contenu reste bien lisible
    En particulier en haute résolution, trop d’espace vide finit au contraire par nuire à la lisibilité

    • Merci pour le retour ! La remarque est tout à fait juste
      La capture ayant été prise en haute résolution, elle était difficile à lire sur les petits écrans
      Je vais réduire la taille de la fenêtre et les marges, puis refaire les captures
  • J’ai volontiers payé pour Typora
    Il ne prend en charge que Markdown, mais il y a encore beaucoup de potentiel dans cet espace
    Surtout aujourd’hui où les LLM génèrent beaucoup de texte structuré et de diagrammes

    • Typora est excellent. Ferrite vise un niveau de finition similaire, mais propose une intégration de Mermaid, un visualiseur arborescent JSON/YAML/TOML, ainsi qu’une fonctionnalité de pipeline intégrée au shell
      Et en plus, c’est open source
    • Je trouve que les 15 dollars de Typora sont un peu chers au vu des fonctionnalités
    • J’aime particulièrement la fonction de création automatique de dossiers média de Typora
  • Il est rare de voir un projet egui qui ne donne pas autant cette impression de style propre à egui
    Je serais curieux de savoir comment s’est passée l’expérience de travail avec egui

    • egui est excellent pour le prototypage
      Son mode immédiat simplifie la gestion de l’état
      En revanche, TextEdit n’est pas conçu pour un éditeur de code, donc il ne gère ni le multi-curseur ni le pliage de code
      C’est pourquoi il sera remplacé par un widget personnalisé dans la v0.3.0
      Quant au fait que le thème par défaut soit trop « egui », cela a été corrigé avec un thème personnalisé
    • Claude Code aurait probablement préféré React
  • Je suis content de voir l’usage d’un rendu Markdown natif
    C’est bien mieux que d’autres bibliothèques qui lancent Chromium pour prendre des captures d’écran

    • En revanche, le rendu natif peut entraîner des écarts de mise en page avec mermaid.js
      À l’export ou au partage, il est possible que le rendu soit différent
    • C’est une remarque juste. Ce n’est pas parfaitement identique, mais les avantages sont la vitesse et l’absence de JS
      À l’intérieur de Ferrite, cela ne pose pas de problème, et pour le partage, une fonctionnalité d’export SVG sera ajoutée dans la v0.3.0
  • Je me demande pourquoi la configuration et les instructions pour l’agent IA ont été retirées du dépôt (voir .gitignore)

    • Bonne remarque. Il est vrai que Claude a été d’une grande aide dans le développement
      Mais les fichiers de configuration IA ne sont pas nécessaires au projet, donc ils ont été exclus
      Je vais ajouter dans le README une mention indiquant que de l’aide de l’IA a été utilisée
      Le code a été revu avant intégration, il n’a pas été accepté sans recul
    • Le projet donne une impression de « vibe coded »
      Il n’y a que 10 commits, et certains sont remplis de documents markdown bourrés d’emojis
    • Quand un développeur ne divulgue pas l’usage de l’IA, cela ressemble à un signal d’alerte sur la confiance
  • Si le parsing et la mise en page de Mermaid étaient séparés dans une crate distincte, ce serait utile
    Ce serait bien d’avoir un outil CLI rapide capable de produire du SVG/PDF/PNG

    • C’est exactement ce qui est prévu pour la v0.3.0
      Le moteur de rendu Mermaid d’environ 7 000 lignes sera extrait dans une crate indépendante, avec prise en charge de la sortie SVG/PNG et d’un CLI
      Écrit en pur Rust, il pourra aussi être compatible WASM. J’espère que cela vous intéressera