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

A presentation at Touraine Tech in February 2025 in Tours, France by Thierry Chantier

Slide 1

Slide 1

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

Slide 2

Slide 2

MERCI !

Slide 3

Slide 3

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

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.

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.

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.

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

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

Slide 9

Slide 9

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

Slide 10

Slide 10

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

Slide 11

Slide 11

Mais comment apparaissent les Terminal User Interface ? VT100 de DEC

Slide 12

Slide 12

Mais comment apparaissent les Terminal User Interface ?

Slide 13

Slide 13

A quoi ressemble une TUI en 2024 ?

Slide 14

Slide 14

A quoi ressemble une TUI en 2024 ?

Slide 15

Slide 15

Et si je veux coder mon outil TUI ?

Slide 16

Slide 16

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

Slide 17

Slide 17

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

Slide 18

Slide 18

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

Slide 19

Slide 19

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

Slide 20

Slide 20

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

Slide 21

Slide 21

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

Slide 22

Slide 22

Questions ?