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

Par le(s) même(s) auteur(s)

Débuter avec Proxmox Backup Server : les sauvegardes c’est pas du virtuel

Magazine
Marque
Linux Pratique
Numéro
138
Mois de parution
juillet 2023
Spécialité(s)
Résumé

Dans un monde numérique où la protection des données est primordiale, les solutions de sauvegarde et de restauration sont nombreuses. Si certaines d’entre elles sont performantes, elles sont bien souvent coûteuses et peu flexibles. Face à cette problématique, Proxmox Backup Server se démarque en proposant une alternative libre et innovante. En combinant déduplication, compression et chiffrement et grâce à une interface web conviviale, elle assure une sauvegarde efficace et sécurisée de vos machines virtuelles, conteneurs et machines physiques.

Proxmox VE : démarrez avec l’hyperviseur alternatif libre

Magazine
Marque
Linux Pratique
HS n°
Numéro
57
Mois de parution
avril 2023
Spécialité(s)
Résumé

VMware domine largement le marché de la virtualisation avec son hyperviseur de type 1, VMware ESXi. Mais vous n’êtes pas obligé de succomber au grand capital, et d’utiliser une solution propriétaire et payante pour virtualiser votre infrastructure. Dans cet article, nous allons découvrir Proxmox VE, une solution libre et gratuite de virtualisation pour votre installation personnelle comme pour vos besoins professionnels.

Gum : vos scripts avec sucre syntaxique ajouté

Magazine
Marque
Linux Pratique
Numéro
136
Mois de parution
mars 2023
Spécialité(s)
Résumé

Exécuter un script dans votre terminal n’est souvent pas synonyme d’interface utilisateur ergonomique et sexy. Vous allez me dire que ce n’est pas forcément un problème, car ce n’est pas le but. On veut un script qui fasse une chose, qui le fasse bien, et qui retourne sur la sortie standard pour pouvoir être tubé vers une autre commande. Parfois, on a quand même besoin de développer des scripts qui demandent plusieurs entrées utilisateur sur la ligne de commandes. Alors si on peut le faire facilement de manière interactive et ergonomique (avec des listes à choix multiples, champs texte, mot de passe, etc.) et qu’en plus on peut mettre tout ça en forme de jolie manière, ce serait quand même fort sympathique.

Les derniers articles Premiums

Les derniers articles Premium

Les nouvelles menaces liées à l’intelligence artificielle

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Sommes-nous proches de la singularité technologique ? Peu probable. Même si l’intelligence artificielle a fait un bond ces dernières années (elle est étudiée depuis des dizaines d’années), nous sommes loin d’en perdre le contrôle. Et pourtant, une partie de l’utilisation de l’intelligence artificielle échappe aux analystes. Eh oui ! Comme tout système, elle est utilisée par des acteurs malveillants essayant d’en tirer profit pécuniairement. Cet article met en exergue quelques-unes des applications de l’intelligence artificielle par des acteurs malveillants et décrit succinctement comment parer à leurs attaques.

Migration d’une collection Ansible à l’aide de fqcn_migration

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Distribuer du contenu Ansible réutilisable (rôle, playbooks) par l’intermédiaire d’une collection est devenu le standard dans l’écosystème de l’outil d’automatisation. Pour éviter tout conflit de noms, ces collections sont caractérisées par un nom unique, formé d’une espace de nom, qui peut-être employé par plusieurs collections (tel qu'ansible ou community) et d’un nom plus spécifique à la fonction de la collection en elle-même. Cependant, il arrive parfois qu’il faille migrer une collection d’un espace de noms à un autre, par exemple une collection personnelle ou communautaire qui passe à un espace de noms plus connus ou certifiés. De même, le nom même de la collection peut être amené à changer, si elle dépasse son périmètre d’origine ou que le produit qu’elle concerne est lui-même renommé.

Mise en place d'Overleaf Community pour l’écriture collaborative au sein de votre équipe

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Si vous utilisez LaTeX pour vos documents, vous connaissez vraisemblablement Overleaf qui vous permet de rédiger de manière collaborative depuis n’importe quel poste informatique connecté à Internet. Cependant, la version gratuite en ligne souffre de quelques limitations et le stockage de vos projets est externalisé chez l’éditeur du logiciel. Si vous désirez maîtriser vos données et avoir une installation locale de ce bel outil, cet article est fait pour vous.

Les listes de lecture

8 article(s) - ajoutée le 01/07/2020
Découvrez notre sélection d'articles pour faire vos premiers pas avec les conteneurs, apprendre à les configurer et les utiliser au quotidien.
11 article(s) - ajoutée le 02/07/2020
Si vous recherchez quels sont les outils du DevOps et comment les utiliser, cette liste est faite pour vous.
8 article(s) - ajoutée le 02/07/2020
Il est essentiel d'effectuer des sauvegardes régulières de son travail pour éviter de perdre toutes ses données bêtement. De nombreux outils sont disponibles pour nous assister dans cette tâche.
Voir les 58 listes de lecture

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous