Je suis ravi d'annoncer un tout nouveau composant Symfony : Tui, une bibliothèque PHP permettant de créer des interfaces utilisateur de terminal riches et interactives.
Depuis 15 ans, le composant Console est l'un des composants Symfony les plus utilisés, alimentant de nombreux outils CLI de l'écosystème. Il fait beaucoup de choses : commandes, arguments, formatage de sortie, questions, tableaux, barres de progression... Mais au fil du temps, j'ai réalisé que deux responsabilités très différentes s'étaient étroitement liées : structurer des applications CLI et créer des expériences de terminal interactif.
Et si on les séparait ?
La console reste concentrée sur les commandes, les arguments et les résultats. Et Tui prend en charge tout ce qui concerne l'interaction riche du terminal : widgets, mises en page, style, gestion des entrées, prise en charge de la souris et rendu en temps réel.
Aujourd'hui, j'ouvre la pull request pour ajouter Tui à Symfony.
Tui est livré avec un ensemble complet de widgets :