Television : le fuzzy finder ultime pour votre terminal

Photo of author
Écrit par Grégory Hénique
Blogueur SEO depuis 2009.
J'aide les entreprises à créer du contenu qui ranke par l'écriture SEO et l'IA maîtrisée.
✍️ Maj'Article IA : 14€ – 49€
Présentation

 Quand je tombe sur un nouveau projet prometteur, je suppose d’emblée qu’il s’agit d’un énième gestionnaire de fichiers dot ou d’une des millions d’alternatives modernes en Rust aux utilitaires Unix… Mais quand j’ai découvert Television pour la première fois, je me suis dit : « Encore un outil de recherche floue. Le monde a déjà FZF, et c’est déjà assez incroyable comme ça. » J’avais tort.

Non seulement cet outil dispose d’une interface utilisateur facilement personnalisable et d’une fenêtre de prévisualisation modulable, mais surtout, comme n’importe quel téléviseur qui se respecte, il est livré avec une télécommande permettant de changer de chaîne.

Outre les éléments évidents (fichiers, répertoires et texte), Television est livré avec des hooks préconfigurés. Ceux-ci peuvent suivre Git, Docker, Kubernetes, npm, T-Mux, AWS, vos téléchargements, et même les hôtes SSH. Et si cette longue liste ne contient pas ce que vous recherchez, il existe un modèle très simple pour créer votre propre chaîne, ce que j’ai fait à plusieurs reprises.

Ces canaux ont remplacé plus de 7 utilitaires différents que j’utilisais auparavant. Est-ce parfait ? Non. Mais c’est suffisamment fantastique pour passer outre, et c’est un sélecteur flou indispensable pour ceux d’entre nous qui en ont assez de rediriger les résultats et de se creuser la tête avec les options.

Lien Github de Television

Un outil qui gagne rapidement en popularité

Chaque projet commence par un test de popularité et Television a déjà gagné en traction grâce à son écriture en Rust. À en juger par les commentaires, 50 % d’entre vous sont désormais enthousiastes tandis que l’autre moitié reste sceptique.

Mais TV est un sélecteur flou très rapide, portable et personnalisable.

  • Copiez la commande,
  • exécutez-la,
  • et le choix de script d’installation pour Mac est Homebrew plutôt que son propre binaire à télécharger.

Si vous tapez simplement tv dans votre répertoire personnel, il commencera à sélectionner des fichiers, car son sélecteur par défaut est « files » (modifiable et configurable).

Le concept de télécommande réinventé

Lancer TV dans un environnement plus confiné vous donne un sélecteur de fichiers instantané avec aperçu, ce qui ressemble un peu à lancer un explorateur de terminal comme Ranger.

Bien que les fichiers soient le choix par défaut, voici d’autres sélecteurs fournis : le texte (recherche par chaîne de caractères offrant une interface utilisateur très pratique) et les dépôts Git. Vous pouvez en regrouper plusieurs sous un même chemin avec leur journal Git en aperçu, ce qui facilite un peu le suivi de plusieurs projets.

Pour être honnête, cela ne garantit pas qu’ils soient tous sur la branche master récupérée à distance, donc je ne dirais pas que ce serait mon premier choix.

Une télécommande qui change la donne

Désormais, au lieu de deviner notre prochain intervenant, chaque TV est fournie avec une télécommande. Celle-ci s’affiche par défaut avec Ctrl+R, où vous pouvez zapper entre différentes chaînes comme Envir par exemple, ou des répertoires qui font déjà ressortir les problèmes de compatibilité avec Nushell.

Vous pouvez continuer à consulter les branches Git et d’autres options. Pour afficher la liste complète depuis votre shell, il suffit d’exécuter tv list-channels. On pourrait s’attendre à ce que cette liste soit transmise à TV plutôt que d’être affichée à l’écran, ce qui est une bonne occasion de montrer comment les données peuvent également y être redirigées.

Créer des chaînes personnalisées

TV est livré avec des paramètres par défaut. Ce qui le rend réellement puissant, un peu comme les compétences d’un agent IA, ce sont les chaînes que vous créez, modifiez et contrôlez. Sous .config/television, à côté du fichier de configuration que vous allez créer, se trouve le répertoire cables.

Suivre les journaux avec Television

Une autre utilisation fantastique de TV est le suivi des journaux.

TV m’a vraiment conquis. Pour être tout à fait honnête, c’est l’une des meilleures façons dont j’ai jamais lu et recherché des journaux. Il y a peut-être vraiment quelque chose là-dedans. Vous n’êtes pas limité : n’importe quel journal, JSON ou texte sera envoyé sans problème à notre télévision.

Corriger le comportement du sélecteur de fichiers

TV files ne fait pas grand-chose. Ce que vous pouvez faire en ligne, c’est exécuter nvim tv files, ce qui vous permet de choisir un fichier et de l’envoyer à Neovim. C’est bien, mais pas très efficace. Et si nous corrigions simplement le comportement par défaut ?

Il vous suffit de trouver le canal files sous cables, de trouver la commande edit, de définir un raccourci clavier pertinent (comme Entrée au lieu de F12) et de mettre à jour les actions comme bon vous semble. C’est à peu près tout. Lancez TV, qui, je vous le rappelle, utilise files comme canal par défaut de toute façon. Choisissez un fichier et le tour est joué.

Et si vous n’avez pas de sélecteur, mais que la recherche est suffisamment simple pour l’utiliser ? TV peut utiliser des pipes, mais il peut aussi simplement prendre votre commande source et votre commande d’aperçu directement. Vous pouvez également ajuster l’aperçu directement via la requête.

C’est l’une des choses qui me manque ici. TV vous permet de jouer principalement dans l’interface utilisateur textuelle (TUI), mais aussi via des options de ligne de commande. Mais que faire si je ne peux pas prédire la taille de l’aperçu ? Ne serait-il pas logique de l’ajuster à la volée ? Et si j’utilise ces options et que je souhaite également exécuter les commandes sur les fichiers ici ? Ce n’est pas possible.

Cela rend TV personnalisable, mais aussi assez limité à ce stade si on le compare à FZF.

Intégration du shell avec Nushell

Point faible : l’intégration du shell

Apparemment, Nushell est entièrement pris en charge. Je me suis donc naturellement lancé. Que vous apporte un Nushell ou un shell intégré à TV ? Deux nouveaux amis s’ajoutent, et cela ressemble beaucoup à FZF.

Ctrl+R pour l’historique. L’aperçu ne fonctionne pas, donc une petite modification rapide du canal des répertoires : remplacer ls par quelque chose de plus approprié comme EZA et voilà, tout fonctionne.

  • Je peux utiliser l’autocomplétion
  • prévisualiser le répertoire
  • et cliquer dessus pour y accéder

La commande qui change tout

✍️
Maj'Article IA — Service Humain + IA

Je mets à jour ou crée vos articles personnellement, assisté par l'IA, avec optimisation SEO incluse.

📝 Mise à jour14 €
✨ Création49 €
✅ Livraison 24h • ✅ Facture fournie • ✅ Optimisation SEO incluse

Bon, prêt ? Sans la commande suivante, TV ne serait pas ce qu’elle est : tv update channels. Attendez quelques secondes, puis affichez la liste des câbles. Regardez ça :

  • AWS
  • Bash
  • Chrome
  • Docker
  • téléchargements
  • polices
  • GitHub
  • Kubernetes
  • je continue ?

Tout ce que vous voulez est là. Et tout ce qui vous manque peut facilement être créé par vos soins.

Tous les canaux se trouvent dans le dépôt « television », « cable », et choisissez votre poison en espérant que ce ne soit pas Windows. Et contribuez si vous avez des innovations révolutionnaires que nous pouvons tous utiliser, comme le canal « channels » que je viens de créer tout à l’heure.

Ne vous laissez pas agacer par les lignes de commande Nushell non compatibles. Si vous êtes un hipster comme moi qui refuse de faire marche arrière, j’ai transféré mes chaînes dans mes fichiers dot et je les passe lentement en revue pour corriger les problèmes de compatibilité.

J’ai même essayé d’y jeter Open Code avec leur modèle gratuit, ce qui a causé encore plus de chaos. Alors, s’il vous plaît, ne le faites pas. Nushell est spécial et c’est probablement la limite de l’IA.

Les utilitaires remplacés par Television

Au fil de mes tests, j’ai réalisé que Television remplaçait bon nombre d’outils que j’utilisais auparavant. Voici un aperçu des principaux remplacés :

Utilitaire remplacéFonction originaleCanal TV équivalent
RangerExplorateur de fichiers terminalFiles (avec aperçu)
KubectxChangement de contexte KubernetesKubernetes context
Lecteur de logsLecture des journaux systèmePipes vers TV
Explorateur AWSListe des buckets S3AWS buckets
Session XSélecteur de session T-MuxT-Mux sessions

Buckets AWS et plus encore

AWS buckets : j’ai corrigé la liste et l’aperçu de leur contenu, ce qui est plutôt génial et que je vais définitivement garder. Et voilà : encore un utilitaire que j’utilisais auparavant rayé de ma liste. Paquets Brew : les voilà. Je suppose qu’il nous faut plus d’actions. Et si on pouvait les supprimer et utiliser la sélection multiple, ça ferait un excellent nettoyeur de Mac.

Les canaux me donnent tellement d’options. Je dois vraiment y réfléchir et commencer à enrichir ma configuration avec des commandes TV, comme parcourir des arborescences de travail ou créer un haut-parleur Kubernetes qui fonctionne comme je le souhaite.

Plongée dans la configuration

C’est l’heure de la configuration : tout se passe dans .config/television/config.toml. Les commentaires sont assez explicites sans entrer dans les moindres détails, mais je pense que cette configuration mérite quelques modifications en profondeur avant de devenir cohérente.

Vous pouvez jouer avec les thèmes comme groovebox si ça vous tente. Je m’en tiens à Catppuccin jusqu’à ce que je change d’avis. Mon vrai problème commence avec les raccourcis clavier.

television code linux

Le problème des raccourcis clavier

Tout d’abord, 90 % des touches sont mappées sur la touche Ctrl et sur trop de touches F. Pour être honnête, je n’ai aucune idée de leur emplacement sur mon clavier, et pourtant je connais plutôt bien sa disposition si ce n’était pas encore clair.

De nombreuses autres applications, à commencer par T-Mux et Neovim, mais aussi Open Code et même des gestionnaires de fichiers comme Aerospace, sont fournies avec une sorte de touche de contrôle spécialement conçue à cet effet. Il est assez naïf de s’attendre à ce que l’utilisateur dispose de toutes ses combinaisons de touches de contrôle pour une seule application.

Dans ma configuration, Ctrl+A est déjà utilisé par T-Mux, HJKL pour les flèches, et ainsi de suite. Cela nécessite donc quelques ajustements, c’est le moins qu’on puisse dire, mais même si vous ne proposez pas de touche de contrôle ou d’option de changement de mode, je pense qu’il vaut la peine de mapper d’autres modificateurs comme les touches Shift droite et gauche ou les touches de fonction, ce que je n’ai pas trouvé dans la documentation.

Commençons par le menu d’aide, l’une des choses que l’on souhaite ardemment avoir à portée de main avec toute nouvelle interface TUI. Non seulement j’ai dû chercher et découvrir qu’il existait une touche de contrôle sans conflit, mais j’ai littéralement ajouté des touches F à mon D5 sur une autre couche juste pour accéder au menu d’aide, ce qui aurait été plus pratique s’il avait pu utiliser quelque chose comme le point d’interrogation classique, qui, pour une raison quelconque, n’est pas mappable ici.

Quoi qu’il en soit, le menu d’aide est activé. Je peux enfin respirer un peu. Parmi les autres options de la disposition, on peut activer ou désactiver la barre d’état, ce qui est assez inutile pour être honnête. Mais ce dont j’ai vraiment besoin, c’est de pouvoir faire pivoter la disposition de la verticale à l’horizontale et inversement.

La combinaison de touches pour basculer la disposition est définie. Je peux désormais activer et désactiver mon volet d’aperçu à l’aide de Ctrl+O. J’essaie de m’en souvenir comme « open » pour O. Et maintenant, avec Ctrl+T, je peux basculer la disposition, ce qui est assez pratique.

Ce qui manque et conclusions finales

Bilan : La puissance de TV réside en réalité dans sa simplicité et son approche épurée, mais il semble encore un peu maladroit ou il manque des éléments évidents (pas assez pour que je l’oublie).

Il remplace près de 7 utilitaires différents que j’utilise actuellement. Et les fonctionnalités de modèles le rendent fantastique.

  • J’aimerais beaucoup disposer d’une touche de configuration principale
  • de plus de touches de modification pour la configuration
  • et d’un indicateur d’exécution pour l’interface en ligne de commande.
  • Et si je ne vais pas trop loin, corriger tous ces bugs farfelus de Nushell.

Si vous n’êtes pas convaincu, et même si vous l’êtes, je vous invite à explorer FZF, car c’est l’une des interfaces en ligne de commande les plus puissantes, sinon la plus puissante, dont nous disposons actuellement sur Internet.

Television représente ainsi une avancée notable pour ceux qui cherchent à simplifier leur flux de travail terminal. L’approche par canaux offre une flexibilité que peu d’outils proposent, et la possibilité de créer ses propres templates ouvre des perspectives intéressantes pour personnaliser son environnement.

Reste à voir comment le projet évoluera pour répondre aux quelques limitations actuelles.

🚀 Besoin d'un contenu optimisé IA + SEO ?

Je propose mes services de rédaction web assistée par IA pour les blogs, les entreprises et les sites qui veulent du contenu qui ranke vraiment.

🤖 Self-service
14€ – 49€ via Maj'Article IA
💼 Sur-mesure
Devis personnalisé (150€+)

Outils que j'utilise et recommande :

Liens affiliés sans surcoût pour vous — Merci de soutenir le blog !

Laisser un commentaire