Puissants outils de terminal et de ligne de commande (CLI) pour le développement Web moderne

Publié: 2022-03-10
Résumé rapide ↬ Quel est votre outil en ligne de commande préféré ? Aujourd'hui, Louis Lazaris partage une collection d'applications et d'utilitaires de ligne de commande pertinents qu'il a personnellement rencontrés au cours des dernières années.

De nombreux programmeurs modernes, y compris les développeurs front-end et full-stack, travaillent quotidiennement avec la ligne de commande. Même ceux qui sont relativement nouveaux dans le développement Web acquièrent tôt des compétences en ligne de commande et trouvent des outils et des utilitaires pratiques pour améliorer leur productivité dans le terminal.

Cet article présente une liste catégorisée de nombreuses applications en ligne de commande que j'ai personnellement découvertes au cours des dernières années. Certains d'entre eux sont relativement nouveaux, d'autres existent depuis un certain temps. J'espère donc que quelque chose dans ce tour d'horizon vous intéressera et vous aidera à faire avancer les choses lorsque vous travaillez dans le terminal.

Vous pouvez accéder à une catégorie en utilisant la navigation ci-dessous :

  • Applications de terminaux
  • Utilitaires et améliorations du terminal
  • Scripts et cadres de ligne de commande
  • Outils de productivité pour le terminal

Applications de terminaux

Cette section présente les terminaux, les multiplexeurs, les émulateurs de console, les terminaux mobiles et les espaces de travail de ligne de commande que vous pouvez utiliser pour remplacer l'application de terminal par défaut sur votre système.

tmux

tmux est un multiplexeur de terminal populaire pour les systèmes d'exploitation de type Unix qui vous permet de basculer facilement entre plusieurs programmes dans un seul terminal, avec la possibilité de "détacher" une session (tout en s'exécutant en arrière-plan) ou de la "rattacher" à un autre Terminal.

tmux
( Grand aperçu )

iTerm2

iTerm2 , le successeur d'iTerm, est un remplacement de votre terminal sur macOS qui inclut des fonctionnalités telles que des volets divisés, une recherche robuste, une saisie semi-automatique, une relecture instantanée, ainsi qu'une multitude d'options de configuration.

iTerm2
( Grand aperçu )

Mosh

Mosh est une application de terminal distant (ou shell mobile) pour une utilisation SSH interactive qui comprend plusieurs fonctionnalités utiles pour ceux qui ont besoin d'effectuer des tâches basées sur un terminal via un WiFi faible, des réseaux cellulaires ou d'autres connexions moins fiables.

Mosh
( Grand aperçu )

Zellige

Zellij est un espace de travail de terminal qui a la fonctionnalité de base d'un multiplexeur de terminal (similaire à tmux) mais inclut des fonctionnalités qui permettent aux utilisateurs de l'étendre et de créer un environnement personnalisé via des volets/onglets et des plugins.

Zellige
( Grand aperçu )

Hyper

Hyper est une application de terminal basée sur Electron pour Mac, Windows ou Linux qui est construite avec des technologies Web (HTML/CSS/JS). Comprend des dizaines de thèmes et de plugins et est basé sur la vitesse et la stabilité.

Hyper
( Grand aperçu )

cmder

cmder est un émulateur de console portable pour Windows qui a été construit en raison de l'absence d'une bonne option dans ce domaine pour les utilisateurs de Windows.

commandant
( Grand aperçu )

a-Shell

a-Shell est une application iOS qui offre un « terminal dans votre poche » avec contrôle des fichiers/répertoires, compatibilité avec les raccourcis Apple, plusieurs fenêtres et bien plus encore.

a-Shell
( Grand aperçu )

Borne éternelle

Eternal Terminal est une autre application de terminal à distance inspirée d'autres projets populaires similaires.

Borne éternelle
( Grand aperçu )

Dix mains

Ten Hands est une application de terminal pour Mac, Linux et Windows qui est présentée comme le moyen le plus simple d'organiser et d'exécuter des tâches en ligne de commande, utile pour ceux qui exécutent des tâches quotidiennes similaires sur plusieurs projets.

Dix mains
( Grand aperçu )

eDEX-UI

eDEX-UI est un émulateur de terminal multiplateforme plein écran et un moniteur système fortement inspiré des interfaces utilisateur de films de science-fiction, en particulier du film Tron: Legacy.

eDEX-UI
( Grand aperçu )

Tigré

Tabby, anciennement "Terminus", est une application de terminal multiplateforme personnalisable pour les shells locaux, les connexions SSH, série et Telnet qui inclut la prise en charge de fonctionnalités telles que les volets partagés, les onglets intelligents, les raccourcis clavier personnalisables et bien plus encore.

Tigré
( Grand aperçu )

Coquille de poisson

Fish Shell est une autre option pour un shell de ligne de commande pour Linux, macOS et Windows qui inclut la suggestion automatique, les complétions d'onglets, la couleur 24 bits, la configuration Web, la coloration syntaxique, entre autres fonctionnalités pratiques.

Coquille de poisson
( Grand aperçu )
Plus après saut! Continuez à lire ci-dessous ↓

Utilitaires et améliorations du terminal

Une fois que vous avez votre espace de travail principal, vous voudrez l'améliorer avec divers outils, utilitaires, thèmes, etc. Cette section comprend quelques outils utiles pour rendre votre expérience de terminal plus agréable.

Oh mon Zsh

Oh My Zsh est un framework open source piloté par la communauté pour gérer votre configuration pour Z Shell (ou Zsh, un shell Unix populaire). Il est livré avec des milliers de fonctions utiles, des assistants, plus de 300 plugins, plus de 140 thèmes, et plus encore. Fonctionne mieux sur macOS ou Linux, mais peut également être utilisé sur Windows en utilisant quelque chose comme Cygwin ou WSL2.

Oh mon Zsh
( Grand aperçu )

Figure

Fig ajoute la saisie semi-automatique de style VSCode à votre terminal existant et inclut la prise en charge des outils CLI existants tels que Git, npm, Kubernetes, Docker, AWS, Google Cloud, etc.

Figure
( Grand aperçu )

fzf

fzf est un outil de recherche rapide, portable et flou pour la ligne de commande qui vous permet d'exécuter des requêtes de recherche floues avec un ensemble complet de fonctionnalités.

fzf
( Grand aperçu )

Histoire de la coque

Shell History (non gratuit) est une application macOS qui s'intègre à Bash, Zsh ou Fish et vous permet de sauvegarder et de synchroniser facilement via iCloud et d'organiser votre historique de shell dans des « cahiers ».

Histoire de la coque
( Grand aperçu )

htop

htop est un visualiseur de processus interactif, à l'origine uniquement Linux mais désormais multiplateforme, qui vise à améliorer la commande Linux top en fournissant des fonctionnalités supplémentaires lors de la visualisation des processus en cours d'exécution.

htop
( Grand aperçu )

CLI GitHub

GitHub CLI, au cas où vous l'auriez manqué, est l'interface de ligne de commande multiplateforme officielle pour GitHub, apportant des demandes d'extraction, des problèmes et d'autres tâches liées à GitHub à votre terminal.

CLI GitHub
( Grand aperçu )

Ruisseau

Streamhut vous permet de partager votre terminal en temps réel sans rien installer. Exécutez simplement l'une des deux commandes (selon votre configuration), utile pour les sessions de terminal en direct dans les collaborations d'équipe, les entretiens ou l'enseignement.

Ruisseau
( Grand aperçu )

icdiff

icdiff est un outil de comparaison de fichiers basé sur un terminal qui fait bon usage des couleurs pour présenter les différences de manière plus pratique et visuelle.

icdiff
( Grand aperçu )

>\_TerminalSplash

TerminalSplash , comme son nom l'indique, est comme Unsplash, mais pour les thèmes de terminaux. Choisissez parmi plus de 200 thèmes soumis par les utilisateurs ou soumettez le vôtre.

TerminalSplash
( Grand aperçu )

Terminaliseur

Terminalizer est un enregistreur de terminal personnalisable et multiplateforme qui vous permet d'enregistrer des sessions de terminal puis de les partager sous forme de GIF animés ou via un lecteur Web.

Terminaliseur
( Grand aperçu )

Asciinéma

Asciinema est une autre option populaire pour l'enregistrement et le partage de terminaux, mais non disponible pour Windows. La chose intéressante à propos de celui-ci est que la sortie enregistrée n'est pas une vidéo mais une animation en texte brut de la session du terminal, ce qui signifie que vous pouvez sélectionner et copier/coller des éléments à partir d'enregistrements.

Asciinéma
( Grand aperçu )

gtop

gtop est une autre amélioration de la commande top qui fournit un tableau de bord de surveillance du système pour votre terminal. Nécessite Node.js et inclut une prise en charge partielle sur Windows.

gtop
( Grand aperçu )

DevDash

DevDash est un tableau de bord de terminal hautement configurable pour les développeurs et les créateurs. Vous pouvez le personnaliser pour afficher des informations provenant de sources telles que Google Analytics, GitHub, Feedly, la sortie de la commande shell, etc.

DevDash
( Grand aperçu )

Mentions honorables:

  • ora
    Un terminal spinner élégant.
  • tiny-care-terminal
    Un petit tableau de bord qui tente de s'occuper de vous lorsque vous utilisez votre terminal.
  • theme.sh
    Un script shell qui vous permet de définir votre thème de terminal qui comprend plus de 270 thèmes préchargés.

Scripts et cadres de ligne de commande

De nombreuses bibliothèques et frameworks vous permettent de créer et de gérer vos propres applications et utilitaires de ligne de commande. Vous trouverez ci-dessous quelques-uns de ceux pour Bash, JavaScript, et plus encore.

Commandez et conquérez (cac)

Command And Conquer, également appelé cac, est un framework JavaScript léger permettant de créer des applications en ligne de commande. Par exemple, il a été utilisé pour créer plusieurs outils d'échafaudage basés sur Node.js.

Commandez et conquérez
( Grand aperçu )

zx

zx est une alternative populaire à Bash des ingénieurs de Google qui vous permet d'écrire des applications de ligne de commande à l'aide de JavaScript avec une API facile à utiliser qui vous permet d'appeler des exécutables et d'obtenir leur sortie, de gérer les erreurs, etc.

zx
( Grand aperçu )

present

present est un outil de présentation basé sur Markdown pour le terminal qui inclut des couleurs et des effets et vous permet de lire des blocs de code jouables préenregistrés sous forme de diapositives.

cadeau
( Grand aperçu )

Bach

Bach est un framework de test Bash qui peut être utilisé pour tester des scripts contenant des commandes dangereuses telles que rm -rf / et inclut également des API (par exemple @mock , @ignore , @mockallto , etc.) pour simuler des commandes.

Bach
( Grand aperçu )

CLUI

CLUI est une API JavaScript avec des utilitaires pour vous permettre de créer des interfaces de ligne de commande avec saisie semi-automatique contextuelle dans vos applications (c'est-à-dire des applications de type terminal avec lesquelles les utilisateurs interagissent).

CLUI
( Grand aperçu )

ShellCheck

ShellCheck est une extension shell pour vous aider à trouver des bogues dans vos scripts shell.

ShellCheck
( Grand aperçu )

Mentions honorables

  • Basho
    Vous permet d'écrire des tâches shell complexes en utilisant du JavaScript simple et il se mélange bien avec les commandes et les scripts shell.
  • import
    Un système de module rapide et facile à utiliser pour Bash et d'autres shells Unix.
  • Bash Infinity
    Une bibliothèque modulaire et légère et un framework passe-partout pour écrire des outils à l'aide de Bash.

Outils de productivité pour le terminal

Enfin, cette catégorie rassemble un petit échantillon d'utilitaires et de programmes de ligne de commande qui facilitent diverses tâches liées à la productivité, telles que l'organisation, le partage de fichiers, etc.

tiret tiret

Dash Dash est un site de documentation en ligne qui présente les pages de manuel Unix (c'est-à-dire les pages de manuel) dans un format plus agréable, pour aider les moins familiers avec le terminal à apprendre à utiliser la ligne de commande.

tiret tiret
( Grand aperçu )

nb

nb est un outil de ligne de commande doté de fonctionnalités telles que la prise de notes Web locales, la mise en signet, l'archivage et le chiffrement. Le stockage est en texte brut, comprend la gestion des versions basée sur Git, les liens de style wiki, les thèmes de couleur et bien plus encore.

nb
( Grand aperçu )

Rclone

Rclone est un programme de ligne de commande open source qui vous permet de gérer des fichiers sur plus de 40 services de stockage en nuage (Amazon S3, Dropbox, Google Drive, Azure, etc.). Il inclut des équivalents cloud pour les commandes Unix familières et d'autres fonctionnalités.

Rclone
( Grand aperçu )

navi

navi est un outil de feuille de triche interactif pour votre terminal. En plus d'autres fonctionnalités, vous pouvez parcourir les référentiels de feuilles de triche, importer des feuilles de triche ou ajouter les vôtres.

navigation
( Grand aperçu )

Cahier des tâches

Taskbook est un outil de ligne de commande rapide qui vous permet d'organiser des tâches, des tableaux et des notes dans votre terminal, avec des fonctionnalités telles que la recherche/filtre, un emplacement de stockage personnalisé et une syntaxe simple et conviviale.

Cahier des tâches
( Grand aperçu )

Explorateur de projet

Project Explorer est un outil CLI qui vous permet de créer une visualisation arborescente de n'importe quel projet. Cela serait utile lors de l'arrivée de nouveaux membres dans l'équipe ou lors de l'héritage d'un nouveau projet.

Explorateur de projet
( Grand aperçu )

transfer.sh

transfer.sh est une application rapide et facile à utiliser pour partager des fichiers via la ligne de commande. Inclut la prise en charge de services tels qu'Amazon S3, Google Drive, Storj et le système de fichiers local.

transfert.sh
( Grand aperçu )

Mentions honorables

  • ack
    Un outil de recherche de code, similaire à grep mais optimisé pour les programmeurs recherchant de grands arbres de code source.
  • goto
    Un utilitaire shell avec prise en charge de la saisie semi-automatique pour naviguer vers des répertoires aliasés.
  • bashupload
    Téléchargez des fichiers (jusqu'à 50 Go) via la ligne de commande pour les partager facilement entre serveurs, ordinateurs de bureau et appareils mobiles.
  • copyfiles
    Un utilitaire de ligne de commande qui ajoute des fonctionnalités supplémentaires à la copie de fichiers dans votre terminal.

Quel est votre outil de ligne de commande préféré ?

Comme mentionné, ce n'était pas censé être une liste exhaustive, mais simplement une grande collection d'applications et d'utilitaires de ligne de commande pertinents que j'ai personnellement rencontrés au cours des dernières années.

Si vous avez construit quelque chose vous-même ou s'il y en a un que vous utilisez régulièrement qui améliore votre expérience de terminal, n'hésitez pas à le déposer dans les commentaires !