Vue lecture

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.

LSD – Un ls sous stéroïdes écrit en Rust 🚀

Aujourd’hui, on va parler d’un truc qui s’appelle LSD, mais attention hein, je parle pas de votre dernière soirée chemsex hein… C’est plutôt un clone open-source de la commande ls en mode survitaminé ! Développé par la communauté et écrit en Rust, il rajoute plein de fonctionnalités hyper stylées comme les couleurs, les icônes, la vue en arbre, des options de formatage en pagaille…

L’idée vient du projet colorls qui est vraiment super aussi. Mais LSD pousse le délire encore plus loin. Déjà il est compatible avec quasi tous les OS : Linux, macOS, Windows, BSD, Android…

Et hyper simple à installer en plus… un petit

apt install lsd ou brew install lsd

et c’est réglé.

Ensuite il est ultra personnalisable. Vous pouvez faire votre thème de couleurs et d’icônes sur mesure juste en bidouillant des fichiers de config en yaml. Et il supporte les polices Nerd Font avec des glyphes spéciaux trop classes ! Bon faut avoir la bonne police installée sur son système et le terminal configuré, mais c’est pas bien compliqué. Et si vous êtes sur Putty ou Kitty, y’a des tweaks spécifiques à faire, mais c’est expliqué dans la doc.

Mais attendez c’est pas fini ! LSD gère aussi les liens symboliques, la récursion dans les sous-répertoires (avec une profondeur max en option), des raccourcis pour les tailles de fichiers plus lisibles, des indicateurs pour les exécutables, les dossiers, etc. Il peut même vous sortir des infos de git sur les fichiers de ton repo si vous activez l’option ! Et pleins d’autres trucs que j’ai même pas encore testés…

Depuis que je l’ai installé et que j’ai changé mon alias ls, je me régale à chaque fois que je liste un dossier. J’ai l’impression d’être dans un vaisseau spatial avec des néons partout ! Bon j’exagère à peine, mais franchement ça envoie du lourd.

Allez je vais pas tout vous spoiler non plus, je vous laisse le plaisir de découvrir LSD par vous-même et customiser votre expérience du terminal. Moi en tout cas je suis fan, et je dis pas ça parce que je plane ! 😄

Thx Lorenper pour l’outil !

Durdraw – Un éditeur ASCII pour faire l’art rétro dans votre terminal

Attention, pépite de l’espace à vous faire découvrir aujourd’hui ! Ça s’appelle Durdraw et c’est un éditeur de folie pour créer de l’art ASCII, ANSI et Unicode dans votre terminal !

Imaginez pouvoir dessiner des animations old school avec une palette de 16 ou 256 couleurs, en mixant allègrement les caractères CP437 de l’époque MS-DOS avec de l’Unicode moderne. Le tout avec le support de thèmes customisés et de l’export en HTML et mIRC.

Si comme moi vous avez grandi avec des softs de légende comme TheDraw et PabloDraw, vous allez retrouver direct vos repères, mais avec la puissance et la souplesse du monde Unix en plus.

Durdraw est codé en Python donc pour l’installer c’est ultra simple, un petit coup de pip ou de git clone et vous êtes parés pour entrer dans la 4ème dimension de l’ANSI art 😎.

git clone https://github.com/moneamis/durdraw-demo

cd durdraw-demo

./setup.sh

durdraw -p demo.dur

Les devs ont même pensé à inclure une config d’exemple et des thèmes bien sentis pour pas être largué en arrivant. Une fois lancé, préparez-vous à entrer dans la matrice : ça fourmille de raccourcis clavier dans tous les sens pour éditer au caractère et à la couleur près. Les nostalgiques des BBS apprécieront les commandes à base d’échappement, pendant que les plus modernes pourront même utiliser la souris pour peaufiner leurs chef d’oeuvres.

Et là où Durdraw se pose, c’est qu’il gère les animations image par image avec un contrôle total du timing. Fini l’époque où on dépendait du débit du modem, maintenant on créé des petits flip book ASCII qui restent stables même quand on redimensionne le terminal à la volée. Ça c’est de la qualité mes p’tits potes !

Bon après faut pas se leurrer, Durdraw ne rendra pas votre minitel compatible avec Unreal Engine 5 hein. Mais entre nous, est-ce qu’on a vraiment besoin d’aller jusque là quand on peut déjà pousser l’art ANSI dans ses derniers retranchements ? En plus l’auteur est hyper réactif sur GitHub pour améliorer son bébé au fil des contributions. C’est ça aussi la magie de l’open-source !

Bref, foncez sur https://durdraw.org, et lâchez-vous dans les créations bien rétro !

Merci à Lorenper pour l’info.

Alacritty – Le terminal nouvelle génération ultra rapide

Envie d’un terminal nouvelle génération qui allie performance et flexibilité ? Ne cherchez plus, Alacritty est fait pour votre bonheur !

Disponible sur toutes les plateformes qui comptent (Linux, macOS, Windows, BSD ^^), ce terminal au look sobre et épuré cache sous son capot une configuration ultra complète. Pas besoin de réinventer la roue, Alacritty s’intègre avec vos applications préférées pour vous offrir une expérience sur-mesure sans compromis sur la vitesse. Bon OK, c’est encore un peu jeune, il est un peu long à configurer et il reste quelques fonctionnalités à ajouter et bugs à corriger, mais ça n’empêche pas de nombreux baroudeurs du shell de l’utiliser quotidiennement. YOLO comme on dit.

Mais Alacritty, c’est pas qu’un simple émulateur de terminal de base. Il embarque des features bien pratiques pour améliorer la vie des accros de la ligne de commande :

  • Vous aimez vim ? Ça tombe bien, avec le mode Vi vous pouvez retrouver vos réflexes pour vous déplacer et sélectionner du texte.
  • Vous avez la flemme de scroller manuellement pour retrouver une commande ou une erreur ? Utilisez la recherche intégrée pour localiser ce que vous voulez en un clin d’œil.
  • Vous en avez marre de jongler entre votre souris et votre clavier ? Avec les hints façon regex, plus besoin de quitter le clavier, interagissez avec n’importe quel texte à l’écran.
  • Votre PC rame quand vous ouvrez 10 terminaux en même temps ? Pas de problème, avec le mode multi-fenêtres , un seul process Alacritty est partagé intelligemment.

Et je vous ai parlé que de quelques fonctionnalités, y’en a bien d’autres à découvrir dans la doc.

Après la théorie, passons à la pratique. Pour l’installer, c’est ultra simple. Si vous êtes sur macOS ou Windows, direction la page des releases GitHub pour chopper le binaire. Sous Linux ou BSD, il est sûrement déjà dans le gestionnaire de paquets de votre distrib. Sinon, les instructions détaillées vous expliqueront comment compiler depuis les sources.

Une fois installé, pas besoin de vous embêter à configurer, les options par défaut sont déjà pas mal. Mais si vous voulez quand même mettre votre patte, le fichier de config en TOML se trouve, en fonction de votre OS, dans $XDG_CONFIG_HOME/alacritty, $HOME/.config/alacritty ou %APPDATA%\alacritty.

Par exemple, pour l’installer sous macOS, vous pouvez faire également :

brew install --cask alacritty

Puis créer un fichier de config comme ceci :

mkdir -p ~/.config/alacritty && touch ~/.config/alacritty/alacritty.toml

Voici un exemple de config à mettre dedans pour obtenir un truc comme ça :

# Configuration du shell et des variables d'environnement
shell = { program = "/bin/zsh", args = ["-l"] }

[env]
TERM = "xterm-256color"

# Activation du rechargement dynamique de la configuration
#live_config_reload = true

# Configuration de la fenêtre pour un look minimaliste et semi-transparent
[window]
decorations = "buttonless"
dynamic_padding = false
opacity = 0.9
padding = { x = 25, y = 20 }

# Configuration de la police personnalisée avec styles spécifiques pour différents états du texte
[font]
size = 20.0
[font.normal]
family = "JetBrains Mono"
style = "Medium"
[font.bold]
family = "JetBrains Mono"
style = "Heavy"
[font.italic]
family = "JetBrains Mono"
style = "Medium Italic"
[font.bold_italic]
family = "JetBrains Mono"
style = "Heavy Italic"

# Configuration des couleurs
[colors]
[colors.primary]
background = '#282a36' # Arrière-plan foncé
foreground = '#f8f8f2' # Texte clair
[colors.cursor]
text = 'CellBackground'
cursor = '#ff79c6' # Couleur du curseur
[colors.selection]
text = 'CellBackground'
background = '#44475a'

# Configuration du curseur
[cursor]
style = { shape = "Block", blinking = "On" }
thickness = 0.25

# Ajout de raccourcis clavier pour améliorer l'efficacité
[keyboard]
bindings = [
  { key = 'N', mods = 'Control|Shift', action = 'CreateNewWindow' },
  { key = 'C', mods = 'Control|Shift', action = 'Copy' },
  { key = 'V', mods = 'Control|Shift', action = 'Paste' },
  { key = '+', mods = 'Control', action = 'IncreaseFontSize' },
  { key = '-', mods = 'Control', action = 'DecreaseFontSize' },
  { key = '0', mods = 'Control', action = 'ResetFontSize' }
]

Mais du coup, c’est vraiment le terminal le plus rapide ?

Difficile à dire… Mesurer les perfs d’un terminal, c’est compliqué. Sur les benchmarks, en tout cas, Alacritty s’en sort bien, surtout grâce à l’accélération GPU. Après, sur des critères plus subjectifs comme la latence ou la fluidité de l’affichage, difficile de départager les challengers. Le mieux est de l’essayer et de voir s’il convient à VOS usages.

Par contre, ne vous attendez pas à retrouver toutes les fonctionnalités de terminaux plus anciens. Pas de tabs, pas de splits, Alacritty se concentre sur son cœur de métier. Pour ces features, votre gestionnaire de fenêtres ou un multiplexeur comme tmux feront très bien l’affaire. Et si vous voulez faire un peu de customisation, il faudra vous plonger dans la doc.

Après, si jamais il vous manque un truc indispensable, le projet est ouvert aux contributions. Alacritty est d’ailleurs distribué sous licence Apache 2.0. Donc si vous vous sentez de rajouter ce p’tit truc manquant, la communauté vous accueillera à bras ouverts. Comme quoi, y’a pas que Microsoft qui sait faire dans l’open source ! mdr.

En attendant de voir vos pull requests pleuvoir sur ce projet, je ne peux que vous conseiller de tester Alacritty. Vous verrez, c’est le genre d’outil auquel on s’habitue vite et qui change la vie. Bon OK, ça reste un terminal, faut pas exagérer non plus. N’empêche que depuis que j’ai goûté à la fluidité de son rendu, j’avoue que j’aurais du mal à revenir en arrière !

Merci à Lorenper

Toolong – Un excellent outil pour gérer vos fichiers de log

Non, Toolong n’est pas ce qu’a dit votre correspondante américaine la première fois qu’elle vous a vu en maillot de bain. C’est plutôt (le chien) un outil vachement pratique qui s’utilise ne ligne de commande et qui permet d’afficher, suivre en temps réel, fusionner les fichiers de log et d’y rechercher tout ce que vous voulez.

L’outil est capable d’appliquer une petite coloration syntaxique sur les formats de journalisation classique comme ceux d’un serveur web par exemple. Il est également capable d’ouvrir très rapidement de gros fichiers même s’ils font plusieurs gigas.

Si vous travaillez avec des fichiers JSONL, Toolong les affichera également au format pretty print. Il prend également en charge l’ouverture des fichiers .bz et .bz2.

De quoi arriver à vos fins beaucoup plus facilement qu’en jouant avec tail, less, ou encore grep.

Toolong est compatible avec Linux, macOS et Windows et pour l’installer Toolong, la meilleure solution actuelle consiste à utiliser pipx :

pipx install toolong

Vous pouvez également l’installer avec Pip :

pip install toolong

Note : Si vous utilisez Pip, il est recommandé de créer un environnement virtuel pour éviter les conflits de dépendances potentiels.

Une fois Toolong installé, la commande tl sera ajoutée à votre PATH. Pour ouvrir un fichier avec Toolong, ajoutez les noms de fichiers en arguments de la commande :

tl fichierdelog.log

Si vous ajoutez plusieurs noms de fichiers, ils s’ouvriront dans des onglets. Ajoutez l’option --merge pour ouvrir plusieurs fichiers et les combiner en une seule vue :

tl access.log* --merge

Voilà, l’essayer, c’est l’adopter. Si vous manipulez de gros logs, Toolong pourra vous faire gagner un max de temps !

Merci à Lorenper

Terminaux IHM industriels 2ips à base de Raspberry Pi 5

J’avais déjà eu l’occasion de vous présenter la gamme de terminaux industriels 2ips à base de Raspberry Pi (IHM inox en 2019 et Terminal IHM à base de RasPi 4 en 2022). Avec l’arrivée du Raspberry Pi 5, 2ips a amélioré la qualité de ses terminaux et propose deux nouveaux IHM (Interface Homme Machine) tactiles […]

Cet article Terminaux IHM industriels 2ips à base de Raspberry Pi 5 a été publié en premier sur Framboise 314, le Raspberry Pi à la sauce française.....

❌