Quand le terminal dévore la UI : TUI pour tout le monde !

A presentation at MiXiT in April 2025 in Lyon, France by Thierry Chantier

Slide 1

Slide 1

Quand le terminal dévore la UI : TUI pour tout le monde ! ©2025 DATAIKU INC.

Slide 2

Slide 2

MERCI ! ©2025 DATAIKU INC. [ 2 ]

Slide 3

Slide 3

TitiMoby@mamot.fr TitiMoby 🔗 https://noti.st/titimoby ©2025 DATAIKU INC. Thierry Chantier Developer Advocate, Dataiku [ 3 ]

Slide 4

Slide 4

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. ©2025 DATAIKU INC. [ 4 ]

Slide 5

Slide 5

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. ©2025 DATAIKU INC. [ 5 ]

Slide 6

Slide 6

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. ©2025 DATAIKU INC. [ 6 ]

Slide 7

Slide 7

Mais comment apparaissent les Terminal User Interface ? 1801 : carte perforée du métier à tisser Jacquard Instructions pour produire un motif précis ©2025 DATAIKU INC. [ 7 ]

Slide 8

Slide 8

Mais comment apparaissent les Terminal User Interface ? A partir de 1840, les différentes versions de télégraphes finissent par adopter un ruban ©2025 DATAIKU INC. [ 8 ]

Slide 9

Slide 9

Mais comment apparaissent les Terminal User Interface ? 1890 BCD, EBCDIC et ASCII ©2025 DATAIKU INC. 80 colonnes [ 9 ]

Slide 10

Slide 10

Mais comment apparaissent les Terminal User Interface ? téléscripteur Télétype TTY BCD, EBCDIC, ASCII Telex ©2025 DATAIKU INC. [ 10 ]

Slide 11

Slide 11

Mais comment apparaissent les Terminal User Interface ? VT100 de DEC ©2025 DATAIKU INC. [ 11 ]

Slide 12

Slide 12

Mais comment apparaissent les Terminal User Interface ? ©2025 DATAIKU INC. [ 12 ]

Slide 13

Slide 13

A quoi ressemble une TUI en 2024 ? ©2025 DATAIKU INC. [ 13 ]

Slide 14

Slide 14

A quoi ressemble une TUI en 2024 ? ©2025 DATAIKU INC. [ 14 ]

Slide 15

Slide 15

Et si je veux coder mon outil TUI ? ©2025 DATAIKU INC. [ 15 ]

Slide 16

Slide 16

L’écosystème Java https://dub.sh/picocli Picocli : met du Java dans ton terminal par Stéphane Philippart Projet Lanterna : https://dub.sh/lanterna ©2025 DATAIKU INC. [ 16 ]

Slide 17

Slide 17

L’écosystème Python https://dub.sh/typer Textual ©2025 DATAIKU INC. https://dub.sh/textual [ 17 ]

Slide 18

Slide 18

L’écosystème Go https://dub.sh/bubbletea https://dub.sh/cobra ©2025 DATAIKU INC. [ 18 ]

Slide 19

Slide 19

L’écosystème Rust Yann Prono / 17h / Neuilly 251 https://dub.sh/clap https://dub.sh/ratatui ©2025 DATAIKU INC. [ 19 ]

Slide 20

Slide 20

Show me the code https://dub.sh/tui4all ©2025 DATAIKU INC. [ 20 ]

Slide 21

Slide 21

Feedback https://dub.sh/mixit25feedback ©2025 DATAIKU INC. MERCI ! Slides https://dub.sh/slides-mixit [ 21 ]

Slide 22

Slide 22

Questions ? ©2025 DATAIKU INC. [ 22 ]