Rebienvenue chers lecteurs! Comme promis, dans ce deuxième article de blog, nous allons discuter de l'histoire de TUI et Ratatui, de la manière dont ils ont été utilisés auparavant ainsi que de leur utilisation actuelle en utilisant des projets Ratatui comme exemples. Alors, commençons!
L'histoire des TUI et de Ratatui
Les interfaces utilisateur graphiques n'ont pas toujours existé. À une époque où les GUI n'étaient encore qu'un rêve, les logiciels et les systèmes d'exploitation interagissaient avec l'utilisateur en mode texte en saisissant des commandes. Les ordinateurs fonctionnaient principalement donc avec des interfaces utilisateur textuelles pour permettre une interaction intuitive (1). Afin de faciliter cette interaction, les GUI ont été donc créées.
Les premières interfaces utilisateur textuelles étaient très simples et géniales. Elles étaient basées sur des caractères ASCII, notamment ceux utilisés pour dessiner des lignes (2). Les caractères affichés à l'écran étaient stockés dans la RAM. À cette époque, la RAM était très chère (3). Ainsi, la manière dont tout était affiché a été optimisée en utilisant non pas des images mais des caractères où chaque caractère était représenté par un code, comme un nombre trouvé dans les tables ASCII.
Cette manière a persisté jusqu'à l'arrivée de Ratatui. Ratatui, anciennement connu sous le nom de tui-rs, tel que mentionné dans le blog précédent, a été créé par Florian Dehau en 2016. tui-rs était la librairie la plus utilisée pour la création de TUI dans l'écosystème Rust et a été maintenue jusqu'en 2022. Ainsi, en 2023, la communauté tui-rs l'a rebaptisé Ratatui (4).
Les utilisation passées des TUI
Comme mentionné, les TUI étaient omniprésents dans les premiers systèmes. Dans les années 70 et 80, les intefaces en lignes de commande, à ne pas mélangé avec les TUI, étaient principalement utilisés dans des systèmes d'exploitation comme UNIX et MS-DOS.
Dans le domaine du développement, on a par exemple largement adopté les éditeurs de texte comme Vi (1976) et Emacs (1985). Ces deux éditeurs ont marqué leur époque et sont encore utilisés aujourd'hui comme on peut le constater avec Vim (Vi IMporved), une amélioration de Vi (5). Les TUI ont également joué un rôle dans les logiciels d'entreprise, qui sont des applications destinées à répondre aux besoins des entreprises. Ces logiciels étaient souvent utilisés pour la gestion des stocks, la comptabilité, la banque et bien d'autres secteurs.
L'évolution et l'utilisation moderne
Les TUI sont encore largement utilisés, dans les mêmes raisons qu'au cours des années 70 et 80, dans des situations où une GUI serait trop couteuse et trop complexe pour le besoins. Les TUI d'aujourd'hui sont élégants, modernes et facile à personnaliser. En raison de leur performance supérieure et une faible consommation de ressources, les TUI sont parfaits pour les applications serveurs et les outils d'administration.
Voici quelques exemples d'utilisation:
- Outils de développement: Neovim, Emacs et tmux, un programme qui permer de diviser votre terminal en plusieurs panneaux.
- Gestionnaires de fichiers: Ranger et Tere.
- Git et le contrôle de version: Lazygit et Gitui
Aujourd'hui, grâce à la popularité croissante de Rust, Ratatui est reconnu pour son approche moderne de la création d'interfaces utilisateur personnalisées. Récemment, de nombreuses applications basées sur le terminal et des adaptations d'applications existantes comme Postman, Stack Overflow et Spotify ,utilisant l'interface TUI, ont été publiées. Ces applications offrent désormais une alternative moins coûteuses à utiliser que leurs versions original basées sur le GUI.
Conclusion
Les TUI, considérés une technologie de passé, évoluent et répondent au besoins modernes. Ratatui symbolise le renouveau du TUI en proposant des approches modernes qui permettent de créer des outils à la fois élégants et moins coûteux
À venir la semaine prochaine
Maintenant que la théorie est terminée, il est temps de s'attaquer à Ratatui, vous ne pensez pas? Bonne nouvelle! Au cours des prochaines semaines, nous allons construire une machine à sous très simple pour vous montrer les bases de l'interaction des données avec les widgets Ratatui et comment créer ces widgets.
Références
-
WIKIPEDIA, Text-based user interface, https://en.wikipedia.org/wiki/Text-based_user_interface (Page consultée le 4 février 2025).
-
WIKIPEDIA, Box-drawing characters, https://en.wikipedia.org/wiki/Box-drawing_characters (Page consultée le 4 février 2025).
-
TOASTY TECH, Text Mode User Interfaces, http://toastytech.com/guis/text.html (Page consultée le 4 février 2025).
-
YOUTUBE, Introducing Ratatui: A Rust library to cook up terminal user interfaces — FOSDEM 2024, https://www.youtube.com/watch?v=NU0q6NOLJ20 (Page consultée le 4 février 2025).
-
Steven MELENDEZ, « Why Vim, AN '80s Text Editor, Is Still The UI Of Choice For Power Users », Fast Company, https://www.fastcompany.com/3037629/why-vim-an-80s-text-editor-is-still-the-ui-of-choice-for-power-users (Page consultée le 5 février 2025).
Commentaires