Quand le terminal dévore la UI : TUI pour tout le monde ! 🐼 Thierry Chantier - @TitiMoby

MERCI !

Thierry Chantier Developer Advocate @OVHcloud TitiMoby@mamot.fr TitiMoby 🔗 https://noti.st/titimoby

Wikipedia, tu en penses quoi ? Un environnement en mode texte (TUI, de l’anglais « Text User Interface », « Textual User Interface » ou encore «Terminal User Interface » est un rétronyme introduit dans le jargon informatique après l’invention des environnements graphiques pour se distinguer des interfaces en ligne de commande. Ce type d’interface utilisateur occupe la totalité de l’écran comme les interfaces graphiques, et n’est donc pas limité au traitement ligne par ligne comme les CLI. Ce type d’environnement s’avère très utile pour le développement d’applications sans besoins graphiques.

Et toi ChatGPT, à ton avis ? L’interface utilisateur en mode terminal (ou TUI, pour “Text User Interface”) est un type d’interface graphique qui permet à l’utilisateur d’interagir avec un programme ou un système via des commandes textuelles dans un environnement en ligne de commande. Contrairement aux interfaces graphiques (GUI), qui utilisent des éléments visuels comme des fenêtres et des boutons, les TUIs s’appuient sur des caractères ASCII et des couleurs pour organiser les informations et les options dans un format lisible et navigable. Les TUIs sont souvent utilisés dans les applications qui nécessitent une interaction rapide et efficace, comme les éditeurs de texte, les gestionnaires de fichiers et certains outils de développement.

Ma définition ? Les application en mode TUI sont là pour utiliser pleinement votre terminal. L’idée est de fournir toutes les informations dont vous avez besoin, de les présenter de manière agréable et de pouvoir interagir avec.

Mais comment apparaissent les Terminal User Interface ? 1801 : carte perforée du métier à tisser Jacquard Instructions pour produire un motif précis

Mais comment apparaissent les Terminal User Interface ? A partir de 1840, les différentes versions de télégraphes finissent par adopter un ruban

Mais comment apparaissent les Terminal User Interface ? 1890 BCD, EBCDIC et ASCII 80 colonnes

Mais comment apparaissent les Terminal User Interface ? téléscripteur Télétype TTY BCD, EBCDIC, ASCII Telex

Mais comment apparaissent les Terminal User Interface ? VT100 de DEC

Mais comment apparaissent les Terminal User Interface ?

A quoi ressemble une TUI en 2024 ?

A quoi ressemble une TUI en 2024 ?

Et si je veux coder mon outil TUI ?

L’écosystème Java https://www.youtube.com/watch?v=UkogP588w7M Picocli : met du Java dans ton terminal par Stéphane Philippart Projet Lanterna : https://github.com/mabe02/lanterna

L’écosystème Python https://typer.tiangolo.com/ Textual https://textual.textualize.io/

L’écosystème Go https://github.com/charmbracelet/bubbletea https://github.com/spf13/cobra

L’écosystème Rust https://docs.rs/clap/latest/clap/ https://ratatui.rs/

Show me the code https://github.com/titimoby/tui4all

merci Open Feedback https://ovh.to/FEMVm9h ⬅ Slides https://ovh.to/8stqT9n

Questions ?