Comparaison critique de systèmes d'invite de commande

Posté par  (site web personnel, Mastodon) . Édité par Ysabeau 🧶 🧦 et gUI. Modéré par Ysabeau 🧶 🧦. Licence CC By‑SA.
60
17
nov.
2023
Ligne de commande

Cet article a été écrit à l’occasion de l’imminence de la sortie de la version 2.2 de Liquid Prompt et vous aurez l’occasion de pouvoir en discuter avec son auteur lors des journées Toulouse Capitole du Libre, qui proposera une conférence sur Liquid Prompt : repenser en profondeur le design du prompt shell.

TL;DR: résumé

Si vous utilisez la ligne de commande, vous gagneriez à utiliser un bon système d’invite de commande (« prompt ») au lieu de la configuration par défaut. Parmi les sept systèmes de prompt les plus connus, certains sont mieux conçus et d’autres prennent mieux en charge certaines fonctionnalités.

Mes principales conclusions sont les suivantes :

  • Si vous recherchez le système qui offre la meilleure expérience globale à l’utilisateur, vous devriez probablement utiliser Liquid Prompt.
  • Si la faible latence est plus importante pour vous que les fonctionnalités, vous devriez miser sur PowerLevel10k.
  • Si vous êtes un développeur qui jongle en permanence avec plusieurs jeux d’outils, Starship semble être la meilleure option pour vous.

Cet article est divisé en deux parties principales : la première introduit le sujet et présente les principales évaluations ; la deuxième partie entre dans les détails des designs et des fonctionnalités. Enfin, la conclusion donne des conseils sur le choix d’un prompt et propose quelques idées sur l’avenir des systèmes de prompts.

Changement de licence pour mold en version 2.0

Posté par  (site web personnel) . Édité par Benoît Sibaud, Xavier Teyssier et Ysabeau 🧶 🧦. Modéré par Ysabeau 🧶 🧦. Licence CC By‑SA.
Étiquettes :
24
27
juil.
2023
Ligne de commande

mold est un linker, un programme d’édition des liens pour des langages tels que C, C++ ou Rust, utilisable en remplacement de GNU gold et LLVM lld. Son point fort est qu’il est très rapide, bien plus rapide que les deux autres, d’après leurs benchmarks et quelques articles (comme cette entrée de blog ou cette analyse Why isn't ld.lld faster? sur la version 1.0).

La version 2 de mold est sortie hier. Cette sortie s’accompagne d’un changement de licence : de la double licence AGPL/MIT on passe à du MIT seul.

N. D. M. : précédemment, mold linker pourrait changer de licence pour une licence non open-source évoqué lors de la version 1.7.0 indiquant l’éventualité d’un changement AGPLv3 vers code source disponible uniquement, puis un abandon de cette idée en 1 7.1.

Lidecli : Un outil en ligne de commande pour interagir avec les environnements de bureau

Posté par  . Édité par Julien Jorge, Benoît Sibaud et Ysabeau 🧶 🧦. Modéré par Ysabeau 🧶 🧦. Licence CC By‑SA.
Étiquettes :
48
13
juil.
2023
Ligne de commande

Lidecli - abréviation de Linux Desktop CLI - est un wrapper libre (MIT) développé en Python permettant de scripter plus facilement le positionnement de vos fenêtres quel que soit votre environnement de bureau. Habituellement, scripter ou automatiser le positionnement des fenêtres nécessite :

  • l’utilisation d’outils bien connus (wmctrl, xprop, qdbus, xrandr, etc.),
  • ou, pour certains environnements - du code (LUA pour AwesomeWM par exemple).

En d’autres termes, il n’existe pas vraiment de moyens « simples » permettant de scripter à sa guise son environnement. Lidecli agit comme un wrapper qui simplifie grandement cette tache.

Lidecli

Bash 5 : une introduction

Posté par  . Édité par Ysabeau 🧶 🧦, Gil Cot ✔, Anonyme, Benoît Sibaud et palm123. Modéré par Ysabeau 🧶 🧦. Licence CC By‑SA.
44
5
août
2022
Ligne de commande

La troisième version du document « Introduction à la programmation en Bash » (IUT de Rodez) vient de paraître. Elle est principalement destinée aux étudiants de niveau Licence.

Offpunk 1.0 : un navigateur déconnecté pour le smolnet

Posté par  (site web personnel, Mastodon) . Édité par Ysabeau 🧶 🧦, ted et Benoît Sibaud. Modéré par Ysabeau 🧶 🧦. Licence CC By‑SA.
Étiquettes :
59
21
mar.
2022
Ligne de commande

Alors que sort la version audiolivre de mon roman cyberpunk Printeurs, dont il a été question sur ce site, j’ai le plaisir de vous annoncer une autre sortie très punk, la version 1.0 du logiciel Offpunk, un navigateur optimisé pour la navigation déconnectée sur le « smolnet », incluant les protocoles https, gemini, gopher et spartan.

Offpunk est un logiciel écrit en Python et utilisable entièrement en ligne de commande : il s’affiche dans un terminal et n’utilise ni souris ni raccourci clavier. Chaque action nécessite une commande. Le rendu des pages et des images se fait dans l’afficheur « less » (en utilisant chafa pour les images).

GameShell, le retour

Posté par  . Édité par palm123, Benoît Sibaud et bobble bubble. Modéré par Benoît Sibaud. Licence CC By‑SA.
Étiquettes :
52
26
juin
2021
Ligne de commande

Il y a quelques mois, je postais une dépêche décrivant “GameShell”, un jeu que j’avais développé pour enseigner les bases de la ligne de commandes. Cette dépêche avait provoqué discussions, corrections de bugs et suggestions intéressantes.

Trois mois et quelques centaines de commits plus tard, je me permets de faire une petite mise à jour.

Globalement (mais je suis un peu biaisé), le GameShell d’aujourd’hui est nettement mieux que le GameShell d’hier. Ceci a un coût : la taille d’une archive GameShell a été multipliée par 3. On est passé de 44kio à 140kio !
Je ne sais pas comment on traduit “bloat” en français (“boursouflage” ?), mais pour le moment, ça ne m’empêche pas de dormir !

La version précédente avait été testée par plusieurs générations d’étudiants, parfois très inventifs. Alors n’hésitez pas à vous mettre dans la peau d’un étudiant en faisant une partie avant de me faire un retour.
Je suis preneur de toute critique, suggestion, rapport de bug, ticket, contribution et j’en passe.

Si certains veulent créer des missions, je pourrais faire une petite description de l’architecture d’une mission type. Ce n’est pas très compliqué, et une année, j’ai même eu un étudiant qui en a ajouté une comme « question bonus » !

GameShell, apprendre les rudiments du shell en s'amusant

Posté par  . Édité par claudex et Pierre Jarillon. Modéré par Pierre Jarillon. Licence CC By‑SA.
Étiquettes :
80
26
mar.
2021
Ligne de commande

Il y a 4 ans, j'ai pris en charge un nouveau cours intitulé « système d'exploitation » en première année de licence. Le programme est assez large, avec un peu d'architecture, un peu de système, et même un peu de réseau. Là dedans, je devais faire une introduction au shell. Le risque avec ce genre du truc, c'est de se retrouver avec un catalogue de commandes qui rebutera même les étudiants les plus motivés.

Et c'est comme ça qu'est né GameShell, ou gash pour les intimes. GameShell est un jeu où il faut entrer des commandes dans un shell (bash) pour valider des « missions ». Comme il n'y a pas eu de gros bug ces deux dernières années, je me dis que je pouvais en faire la pub. (Attention, il reste probablement plein de bugs. C'est juste que les étudiants ne sont pas encore tombés dessus !). Ça peut intéresser les gens qui veulent apprendre, ou enseigner les rudiments du shell.

Le code est disponible sur GitHub (promis, je changerais un de ces jours) avec une licence GPL : GameShell sur GitHub

N'hésitez pas à me faire des retours d'utilisation, des rapports de bugs, proposer des fonctionnalités, ajouter des missions, etc.
Si vous l'utilisez « en public », ça serait juste bien d'inclure un lien vers le dépôt et / ou mon nom.

GameShell est un jeu en ligne de commandes, où le joueur doit taper des commandes bash pour valider des « missions ».

Quelle palette de couleurs pour vos outils ?

Posté par  (site web personnel) . Édité par Davy Defaud. Modéré par ZeroHeure. Licence CC By‑SA.
Étiquettes :
57
12
mai
2020
Ligne de commande

Je passe pas mal de temps avec Neovim et des lignes de commande dans un un terminal. J’apprécie d’avoir des couleurs agréables et homogènes. Mais comme c’est quelque chose de très personnel, je vais vous présenter plusieurs alternatives pour choisir une palette de couleurs.

Une capture d’écran avec le thème Nord d’un terminal avec tmux

Trois utilitaires : Delta, Dust et Watchexec

Posté par  (site web personnel) . Édité par Xavier Teyssier, Benoît Sibaud et Davy Defaud. Modéré par Xavier Teyssier. Licence CC By‑SA.
Étiquettes :
47
11
mai
2020
Ligne de commande

J’avais présenté, il y a quelque temps, trois utilitaires écrits en Rust pour remplacer grep, ls et find (à savoir ripgrep, exa et fd). Cette dépêche est l’occasion de présenter trois nouveaux utilitaires également écrits en Rust : delta, dust et watchexec.

« Internet est cassé » ou plutôt : comment tester du TCP ou de l’UDP

Posté par  (site web personnel) . Édité par Arkem, Davy Defaud et Yves Bourguignon. Modéré par Julien Jorge. Licence CC By‑SA.
Étiquettes :
35
3
juil.
2019
Ligne de commande

N. D. L. A. : cet article est généré via une commande du type ansible-playbook InternetEstCassé.yml pour tester réellement les commandes.

Internet est cassé. Le Web ne marche plus. Le réseau est pété. Ça marche pas. Ce site est indisponible. Des lutins bloquent ma connexion. Les tuyaux sont bouchés. Y a Firefox qui veut pas, etc. Quand il y a un souci de réseau, toutes sortes d’imprécations, de suppositions, de supplications ou de raisons sont lancées. Peut‐on aller plus loin et essayer d’y voir plus clair, de déboguer un peu le souci et d’identifier le problème.

On va parler un peu d'IP — surtout la version 4 —, de TCP, d’UDP, d’ICMP, d’ARP, de DNS, de HTTP, etc., d’un peu de vue pratique de vérification du bon fonctionnement ou de recherche d’un souci. En dehors des pages Wikipédia, une lecture utile : la RFC 1180 « A TCP/IP Tutorial » (avec une traduction en français disponible).

Bogue, fonctionnalité, mauvais usage ? Un cas pratique

Posté par  (site web personnel) . Édité par Davy Defaud, David Marec, ZeroHeure et bubar🦥. Modéré par bubar🦥. Licence CC By‑SA.
Étiquettes :
52
31
mar.
2019
Ligne de commande

Dans la rétrospective LinuxFr.org de la première quinzaine de mars 2019, il était question de la réponse surprenante de diff : « Le fichier /var/lib/lxc/alpha/rootfs/dev/full est un fichier spécial‐caractères alors que le fichier /var/lib/lxc/beta/rootfs/dev/full est un fichier spécial‐caractères. »

Les choses auraient pu en rester là. Mais quand même, ça reste une bonne occasion de se demander si c’est un bogue, une fonctionnalité ou un mauvais usage, non ? Jouons un peu avec ce cas pratique.

Dark Moon : une distribution GNU/Cygwin portable pour Windows

Posté par  . Édité par Yves Bourguignon, BAud, Nils Ratusznik, Davy Defaud, palm123, Nÿco, Benoît Sibaud, Bruno Michel, ZeroHeure et pulkomandy. Modéré par Pierre Jarillon. Licence CC By‑SA.
Étiquettes :
14
16
août
2018
Ligne de commande

Dark Moon est un émulateur de terminal open source développé par Mehdi Boutayeb Ferkatou, étudiant à l'université Paul Sabatier, et édité par MBK logiciel dans sa version UWP sur le Microsoft Store.

Dark-Moon

Dark Moon est à ce jour la seule distribution GNU/Cygwin disponible sur le Microsoft Store et sur le site de l’éditeur.

Présentation de The Log File Navigator

Posté par  (site web personnel) . Édité par Davy Defaud, Xavier Teyssier, Nils Ratusznik et ZeroHeure. Modéré par Xavier Teyssier. Licence CC By‑SA.
Étiquettes :
64
2
août
2018
Ligne de commande

The Log File Navigator, ou lnav en plus court, est un outil en ligne de commande pour afficher des journaux, sous licence BSD. Par rapport aux classiques cat, grep ou less, il propose quelques fonctionnalités supplémentaires :

  • il offre de la coloration syntaxique ;
  • il permet d’afficher plusieurs journaux en même temps, les lignes étant triées en fonction de la date et de l’heure à laquelle l’événement est survenu (c’est pratique pour corréler des informations entre plusieurs processus) ;
  • il offre différents modes d’affichage.

Trois outils pour développeur : MailHog, Tokei et Pandoc

Posté par  (site web personnel) . Édité par Davy Defaud, patrick_g et Nils Ratusznik. Modéré par patrick_g. Licence CC By‑SA.
Étiquettes :
51
9
avr.
2018
Ligne de commande

Dans cette dépêche, je vais vous présenter trois outils que j’utilise de temps en temps et qui pourraient servir à d’autres développeurs :

  • MailHog permet d’attraper des courriels pour les examiner ;
  • Tokei compte les lignes de code d’un projet ;
  • Pandoc est un couteau suisse pour manipuler des fichiers et les transformer d’un langage de balisage à un autre.

Des alternatives à grep, ls et find

Posté par  (site web personnel) . Édité par Xavier Teyssier, Davy Defaud et palm123. Modéré par Xavier Teyssier. Licence CC By‑SA.
Étiquettes :
69
19
mar.
2018
Ligne de commande

Les outils en ligne de commande comme ls, grep et find existent depuis de nombreuses années et, même s’ils continuent de s’améliorer, il est parfois intéressant de regarder les alternatives. Je vais vous parler de ripgrep, exa et fd.

Quel terminal pour 2018 ?

Posté par  (site web personnel) . Édité par Davy Defaud, Benoît Sibaud et claudex. Modéré par claudex. Licence CC By‑SA.
Étiquettes :
68
10
mar.
2018
Ligne de commande

Vous connaissez les terminaux, ces petites fenêtres le plus souvent noires où l’on tape des lignes de commande bizarres ? Eh bien, vous risquez d’être surpris : le choix du logiciel pour faire ça n’est pas aussi simple que ça en a l’air et des gens continuent de proposer de nouvelles alternatives. Cette dépêche vise à présenter rapidement quelques fonctionnalités intéressantes que les terminaux historiques ne géraient pas forcément et à présenter quelques terminaux.

Optimisations et corrections pour Fim 1.2.3

Posté par  . Édité par Davy Defaud, Florent Zara, Nÿco, palm123 et ZeroHeure. Modéré par ZeroHeure. Licence CC By‑SA.
17
8
juin
2017
Ligne de commande

Fim (File Integrity Manager) sort dans sa version 1.2.3 avec diverses corrections.

Fim est un gestionnaire de fichiers libre (licence GPL v3) qui permet de gérer de nombreux fichiers de n’importe quelle taille. Il peut, par exemple, gérer des musiques, des photos ou des vidéos. Il est capable de gérer des centaines de milliers de fichiers occupant une taille totale de plusieurs téraoctets. Il peut détecter les fichiers dupliqués et les effacer.

Fim Logo

Effacement des doublons et historique complet pour Fim 1.2.2

Posté par  . Édité par Davy Defaud, Benoît Sibaud, Xavier Teyssier et Nils Ratusznik. Modéré par Xavier Teyssier. Licence CC By‑SA.
31
24
oct.
2016
Ligne de commande

Fim (File Integrity Manager) sort dans sa version 1.2.2 avec diverses améliorations et un support de présentation en français.

Fim est un gestionnaire de fichiers libre (licence GPL v3) qui permet de gérer beaucoup de fichiers de n’importe quelle taille. Il peut, par exemple, gérer des musiques, des photos ou des vidéos. Il est capable de gérer des centaines de milliers de fichiers occupant une taille totale de plusieurs téraoctets. Il peut détecter les fichiers dupliqués et les effacer.

Fim Logo

Sortie de it-edit (Integrated Terminals Editor) 2.91

31
21
juil.
2016
Ligne de commande

IT-Edit (Integrated Terminals Editor) est disponible en version 2.91.

Cette nouvelle version n'apporte pas de nombreuses améliorations par rapport à la version 2.0, mais constitue une étape importante, car elle est désormais basée sur la nouvelle version majeure de la bibliothèque libvte (bibliothèque implémentant un widget d'émulateur de terminal, utilisé par Gnome-terminal.) IT-Edit se met donc à niveau. À cette occasion, de nombreux bugs et imperfections ont été corrigés.

capture d'éran de it-edit-2.91

Liquid Prompt 1.10

Posté par  (site web personnel) . Édité par bubar🦥, ZeroHeure, Florent Zara, Pierre Jarillon et palm123. Modéré par Pierre Jarillon. Licence CC By‑SA.
39
2
juin
2016
Ligne de commande

Le Liquid Prompt est un prompt fluide affichant de manière limpide des informations utiles dans le prompt de votre shell bash ou zsh. Le liquidprompt était déjà bien rempli de fonctionnalités, certaines ont été ajoutées, d'autres corrigées, et leurs performances ont encore été améliorées avec les 216 commits durant les 17 mois écoulés. Il était temps de sortir une nouvelle version officiellement stable.

Je profite de cette dépêche pour remercier chaudement les 35 contributeurs qui par leurs patchs ont contribué à cette version.

Quelques changements sont présentés dans la suite de cette dépêche.

Focus sur les performances avec Fim 1.2.0

Posté par  . Édité par bubar🦥, Benoît Sibaud et Nÿco. Modéré par Florent Zara. Licence CC By‑SA.
18
25
mai
2016
Ligne de commande

Fim (File Integrity Manager) sort dans sa version 1.2.0 avec divers gains de performance.

Fim est un gestionnaire de fichiers libre (licence GPLv3) qui permet de gérer beaucoup de fichiers de n'importe quelle taille. Il peut par exemple, gérer des photos ou des vidéos. Il est capable de gérer des centaines de milliers de fichiers occupant une taille totale de plusieurs téraoctets. Il peut détecter les fichiers dupliqués et aider à les effacer.

Fim Logo

WebVim, une distribution Vim pour le dévelopment web

Posté par  (site web personnel) . Édité par Benoît Sibaud et Nils Ratusznik. Modéré par ZeroHeure. Licence CC By‑SA.
42
13
nov.
2015
Ligne de commande

WebVim est une distribution Vim qui vient avec un lot de greffons pré-configurés et optimisés pour le développement web et JavaScript/node.js.

Logo WebVim

WebVim offre par défaut quelques fonctionnalités sympas, dignes de certains IDE et éditeurs de code spécialisés :

  • coloration syntaxique ;
  • affichage des erreurs de syntaxes et de styles ;
  • auto-complétion ;
  • refactoring ;
  • curseurs multiples ;
  • formatage et alignement automatiques ;
  • prise en compte de conventions d'édition (editorconfig) ;
  • prise en charge de git ;
  • navigation dans les modules nodes.js ;
  • un mode hardcore (où par exemple la touche Esc et les flèches sont désactivées) ;
  • et tout ce que Vim fournit par défaut (par exemple la vérification orthographiques) !

WebVim utilise le gestionnaire de greffons vim-plug en arrière plan et un système de chargement et de configuration avancé.

Kakoune, un éditeur de texte qui a du caractère

Posté par  (site web personnel) . Édité par Lucas, mawww, Anonyme, Benoît Sibaud, patrick_g et Thomas Debesse. Modéré par Benoît Sibaud. Licence CC By‑SA.
Étiquettes :
55
11
nov.
2015
Ligne de commande

Kakoune est un éditeur de texte en console qui gagne a être connu. Cette dépêche a pour but de le faire découvrir à plus de monde.

NdM : Le logiciel est placé par ses auteurs dans le domaine public.

Fim 1.1.0

Posté par  . Édité par Nils Ratusznik et Benoît Sibaud. Modéré par ZeroHeure. Licence CC By‑SA.
31
2
nov.
2015
Ligne de commande

Fim (File Integrity Manager) est un gestionnaire de fichiers libre (licence GPLv3) qui permet de gérer beaucoup de fichiers de n'importe quelle taille. Il peut par exemple, gérer des photos ou des vidéos. Il est capable de gérer des centaines de milliers de fichiers occupant une taille totale de plusieurs téraoctets. Il peut détecter les fichiers dupliqués et aider à les effacer.

Logo de Fim

Les nouveautés de la version 1.1.0 :

  • réécriture de l'algorithme de hachage pour hacher un bloc au début, un au milieu et un à la fin (détails ici) ;
  • détection de corruption due au matériel ou de bug du système de fichiers (détails ici) ;
  • sauvegarde et restauration des permissions des fichiers, utilisation des labels SELinux si disponibles (détails ici) ;
  • prise en compte des fichiers .fimignore pour ignorer des fichiers ou des répertoires (détails ici).

Atelier CLI de la semaine 45/2015 à Bordeaux

Posté par  (site web personnel) . Édité par claudex et Benoît Sibaud. Modéré par claudex. Licence CC By‑SA.
8
27
oct.
2015
Ligne de commande

Les ateliers CLI (Command Line Interface) permettent de progresser en ligne de commande au sein d'un groupe, autour d'un outil ou d'un thème.

Au cours de l'atelier CLIdu mardi 03 novembre, j'ouvrirais le premier atelier consacré aux contrôles d'accès dont le sujet sera les permissions Unix traditionnelles, abrèv. TUP. Lieu : Le Node 12 rue des Faussets 33000 Bordeaux.

L'atelier CLI suivant, fixé au mardi 10 novembre, sera ouvert à la pratique à l'aide d'exemples concrets. Lieu : Labx, à la Cité numérique, 2 rue Marc Sangnier 33130 Bègles.

Les ateliers CLI ont lieu :

  • débutant : animé par Stéphane Ortega, le lundi de 19h00 à 20h30;
  • avancé : animé par un professionnel ou un expert, le mardi de 20h00 à 22h00.