RATCN : des composants élégants pour construire des interfaces Ratatui
https://ratcn.kristoferlund.se
📌 RATCN est une bibliothèque de composants open source pour les applications terminal écrites avec Ratatui, conçue pour être copiée, adaptée et possédée directement dans le code de votre projet.
Construire une interface terminal ne consiste pas seulement à placer quelques blocs dans une grille. Il faut choisir une hiérarchie, gérer les états, rendre les interactions lisibles et éviter que chaque outil Rust ressemble à une autre console bricolée. RatCN part de cette partie souvent négligée : fournir une base visuelle cohérente avant même d’écrire l’application complète.
Le principe est proche des bibliothèques de composants web que l’on copie dans son projet plutôt que d’importer comme une boîte noire. Les composants sont conçus pour être copiés-collés, thémés et modifiés directement dans une application Ratatui. L’état reste donc du côté de l’application, sans imposer une architecture globale ou une dépendance à un service distant.
Les points qui ressortent :
- 🧱 Des composants prêts à intégrer dans une application Ratatui
- 🎨 Des thèmes personnalisables selon l’identité du projet
- ✂️ Du code que l’on peut copier, modifier et garder dans son dépôt
- 🖥️ Un rendu conçu pour les interfaces terminal modernes
- 🌐 Des previews WebAssembly exécutées directement dans le navigateur
- 🦀 Une base Rust sous licence MIT
La démonstration du site est intéressante parce qu’elle n’est pas une maquette séparée. Les composants affichés sont de vrais composants Ratatui, compilés en WebAssembly et rendus en direct dans le navigateur. Le code présenté doit ensuite fonctionner dans le terminal. Cette continuité évite le piège classique d’une galerie web très jolie qui ne représente pas réellement le rendu final.
RatCN est encore au début de son développement. Le site prévient que l’API va casser, qu’il n’existe pas encore de CLI d’installation et que des composants comme les champs de texte, les zones de texte et les scroll areas sont encore prévus. Le dépôt GitHub se décrit lui-même comme un placeholder pendant la construction de la bibliothèque. Il faut donc le voir comme une direction et une collection de bases à explorer, pas comme une dépendance stabilisée à ajouter sans réfléchir.
Je trouve l’approche pertinente pour les outils terminal qui dépassent le simple affichage de logs : dashboards, clients de serveurs, gestionnaires de tâches ou applications de productivité. Ratatui fournit le moteur de rendu, RatCN peut fournir le vocabulaire visuel. Comme le code reste dans votre application, vous pouvez aussi accepter les changements d’API plus facilement qu’avec une grosse couche abstraite.
Pour l’instant, RatCN s’adresse surtout aux développeurs Rust qui veulent travailler avec une interface terminal plus soignée sans repartir d’une feuille vide. Le projet est jeune, mais la décision de montrer le vrai rendu Ratatui dans le navigateur donne déjà une bonne idée de la direction.
Sources
