| |

YAZI : gérer ses fichiers en terminal avec vitesse et fluidité

https://yazi-rs.github.io

https://github.com/sxyazi/yazi

📌 YAZI est un gestionnaire de fichiers terminal écrit en Rust, basé sur l’I/O asynchrone non bloquant. L’objectif est simple: rendre les opérations de fichiers plus rapides, plus fluides et plus pratiques, tout en gardant une interface légère qui reste pleinement pilotable au clavier.

Ce qui frappe d’abord, c’est la promesse de vitesse. Le projet s’appuie sur une architecture asynchrone pour répartir les tâches d’E/S et les calculs sur plusieurs threads, ce qui aide à garder l’interface réactive même quand il faut parcourir des dossiers lourds, générer des aperçus ou enchaîner des actions sur plusieurs éléments. Dans un usage quotidien, cela change la perception du terminal: la navigation devient immédiate, les retours visuels arrivent vite, et les opérations longues restent mieux accompagnées.

YAZI ne se limite pas à afficher des fichiers. Il intègre un ensemble de fonctions conçues pour le travail concret: aperçu de contenu, coloration du code, décodage d’images, prise en charge de multiples protocoles d’images selon le terminal, extraction d’archives, renommage en lot, création de fichiers, sélection croisée entre dossiers, mode visuel, gestion du presse-papiers terminal, et compatibilité avec des composants de type vim pour la saisie et la confirmation. L’outil ajoute aussi des intégrations utiles avec ripgrep, fd, fzf et zoxide, ce qui le rend efficace pour retrouver, filtrer et ouvrir rapidement des éléments sans rompre le flux de travail.

La gestion des aperçus mérite une attention particulière. YAZI peut afficher des images dans plusieurs terminaux et s’adapte à différents protocoles selon l’environnement: kitty, iTerm2, WezTerm, Konsole, foot, Ghostty, Windows Terminal, st, Warp, Tabby, VSCode, Rio, Black Box, Bobcat, ou encore X11/Wayland via Überzug++. Quand rien de plus riche n’est disponible, il retombe sur de l’art ASCII via Chafa. Cette compatibilité large évite de dépendre d’un seul terminal et permet d’obtenir un affichage utile dans des contextes très variés.

L’écosystème de plugins est un autre point fort. YAZI propose un système concurrent qui permet de remplacer une grande partie de l’interface, mais aussi d’ajouter des plugins fonctionnels, des previewers, preloader, spotter ou fetcher personnalisés. L’usage reste cohérent avec l’esprit Lua: peu de surcharge, beaucoup de souplesse. Pour aller plus loin, le gestionnaire de paquets intégré permet d’installer thèmes et plugins en une commande, de les mettre à jour ou de les figer sur une version précise. Cela facilite la construction d’un environnement stable, tout en laissant une marge d’évolution importante.

YAZI ajoute aussi une couche plus avancée avec son système de distribution de données, pensé pour la communication entre instances et la persistance d’état. Sur le plan pratique, cela aide quand plusieurs sessions coexistent, ou quand certaines informations doivent rester disponibles entre usages. Le projet met également en avant un modèle de type client-serveur sans processus serveur additionnel, ce qui évite de compliquer le déploiement.

Points clés

  • ⚡ Réactivité élevée grâce à une architecture asynchrone qui garde le terminal fluide.
  • 🖼️ Aperçus riches avec prise en charge large des protocoles d’images et repli ASCII si besoin.
  • 🔌 Système de plugins Lua concurrent pour modifier l’interface et étendre les fonctions.
  • ☁️ Virtual filesystem et recherche distante pour gérer aussi des sources non locales.
  • 📦 Gestionnaire de paquets intégré pour thèmes et extensions, avec installation et verrouillage de versions.
  • 🧭 Intégrations utiles avec ripgrep, fd, fzf et zoxide pour accélérer la navigation.
  • 🗂️ Multi-onglets, sélection multi-dossiers, renommage en lot, extraction d’archives et mode visuel.

Au quotidien, YAZI sert surtout à réduire le nombre de gestes entre l’intention et l’action. On peut parcourir un arborescence, prévisualiser une image ou un document, sélectionner plusieurs fichiers dans des dossiers différents, renommer des éléments par lot, puis lancer une opération de maintenance sans quitter le terminal. La cohérence de l’interface compte ici autant que la vitesse: les composants de type vim, l’autocomplétion des chemins cd et le support de la souris donnent plusieurs points d’entrée selon les habitudes de travail.

Le projet reste très porté sur la personnalisation. Le système de thèmes permet d’ajuster l’apparence, les layouts sont configurables, le drag and drop est pris en charge, et la gestion de la corbeille s’intègre aux actions courantes. Le support des gestes d’affichage modernes comme CSI u ou OSC 52 montre aussi que l’outil vise une expérience terminal actuelle, pas seulement une imitation minimaliste d’un vieux gestionnaire en mode texte.

Sur le plan de la confidentialité et du contrôle, l’intérêt d’un outil local est évident: les fichiers restent gérés depuis le terminal, sans imposer une interface web ou un service centralisé. Le projet mentionne un support pour le mode public beta et indique qu’il peut déjà servir de daily driver, tout en précisant que le développement est actif et que des changements cassants sont possibles. Cette transparence est importante: YAZI est exploitable aujourd’hui, mais il faut accepter un rythme d’évolution encore soutenu.

La compatibilité système est large, avec disponibilité annoncée pour macOS, Linux et Windows. Le projet met aussi en avant une base Rust et une licence MIT, ce qui le rend facile à intégrer dans des environnements personnels ou professionnels. Pour démarrer, la documentation officielle est le bon point d’entrée: installation, fonctionnalités et comportements d’affichage sont détaillés séparément, ce qui aide à choisir le bon terminal, le bon protocole d’aperçu et les bonnes options avant d’aller plus loin.

Concrètement, YAZI s’adresse à ceux qui veulent un gestionnaire de fichiers de terminal capable d’aller bien au-delà de la simple navigation. Il combine vitesse, aperçu, extensibilité et compatibilité multiplateforme dans un ensemble cohérent, avec assez de profondeur pour accompagner un usage régulier sans imposer une lourdeur d’outillage.

Publications similaires

Laisser un commentaire