L’essor de nouveaux outils en ligne de commandes écrits en Rust

Magazine
Marque
Linux Pratique
Numéro
141
Mois de parution
janvier 2024
Spécialité(s)


Résumé

La manière d’interagir avec nos systèmes informatiques évolue sans cesse. Et pas seulement avec les interfaces graphiques, les usages via la ligne de commandes ne sont pas en reste. Cependant, malgré ces avancées, les outils en ligne de commandes que nous utilisons au quotidien semblent parfois s’accrocher au passé. C’est ici que l’essor des nouveaux outils en ligne de commandes prend tout son sens. Dynamisé par de nouveaux frameworks et outils comme rich (Python) de Textual, ou Gum et Bubbletea (Golang) de Charm, qui permettent de développer des outils CLI aux interfaces utilisateurs léchées, aussi appelés TUI (Terminal User Interface). Mais force est de constater qu’une très grande majorité de ces nouveaux outils sont développés en Rust, et viennent proposer de sérieuses alternatives voire concurrencer les outils les plus communément utilisés sous Linux. Dans cet article, nous explorerons comment ces nouvelles créations bousculent les usages établis. Préparez-vous à être surpris par ces outils modernes, qui vont à coup sûr redéfinir votre utilisation de la ligne de commandes au quotidien.


1. Introduction

Dans l’univers de la ligne de commandes et du système d’exploitation Linux, les builtins du shell et les GNU coreutils ont depuis longtemps été les piliers inébranlables dont la maîtrise a permis aux utilisateurs de contrôler leurs environnements informatiques.

Les builtins du shell, tels que cd, echo, export, et alias, font partie de l’interpréteur de commandes (shell) lui-même et sont inclus dans votre bash, ou votre zsh, etc. Ils sont essentiels pour les scripts shell et pour interagir avec le système d’exploitation directement depuis le terminal.

Les GNU coreutils, également connus sous le nom de « commandes de base » (ou simplement « utils »), sont un ensemble de programmes utilitaires fondamentaux en ligne de commandes, tels que ls, cp, rm, et mkdir. Ils sont écrits en C et font partie intégrante des distributions GNU/Linux.

Ces outils classiques ont été un socle solide pendant des décennies, mais ils commencent à...

Cet article est réservé aux abonnés. Il vous reste 97% à découvrir.
S'abonner à Connect
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Je m'abonne
Références

[1] https://fr.wikipedia.org/wiki/Carcinisation

[2] https://rustup.rs/

[3] https://github.com/cargo-bins/cargo-binstall

[4] https://github.com/wez/wezterm

[5] https://wezfurlong.org/wezterm/installation

[6] https://alacritty.org/

[7] https://github.com/helix-editor/helix

[8] https://docs.helix-editor.com/install.html

[9] https://github.com/helix-editor/helix/releases/latest

[10] https://zellij.dev

[11] https://connect.ed-diamond.com/linux-pratique/lphs-054/zellij-multiplexeur-de-terminaux

[12] https://starship.rs/

[13] https://www.nushell.sh/

[14] https://connect.ed-diamond.com/linux-pratique/lp-133/nushell-un-shell-en-rust-qui-decape

[15] https://connect.ed-diamond.com/linux-pratique/lphs-055/travaillez-avec-vos-propres-donnees-structurees-a-l-aide-de-nushell

[16] https://connect.ed-diamond.com/linux-pratique/lp-134/nushell-developpez-vos-scripts-et-configurez-votre-shell

[17] https://github.com/denisidoro/navi

[18] https://connect.ed-diamond.com/Linux-Pratique/lp-126/une-aide-pratique-et-personnalisee-en-ligne-de-commandes-avec-navi

[19] https://atuin.sh/

[20] https://www.nushell.sh/blog/2023-09-05-why-uu.html

[21] https://github.com/eza-community/eza

[22] https://github.com/bootandy/dust

[23] https://dystroy.org/broot/

[24] https://dystroy.org/

[25] https://github.com/sayanarijit/xplr

[26] https://github.com/kamiyaa/joshuto

[27] https://github.com/kyoheiu/felix

[28] https://github.com/sharkdp/bat

[29] https://github.com/theryangeary/choose

[30] https://github.com/sharkdp/fd

[31] https://github.com/dandavison/delta

[32] https://github.com/BurntSushi/ripgrep

[33] https://github.com/konradsz/igrep

[34] https://github.com/phiresky/ripgrep-all

[35] https://github.com/solidiquis/erdtree

[36] https://github.com/dalance/procs

[37] https://clementtsang.github.io/bottom

[38] https://github.com/blacknon/hwatch

[39] https://systeroid.cli.rs/

[40] https://github.com/crossterm-rs/crossterm

[41] https://github.com/ratatui-org/ratatui

[42] https://rust-cli.github.io/book/index.html

[43] https://github.com/rust-cli

[44] https://github.com/Rust-for-Linux

[45] https://security.googleblog.com/2021/04/rust-in-android-platform.html



Article rédigé par

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous