Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierinformatique général
  • ✇Korben
  • Déjà - Il devine ce que vous allez taper dans le terminal
    L'humain est paresseux par nature, mais alors je ne vous raconte pas quand il s'agit de taper des lignes de commande... Mais bon, l'IA est arrivée dans nos vies et maintenant nous ne sommes plus que des gros sacs de viande et de graisse dont le cerveau se ramollit jour après jour. Donc, foutu pour foutu, autant y aller à fond et c'est pour cela qu'aujourd'hui, je vais vous parler de l'application Deja. Deja est un outil de remplacement intelligent pour un autre outil dont je vous ai déjà parlé q

Déjà - Il devine ce que vous allez taper dans le terminal

Par : Korben ✨
31 juillet 2026 à 10:04

L'humain est paresseux par nature, mais alors je ne vous raconte pas quand il s'agit de taper des lignes de commande... Mais bon, l'IA est arrivée dans nos vies et maintenant nous ne sommes plus que des gros sacs de viande et de graisse dont le cerveau se ramollit jour après jour. Donc, foutu pour foutu, autant y aller à fond et c'est pour cela qu'aujourd'hui, je vais vous parler de l'application Deja.

Deja est un outil de remplacement intelligent pour un autre outil dont je vous ai déjà parlé qui s'appelle ZSH Auto Suggestions qui va carrément deviner votre prochaine commande ZSH. C'est un truc qui fait donc de la prédiction de commande. Pour l'installer, vous pouvez passer par homebrew ou curl et hop, comme par magie, ce sera intégré directement à votre fichier .zshrc. Ensuite, vous rechargez votre terminal et c'est parti.

Deja remplace zsh-autosuggestions, le plugin de complétion dont dépend aussi zsh-copilot , donc il ne faut surtout pas garder les deux dans votre plugins=(). En effet, les deux réécrivent les mêmes widgets ZLE, et heureusement, quand deja détecte que l'autre est chargé, il affiche une ligne d'avertissement et se met en retrait plutôt que de coincer votre éditeur de ligne. Si vous gérez votre zsh avec Oh My Zsh ou zinit, il existe aussi une intégration dédiée pour chacun, et dans ce cas il faut enlever la ligne eval que l'installeur a ajoutée au .zshrc, sinon l'intégration est chargée deux fois.

Autre chose à savoir tout de suite, sinon vous allez chercher un moment : la suggestion s'accepte avec la flèche droite, pas avec Entrée (ça c'est pour envoyer la commande). Ensuite, Ctrl et flèche droite n'acceptent que le mot suivant, Tab ouvre la liste des alternatives classées sans quitter la ligne, et Ctrl+X coupe les suggestions pour toute la session.

Ça se base sur tout un tas de paramètres que je ne vais pas tous vous lister, mais en gros Deja est au courant du répertoire où vous êtes. Ensuite, si vous tapez des commandes mal fichues, il sera capable de vous en suggérer qui devraient correspondre à votre besoin. Et puis après, il y a l'historique et un score de fréquence ce qui fait que l'outil est vraiment hyper prédictif. Il n'y a pas d'IA derrière, c'est vraiment de l'algorithmie pure, mais ça rend bien des services. Surtout si vous tapez à peu près tout le temps les mêmes commandes au même moment, aux mêmes endroits.

Par exemple, l'outil retient que vous lancez make test après make build, et pondère la suggestion en conséquence. Les quatre signaux, correspondance floue, fréquence combinée à la récence avec une demi-vie d'une semaine, affinité avec le répertoire courant et probabilité d'enchaînement, sont fondus dans un score unique.

Le "flou", lui, se règle en trois crans selon l'écart toléré entre les lettres que vous tapez. Tight n'en laisse passer qu'un seul, smart jusqu'à quatre (c'est le réglage par défaut), et loose jusqu'à huit. En smart, taper par exemple gco proposera git checkout main ; alors qu'en loose, ça partira chercher beaucoup plus loin. Et Shift + flèche droite permet de passer au cran de "flou" suivant sans quitter la ligne.

Bref, je pense que ça va vous faire gagner un max de temps.

deja est publié sous licence MIT, se pose sur macOS et Linux, et ne connaît que zsh. Et si l'essai ne vous convainc pas, la désinstallation se fait en 4 étapes : enlever la ligne eval du .zshrc, tuer le démon avec pkill -f 'deja daemon', supprimer ~/.local/share/deja/, puis retirer le binaire avec brew uninstall deja ou, si vous êtes passé par le script curl, en supprimant le fichier posé dans ~/.local/bin/.

  • ✇Korben
  • uhubctl - Couper le courant d'un port USB en une commande
    Votre clé 4G ou Wifi que vous avez connectée en USB sur un vieux serveur situé au fond du garage, plante une fois ou deux fois par semaine et à chaque fois faut aller débrancher la clé et la rebrancher pour la réveiller / ressusciter ? Et bien c'est fini la galère les amis, puisque uhubctl règle ça en une commande. Cet outil coupe puis rallume le courant d'un port USB précis, sans que vous n'ayez à toucher au moindre câble. C'est donc un petit utilitaire en ligne de commande, écri

uhubctl - Couper le courant d'un port USB en une commande

Par : Korben ✨
24 juillet 2026 à 07:57

Votre clé 4G ou Wifi que vous avez connectée en USB sur un vieux serveur situé au fond du garage, plante une fois ou deux fois par semaine et à chaque fois faut aller débrancher la clé et la rebrancher pour la réveiller / ressusciter ? Et bien c'est fini la galère les amis, puisque uhubctl règle ça en une commande. Cet outil coupe puis rallume le courant d'un port USB précis, sans que vous n'ayez à toucher au moindre câble.

C'est donc un petit utilitaire en ligne de commande, écrit en C par Vadim Mikhailov, qui pilote l'alimentation électrique de vos ports USB un par un. uhubctl -a off -p 2 éteint le port 2, -a on le rallume, et -a cycle enchaîne les deux avec une petite pause au milieu. C'est pile-poil ce qu'il faut pour rebooter par exemple un modem 4G figé ou une webcam qui ne répond plus.

Par contre, désolé mais ça ne fonctionne pas sur n'importe quel hub USB. Il vous faut un hub intelligent qui gère le per-port power switching, autrement dit capable de couper le jus d'un seul port sans toucher aux autres. Rassurez-vous, si vous ne savez pas quoi acheter, le projet maintient une liste de modèles compatibles que vous pouvez consulter ici .

Après y'a certains hubs qui coupent bien la connexion data mais laissent passer le courant (le fameux VBUS). Du coup vous croyez avoir éteint le port, et le téléphone branché dessus continue tranquillement de charger. Alors pour vérifier, branchez un ventilo ou une petite lampe USB et lancez la coupure. Si ça s'arrête vraiment, votre hub est bon. Sinon il sait uniquement couper la data, et pas l'alim.

Mais en tout cas, une fois le bon matériel entre les mains, les usages deviennent vraiment sympas ! Par exemple, avoir un disque dur USB alimenté seulement quand vous en avez besoin, histoire de tuer le phantom load qui bouffe du courant pour rien (pensez juste à bien le démonter avant de couper le jus, sinon bonjour la corruption ^^).

Y'a aussi le cluster de Raspberry Pi que vous allumez et éteignez nœud par nœud. Ou encore un plugin OctoPrint qui coupe l'alim USB de l'imprimante 3D une fois l'impression finie. Y'a même des bidouilleurs qui pilotent un ventilo ou une guirlande LED avec.

Côté installation, rien de méchant : apt install uhubctl sur Debian, Ubuntu et Raspbian, brew install uhubctl sur Mac. Sous Linux il faudra passer par sudo ou poser une règle udev pour les permissions, sinon l'outil râlera. Sur Windows par contre, laissez tomber pour la coupure d'alim. Le driver USB de Microsoft ne laisse pas passer la commande, donc uhubctl compile mais n'éteint rien du tout.

Et si vous visez le Raspberry Pi, gardez un œil sur ses bizarreries car sur pas mal de modèles, tous les ports sont liés. Si vous en coupez un, vous les coupez tous. La parade classique, c'est donc de brancher un vrai hub compatible sur le Pi et de piloter ses ports à lui.

Et si vous cherchez quoi en faire côté DIY de votre Pi, j'avais listé 130 idées pour votre Raspberry Pi qui se marient bien avec ce genre de contrôle à distance.

Bref, si vous bricolez de la domotique ou un rack de Raspberry Pi, vérifiez d'abord votre hub, puis foncez. C'est gratuit, open source et ça évite pas mal d'allers-retours vers la multiprise.

  • ✇Korben
  • Tanko - Lire des mangas dans le terminal en scred
    Si vous passez votre vie dans un terminal et que vous avez réussi un jour à quitter tout seul Vi / Vim, voici une application qui va vous intéresser. Il s'agit de Tanko , signé Alexandro Mendez, un outil en ligne de commande qui permet de lire et télécharger vos mangas préférés directement depuis un terminal. C'est, en gros, le même concept que youtube-dl mais pour les scans japonais. Pour installer Tanko, ouvrez un terminal et entrez la commande suivante : pnpm install -g tanko (npm marche auss

Tanko - Lire des mangas dans le terminal en scred

Par : Korben ✨
22 juin 2026 à 11:34

Si vous passez votre vie dans un terminal et que vous avez réussi un jour à quitter tout seul Vi / Vim, voici une application qui va vous intéresser. Il s'agit de Tanko , signé Alexandro Mendez, un outil en ligne de commande qui permet de lire et télécharger vos mangas préférés directement depuis un terminal. C'est, en gros, le même concept que youtube-dl mais pour les scans japonais.

Pour installer Tanko, ouvrez un terminal et entrez la commande suivante : pnpm install -g tanko (npm marche aussi). Une fois que c'est fait, y a plus qu'à lancer tanko. Plus besoin d'aller sur les sites en question, vous entrez vos critères de recherche et hop, vous lisez votre chapitre directement. Les chapitres que vous téléchargez en PDF atterrissent dans $HOME/tanko/downloads/.

Après, Tanko affiche les vraies pages en image, à condition d'utiliser un terminal moderne comme Kitty, Ghostty ou WezTerm qui gèrent les protocoles graphiques (Kitty graphics, Sixel). Mais surtout dans un terminal basique, genre le terminal intégré de VS Code ou le bon vieux CMD de Windows, Tanko basculera en mode ASCII Art.

J'suis sûr que vous voyez où je veux en venir... Votre boss passe derrière vous, voit des caractères bizarres défiler dans VS Code, et repart convaincu que vous compilez un truc alors que pendant ce temps-là vous suivez peinard le dernier chapitre de One Piece... niark niark niark.

Côté fonctions, vous avez l'historique de lecture, un menu de config, les notifications et le support de plusieurs sources de scans. Attention quand même, certaines sources scrappent les sites via un navigateur, donc il faudra installer Firefox avec npx playwright install firefox. Après c'est pas non plus obligatoire et vous pouvez vous contenter des sources qui n'en ont pas besoin.

L'outil est cool mais après en ce qui me concerne, lire un manga en ASCII Art c'est marrant 30 secondes, mais pour de la vraie lecture je vous conseille vraiment d'opter pour l'un des terminaux avec support des images que je vous ai cités plus haut.

Et si votre but c'est juste d'aspirer des tonnes de scans, le vieux mangal est plus complet, même s'il est archivé depuis avril 2025 et que plus personne ne le maintient... sniiif. Dans le même style, ça me rappelle aussi Lue qui vous lit vos ebooks en audio dans le terminal et si vous préférez un truc avec une vraie bibliothèque, jetez plutôt un œil à Kavita .

Et enfin, roulements de tambours, pour savoir où trouver vos scans sans finir en correctionnelle, j'avais fait un guide sur le manga et le scantrad .

Bref, c'est gratuit, mais à consommer avec modération pendant les heures de boulot, bande d'ennemis du capitalisme ^^ !!

  • ✇Korben
  • Nano-PDF - Éditez vos PDF grâce à l'IA Nano Banana
    Modifier un PDF, c’est toujours la galère surtout si c’est un PDF avec que des images sans texte sélectionnable. Soit vous avez Adobe Acrobat qui coûte une couille, soit vous vous tapez des outils en ligne douteux, soit vous exportez en Word et vous priez pour que la mise en page survive. Bref, vous faites vos trucs de losers…. Mais ça c’était sans compter sur Nano-PDF qui propose une approche radicalement différente : Vous décrivez ce que vous voulez changer en langage naturel, et l’IA se charg

Nano-PDF - Éditez vos PDF grâce à l'IA Nano Banana

Par : Korben
1 décembre 2025 à 13:10

Modifier un PDF, c’est toujours la galère surtout si c’est un PDF avec que des images sans texte sélectionnable. Soit vous avez Adobe Acrobat qui coûte une couille, soit vous vous tapez des outils en ligne douteux, soit vous exportez en Word et vous priez pour que la mise en page survive. Bref, vous faites vos trucs de losers….

Mais ça c’était sans compter sur Nano-PDF qui propose une approche radicalement différente : Vous décrivez ce que vous voulez changer en langage naturel, et l’IA se chargera du reste.

Par exemple, si vous avez une présentation PDF avec une faute de frappe sur la slide n°5, au lieu de galérer avec un éditeur, vous tapez juste

`nano-pdf edit ma_presentation.pdf 5 "Corrige la faute sur le mot 'investisement'"`

Et hop, c’est réglé. Vous voulez mettre à jour un graphique avec les données de 2025 ? Pareil, vous décrivez le changement et l’outil se débrouille !

Nano-PDF utilise le modèle Gemini 3 Pro Image de Google (surnommé “Nano Banana Pro”) pour interpréter vos instructions et générer les modifications visuelles. Le workflow technique est d’ailleurs bien fichu puisque les pages PDF sont converties en images via Poppler , envoyées au modèle avec votre prompt, puis les images générées sont reconverties en PDF avec une couche de texte restaurée par OCR via Tesseract. Du coup, vos PDF restent sélectionnables et cherchables après modification, contrairement aux solutions qui vous filent des images aplaties.

Côté fonctionnalités, y’a pas mal de choses sympas. Vous pouvez par exemple éditer plusieurs pages en une seule commande, créer de nouvelles slides qui respectent le style visuel de votre deck existant, même utiliser des pages de référence pour que l’IA comprenne mieux votre charte graphique, et le traitement par lot est géré en parallèle pour gagner du temps sur les grosses présentations.

L’installation passe par pip avec

`pip install nano-pdf`

Et comme je vous le disais, il vous faudra aussi Poppler pour le rendu PDF et Tesseract pour l’OCR. Et attention, petit détail qui a son importance, l’API Gemini Pro Image nécessite un compte payant. Faudra sortir la thune car les clés gratuites ne permettent pas de générer des images… donc bon, prévoyez quelques euros de crédit Google Cloud si vous voulez tester.

Le truc cool, c’est par défaut c’est du 4K en résolution, mais vous pouvez descendre en 2K ou 1K si vous voulez économiser sur les coûts d’API. Y’a aussi une option --use-context qui envoie tout le texte du PDF au modèle pour qu’il comprenne mieux le contexte de vos modifications. Et si vous créez une nouvelle slide, cette option est activée par défaut pour que le résultat soit cohérent avec le reste du document.

Voilà, si vous passez votre vie à modifier des présentations PDF et que vous en avez marre des workflows à rallonge, installez Nano-PDF . C’est open source sous licence MIT, et ça change la vie !

Merci Lorenper pour le partage !

  • ✇LinuxFr.org : les dépêches
  • Charta, des nouvelles !
    Charta est un outil libre (licence Apache-2.0) en ligne de commande écrit en Go pour générer des graphiques colorés dans un terminal. Plusieurs types de graphiques sont proposés (simple, min/moy/max, cumul, comparaison) ainsi que divers formats d'entrée (JSON, YAML, texte brut et l'entrée standard stdin). Charta offre des options d'entrée flexibles, une sortie colorée avec des couleurs personnalisables, des capacités de regroupement pour l'analyse de données et un support de seuils avec des nive

Charta, des nouvelles !

Charta est un outil libre (licence Apache-2.0) en ligne de commande écrit en Go pour générer des graphiques colorés dans un terminal. Plusieurs types de graphiques sont proposés (simple, min/moy/max, cumul, comparaison) ainsi que divers formats d'entrée (JSON, YAML, texte brut et l'entrée standard stdin). Charta offre des options d'entrée flexibles, une sortie colorée avec des couleurs personnalisables, des capacités de regroupement pour l'analyse de données et un support de seuils avec des niveaux d'avertissement et d'alerte. Parfait pour la visualisation de données dans les environnements terminaux et les workflows de scripts shell.

Le voici maintenant en version 0.3.1. Les nouveautés et visuels sont disponibles dans la suite de la dépêche.

Principales nouveautés

  • Refactorisation du code, simplifiant la gestion des plugins
  • Gestion des valeurs négatives pour les graphique simple et minmax
  • Ajout de titre aux graphiques (facultatif)
  • Ajout de légendes aux graphiques (facultatif)
  • Ajout du type de graphique compare permettant la comparaison de 2 valeurs. Ceci permet par exemple la génération de pyramides des âges.
  • Ajout de type de graphique cumul

Copies d'écran

Simple depuis Stdin

Simple depuis Stdin

Minmax depuis Stdin

Minmax depuis Stdin

Cumul depuis Stdin

Cumul depuis Stdin

Compare depuis un fichier texte

label=>100
12.67 2.976
new
label=95-99
8.273 2.058
19.813 4.977
27.754 7.239
37.882 10.101
48.398 14.477
new
label=90-94
61.235 20.525
76.447 27.317
91.072 34.519
105.456 44.797
124.322 55.382
new
label=85-89
139.226 66.602
164.803 83.373
175.872 95.104
192.55 108.339
195.596 116.712
new
label=80-84
210.98 131.872
213.902 139.041
222.853 153.145
226.088 160.969
232.663 171.854
new
label=75-79
239.598 182.015
231.318 179.151
221.914 177.799
249.057 204.674
269.401 224.687
new
label=70-74
279.055 234.112
286.325 242.793
378.561 327.085
400.876 350.179
409.072 361.485
new
label=65-69
413.673 364.312
422.019 374.817
408.05 364.694
418.007 374.781
413.428 371.165
new
label=60-64
421.875 381.146
424.094 382.395
427.893 390.345
430.912 395.817
433.635 400.042
new
label=55-59
442.263 410.415
444.709 416.331
444.896 421.161
445.047 422.099
460.412 438.142
new
label=50-54
464.153 444.96
459.31 442.828
457.665 441.979
447.421 432.749
450.472 434.971
new
label=45-49
452.879 441.572
457.896 448.697
466.462 457.822
469.527 459.886
460.384 448.213
new
label=40-44
435.157 426.173
413.722 404.346
404.35 390.441
413.671 404.816
414.208 399.149
new
label=65-39
424.441 405.581
448.307 427.643
442.482 421.707
438.39 416.777
414.133 391.214
new
label=30-34
417.815 396.435
420.79 398.786
422.167 397.979
413.955 392.786
409.842 390.899
new
label=25-29
405.038 385.034
397.08 384.835
385.366 377.772
376.224 373.66
357.966 356.195
new
label=20-24
358.614 357.849
367.951 371.731
374.177 381.869
370.258 384.384
384.532 398.993
new
label=15-19
390.002 410.714
412.56 433.377
409.037 431.086
403.441 423.901
402.532 422.127
new
label=10-14
403.761 422.877
405.218 424.141
415.28 433.073
408.166 426.744
410.703 430.934
new
label=5-9
408.232 427.917
412.555 429.919
403.349 418.623
396.835 417.471
389.92 407.611
new
label=0-4
387.042 399.232
372.402 387.906
363.162 378.518
355.472 370.453
347.749 364.155

Compare depuis un fichier texte

Vous souhaitez contribuer ?

Les contributions sont les bienvenues ! N'hésitez pas à forker le dépôt, proposer des améliorations, signaler des bugs ou soumettre des pull requests. Les empaqueteurs pour les différentes distributions sont également les bienvenus. La génération du paquet n'est pas compliquée puisqu'un simple go build génère un exécutable qui n'a besoin d'aucune dépendance.

Packaging status

Commentaires : voir le flux Atom ouvrir dans le navigateur

  • ✇LinuxFr.org : les dépêches
  • Interminable liste de terminaux
    Ah, la ligne de pêche Maginot commande ! Que ce soit pour gérer ses fichiers, récupérer des commits, lancer une compilation, se connecter à un serveur, redémarrer un service, consulter les logs, voire contrôler la musique, afficher des images, cette interface reste en 2025 exceptionnellement boomer rapide et même parfois confortable. Sans compter que le terminal est l'endroit où lancer des applications dédiées, pour lire ses mails ou un million d'autres choses. Bref rappel avant se lancer dans

Interminable liste de terminaux

Ah, la ligne de pêche Maginot commande ! Que ce soit pour gérer ses fichiers, récupérer des commits, lancer une compilation, se connecter à un serveur, redémarrer un service, consulter les logs, voire contrôler la musique, afficher des images, cette interface reste en 2025 exceptionnellement boomer rapide et même parfois confortable.

Sans compter que le terminal est l'endroit où lancer des applications dédiées, pour lire ses mails ou un million d'autres choses.

Bref rappel avant se lancer dans de longues comparaisons

  • TTY vient de teletypewriter. Si vous tapez (Xorg comme Wayland) Control + Alt + F3 par exemple, vous vous retrouverez devant une invite de commande.
  • pts/pty : quand vous ouvrez un terminal

L'invite de commande pourra bénéficier d'un shell personnalisé. Le bureau permettra l'usage d'un terminal.

    Sommaire

    Le jeu de les shells

    Le shell est un interpréteur de commande. On peut simplement lancer une commande pour consulter l'état du système (top, ps), déplacer un fichier (mv), … Ou combiner des commandes, écrire des scripts basés sur des conditions et des variables, … Donc comme l'explicite le manuel GNU, un shell unix est la fois un interpréteur de commande et un langage de programmation.

    La plupart des distributions utilisent par défaut "Bash", mais il est possible de changer de shell, par exemple interactivement en utilisant la commande chsh ("change shell"), ou en modifiant les paramètres d'un terminal en particulier, ou d'un multiplexeur, ou encore plus globalement en modifiant le shell par défaut d'un user (faites un peu attention dans ce cas — les shells ne sont pas tous compatibles, ne tombez pas !).

    Les shells tombent

    Les scripts précisent aussi quel shell invoquer… Si je prends un tuto sur un shell au hasard, voici ce que je vais trouver

    #!/bin/bash
    # This script will take an animated GIF and delete every other frame
    # Accepts two parameters: input file and output file
    # Usage: ./<scriptfilename> input.gif output.gif

    Attention : ce script référence explicitement /bin . Pas 100% sûr que bash y soit installé. Une solution peut être d'utiliser env.

    #!/usr/bin/env bash

    Hormis interpréter les commandes tapées, le shell affiche également un prompt invitant à taper une commande. Quelque chose comme cela :

    [goat@arch:~]$ 
    

    Pour la partie prompt, certains shells vont autoriser un peu de paramétrage, ou l'on peut même installer des plugins pour enrichir les possibilités, comme avec powerline ou même le liquid prompt présenté ici même par son auteur Dolmden.

    On peut aussi trouver un prompt comme starship qui est utilisable avec les différents shells.

    De la préhistoire au Bash

    Pour l'histoire, le premier shell Unix date de 1971, puis le Bourne Shell (sh), du nom de son auteur, apparait en 1977. Beaucoup de fonctionnalités sont déjà présentes : il est scriptable (on peut définir un script avec des conditions dont la si laide esac, définir des boucles, …), les processus peuvent être contrôlés, il est possible de définir des alias, …

    Bourne Shell implémente la norme POSIX que d'autres shells respectent. La licence du Bourne Shell est débatue (avec une certaine vigueur sur Wikipédia!) , en tout cas son code est ici.

    KORN shell n'était, au départ, pas open source - le code n'est libéré que dans les années 2000. Korn Shell implémente les fonctionnalités du Bourne Shell mais ajoutera d'autres éléments, comme des raccourcis vi/emacs, ou comme les tableaux

    $ typeset -A age
    $ age[bob]=42
    $ age[alice]=31
    $ print ${age[bob]}
    42
    

    GNU BASH : /bin/bash

    GNU Bash

    B.A.S.H. = Bourne Again Shell (superbe jeu de mots avec Born Again Shell). Bash implémente la norme POSIX… et un peu plus.

    GNU bash connait une première release en 1989. Il reprendra à son compte des fonctionnalités trouvées jusqu'ici dans de précédents shells, y compris Korn Shell. Bash reste le shell interactif par défaut sur de nombreuses distributions. Il fut le shell sous MacOS.

    Anecdote - quel est le plus gros programme bash que vous connaissiez ? nb, qui propose de gérer vos notes en mode texte (org, markdown, etc), est principalement composé d'un script .sh de … 26736 lignes. Je vous laisse partager vos trouvailles en commentaire !

    DASH : le Debian Almquist shell est renommé ainsi en 1997. Debian l'adopte par défaut pour les scripts, tandis que le shell interactif des utilisateurs reste bash. Ubuntu y passe par défaut sur la 6.10. Dash est léger et performant. Moins de dépendances égal plus de sécurité.

    ZSH

    ZSH ZSH sort en 1990. Toujours compatible avec la norme POSIX, Zsh va améliorer de bien pratiques fonctionnalités d'auto-complétion : appuyez sur <TAB> et Zsh complète pour vous.

    Mais bien plus largement, Zsh va atteindre le paroxysme en terme de fonctionnalités. Tout existe dans Zsh.

    Zsh est connu pour proposer de très nombreuses possibilités de configuration. Ses plugins se comptent par centaine — y compris plusieurs gestionnaires de plugins… Mais un outil très utilisé pour le configurer sort du lot : Oh my zsh, qui permet de gérer plus de 300 plugins ainsi que de nombreux thèmes.

    FISH

    Fish

    Fish pour "Friendly Interactive Shell", date de 2005. C'est un shell non POSIX - certaines fonctionnalités ne seront pas compatibles. Un script bash ne marchera pas forcément.

    Ce shell se veut demander peu de configuration - il est prêt à l'emploi. Choix appréciable quand on peut déjà passer tant de temps à configurer d'autres choses (distro, bureaux, nano, terminaux..)  !

    Il suffit de l'installer pour avoir

    • une coloration syntaxique indiquant quelle commande est valide
    • suggestions : en tapant, on obtient des candidats que l'on peut auto-compléter

    Fish est également scriptable et se veut proposer un syntaxe plus saine. À vous de tester (mais vous ne codez qu'en Rust, n'est-ce pas ?)

    Le gros point de Fish à mon sens, c'est de proposer une configuration par défaut déjà utilisable, comme le fait de se baser sur les pages man ainsi que sur l'historique pour proposer l'auto-complétion. Oubliez les heures passées à configurer - je ne sais pas si Fish a le plus de chevaux dans le moteur, mais avec lui vous êtes déjà prêts à partir.

    Petite fonctionnalité sympa, taper fish_config ouvre une page ouaibe. On peut alors prévisualiser les thèmes, personnaliser le prompt, visualiser les fonctions et variables, consulter l'historique et les raccourcis claviers. Fish a un mode vi.

    Fish a été réécrit en Rust entre 2022 et 2024.

    Ravissant multiplex, 200 mètres carrés

    Gnu Screen

    Ok donc nous avons un shell à choisir, y compris le prompt et il faudra le lancer dans un terminal, mais avant ça, si on avait un gestionnaire de fenêtre dans le gestionnaire de fenêtre ? C'est bien comme cela qu'est présenté GNU Screen, qui gère des fenêtres, typiquement de terminaux. C'est un multiplexeur, en français : la possibilité d'ouvrir plusieurs terminaux dans un seul terminal. GNU Screen sait lister les terminaux ouverts, passer de l'un à l'autre, en tuer… Comme souvent, le wiki arch détaille bien notre affaire concernant screen. Mais GNU Screen est un vieux de la vieille, qui date de 1987.

    Tmux

    Plus souvent cité de nos jours, Tmux (2007) propose des raccourcis à la Emacs ou à la Vim, un menu graphique, des splits verticaux ou horizontaux.

    Zellij

    Il existe d'autres multiplexeurs. On peut citer par ex. Zellij, orienté développeurs, qui affiche une barre de statut, peut afficher les raccourcis claviers…

    Envolez-vous vers un nouveau terminal

    Le choix d'un terminal pourra définir l'apparence de votre interface, comment vous gérez le multi-fenêtre et/ou multi-onglet, la capacité à rechercher, copier-coller, les raccourcis clavier, peut être même comment accéder aux emplacements, vous connecter en ssh.

    Certains terminaux proposent un mode inspiré de Guake (première release 2007), lui même inspiré du terminal dans Quake : le terminal est toujours ouvert et dispo, mais caché et l'appui d'un raccourci clavier le fera apparaître. Le temps de taper trois commandes et le même raccourci le fera disparaître. À voir ce qui se fait encore sous Wayland, je vois par ex. qu'il y a encore une extension GNOME.

    La console sur le bureau

    Première piste : tout simplement utiliser la terminal qui vient avec son bureau, si l'on en utilise un. Évidemment le premier avantage sera une bonne intégration, mais en pratique ?

    Nous verrons aussi plus bas certains terminaux qui sont le terminal par défaut de gestionnaires de fenêtre, mais il s'agit simplement d'un choix par défaut et pas d'une affiliation ni d'une intégration particulière, donc pas de raison de les mentionner ici.

    Console (GNOME)

    Le terminal par défaut a changé sous GNOME 42 (euh bah oui c'était y'a un moment), pour devenir GNOME Console (anciennement Kings Cross Station d'où kgx — j'ai cherché l’exécutable un moment…). Assez peu de fonctions particulières mais : devient rouge lorsqu'on est connecté en root ou violet en ssh, envoie une notif quand une longue commande se termine, sympa. Un bouton de recherche un peu étonnant peut s'avérer pratique. Clairement la logique est d'afficher peu de boutons, peu de choix, et d'investir sur des options par défaut qui fonctionnent. Je ne vais pas retenir Console pour mon usage mais je trouve qu'effectivement c'est un terminal élégant.

    Pour changer le shell de Console, il faudra passer par l'éditeur dconf et modifier l'option org.gnome.Console.shell.

    Certaines distributions ont préféré maintenir gnome-terminal, plus complet, mais gnome-terminal est resté Gtk3 (alors que kgx est bien Gtk4).

    Petite note sur kgx et gnome-terminal : ces terminaux sont basés sur la libvte dont dépendent d'autres terminaux GTK. Voici quelques exemple cités par une page du wiki gnome :

    On pourrait y ajouter Lxterminal (merci à Impromptux).

    Konsole

    Konsole

    Le choix logique pour le bureau KDE. En termes de fonctionnalités, c'est l'artillerie lourde. Multi-profils, signets, multiplexeur, prévisualisation d'images. Konsole est intégrée dans plusieurs applications KDE.

    Pour changer le shell de Konsole, vous pouvez passer par le menu Settings > Configure Konsole > Profiles .

    C'est le moment de mentionner Qtermwidget : ce widget fut originellement basé sur Konsole et servit à développer Qterminal.

    xfce-terminal

    Terminal par défaut du bureau Xfce. Il dépend et hérite de libvte. Il est en Gtk3.

    • Permet plusieurs onglets
    • Intégration avec un gestionnaire de fichiers (ouverture dans le répertoire courant du terminal)
    • Prévention de collage dangereux : quand ça contient un retour chariot, ouvre une popup qui permet d’inspecter et modifier le contenu dangereux.
    • Permet d’envoyer un signal au processus en cours
    • Permet d’avoir une console rapide à la Guake
    • Permet de colorer les onglets manuellement.

    Il est possible de changer le shell dans les préférences.

    Terminology

    Terminology

    Ce terminal sort en 2013, il fait partie du bureau Enlightenment Je pense que c'est le premier terminal à pouvoir afficher des images. Il est possible d'avoir des informations en survolant une URL. Une barre de progression s'affiche durant l’exécution de commandes. Les performances sont au rendez-vous. (Subjectif - serait-ce tout simplement la meilleure appli e17?)

    Emacs et (Neo)Vim

    Mais plutôt que d'utiliser le terminal intégré à son environnement de bureau, pourquoi ne pas utiliser directement celui intégré à son éditeur de texte? Un bon éditeur de texte en effet a forcément son bon terminal. Même Vim? Et oui. C'est donc une solution de lancer le terminal depuis l'éditeur de texte, par exemple pour reproduire les fonctionnalité d'une IME vivre sa vie entière en mode texte.

    Emacs

    Démarrons tout de même par Emacs, où la prise en charge du terminal est plus ancienne.

    Emacs a… 4 terminaux, pourquoi faire simple. 4 terminaux ? Non pas vraiment : 2 shell et 2 terminaux. Il peut y en avoir plus.
    En fait, puisqu'on peut, malgré la rumeur, bel et bien éditer du texte dans emacs, pourquoi ne pas gérer ses commandes au même endroit ? On peut même s'amuser à gérer ses fichiers dans dired, ses processus, finalement un peu tout l'aspect système.

    Mastering Emacs le développe mieux que moi mais vous aurez donc plusieurs possibilités sous Emacs :

    2 SHELLS

    • eshell, le plus emacsien des 2 : un shell 100% implémenté en elisp (!!!). On peut faire beaucoup de emacs dedans , mais tout ne fonctionnera pas. Ne lancez pas journalctl dedans ^^
    • shell. Même chose, ne lancez pas journalctl

    2 TERMINAUX

    • term / ansi-term. Cette fois c'est vraiment un terminal, mais… lent.
    • vterm. Ok cette fois c'est vraiment un terminal, et ça utilise une bibliothèque en C derrière, donc ouf un vrai terminal Emacs existe bel et bien. Attention vterm a besoin d'une bibliothèque.

    Oui je pense qu'il y a vraiment des utilisateurs du terminal sous Emacs. Et il est possible de trouver de petits benchmarks sur les réseaux comme par exemple reddit.

    Vim

    Qui a dit que vim n'était pas bloated et ne pouvait pas gérer cela? (À sa défense vim ne gère pas encore l'email.. ) Vim prend en charge le terminal depuis la version 8.1. Pour changer le shell dans vim, ajouter cette commande dans le fichier de config

    :set shell=/usr/bin/zsh
    

    Les indies

    Pourquoi utiliser le terminal de son bureau, ou de son éditeur de texte, alors que l'on peut utiliser un million d'autres ? Bienvenue dans la jungle. Ne m'en voulez pas si votre petit favori n'est pas listé ici, mais rajoutez sa description en commentaire - il a existé de bien trop nombreux concurrents, et même en se limitant aux projets actifs la liste est bien trop longue. La liste ici pourrait compléter cette dépêche.

    Je rappelle que sont listés ici les terminaux qui sont proposés par défaut sous certains gestionnaires de fenêtre, le parti pris étant que dans ce cas il n'y ait pas d'intégration particulière, contrairement par exemple au terminal KDE.

    Enfin la liste se veut à moitié lister les terminaux populaires actuels, à moitié lister quelques terminaux plus pour un intérêt historique, mais cette dépêche n'étant pas une thèse cette volonté sera assez peu rigoureuse.

    Blackbox

    Blackbox terminal n'est pas affilié à GNOME ni un terminal officiel mais est développé avec cet environnement en tête. Il utilise Gtk4.

    Ptyxis

    Là c'est un cas à part : pour reprendre sans recul le readme.md :

    A modern terminal emulator built for the container era.
    Seamlessly navigate between your host system and local containers like Podman,
    Toolbox, and Distrobox with intelligent detection and a beautiful, responsive
    GNOME interface.

    L'intérêt est donc d'intégrer les conteneurs de toutes sortes pour y accéder rapidement (et les définir rapidement).

    Ptyxis

    Il semblerait qu'il puisse devenir le terminal par défaut sous Ubuntu (25.10?).

    St

    La philosophie de st, dont la première release, 0.1, est de 2017, c'est de rester simple et léger - le point que son site discute, c'est le nombre de lignes de codes limité que devrait avoir un terminal. Son auteur serait fainéant ? Ce terminal sous licence MIT/X Consortium s'apparente à mon sens à un reliquat du passé : il tourne sur X et uniquement sur X (oui, oui je sais pour Xwayland). Néanmoins il m'a paru logique de le citer ici.

    Kitty

    Kitty a une place importante car il a légué quelque chose aux successeurs… Il implémente en effet des extensions venant étendre le protocole historique.

    Ce terminal tourne sous Python et requiert OpenGL. Malgré son âge (première release 2017), c'est le choix par défaut pour Hyprland.

    Kitty offre une tonne de raccourcis claviers, gère les onglets/fenêtres, peut afficher des images, sait afficher des notifications et bien d'autres choses. En terme de philosophie, il se veut orienté power-user.

    Alacritty

    Alacritty se veut un terminal simple et est écrit en Rust. Il est sortit en 2017. Alacritty respecte XDG en cherchant en priorité un fichier de config $XDG_CONFIG_HOME/alacritty/alacritty.toml.

    C'est le terminal par défaut pour au moins deux gestionnaires de fenêtre Wayland très différents l'un de l'autre : Wayfire et Niri.

    • vi mode : appuyez sur control + shift + space et vous passez dans le mode "normal" de vi (par opposition au mode insertion). Les touches au lieu de permettre de taper du texte, permettront alors de se déplacer, sélectionner du texte, le copier…
    • ctrl shift o pour afficher des "hint" sur les URL, ce qui permet de les activer en 1 touche
    • recherche normal (ctrl shift f ) , recherche vi
    • multi fenêtre (spawn new instance)
    • theme https://github.com/alacritty/alacritty-theme

    Pas d'onglet, pas de split — utiliser un multiplexeur au besoin.

    Foot

    Ce serait un peu le successeur de St, au sens où il est codé en C et les premières fonctionnalités mises en avant sont la légèreté et la performance, mais en natif Wayland. Pour autant Foot n'est pas avare sur certaines fonctionnalité. Sa première release est de 2019. C'est le terminal par défaut pour Sway, Dwl.

    Il faudra le configurer à l'aide d'un fichier texte, et foot respectant XDG, ce sera ici $XDG_CONFIG_HOME/foot/foot.ini. Foot propose pas mal de raccourcis claviers, dont le même Hint mode que Alacritty : taper Ctrl Shift O .

    Au cas où il ne serait pas assez léger, Foot propose un mode serveur.

    Wezterm

    De nouveau un terminal en Rust. Wezterm se veut complet, et cross-platform. Il affiche des images, gère les hyperliens, la connexion en SSH avec un client intégré, fait office de multiplexeur.

    Il se configure en Lua.

    Ghostty

    Ghostty

    Ghostty est sous licence MIT. LWN l'a présenté. Il s'agit d'une application récente, début en 2022, v1.0 fin 2024.

    Une barre gtk4 permet d'afficher les onglets, d'en créer un nouveau. Sympatique fonction, ghostty +list-keybinds --default montre toutes les options (et un raccourci permet d'éditer le fichier de config). On peut aussi lister les thèmes avec ghostty +list-themes.

    Peut afficher des gifs, comme Kitty.

    Ghostty se veut un compromis entre la vitesse, les fonctionnalités, l'interface, et cross-platform. Il se veut agréable sans avoir besoin de modifier le paramétrage par défaut. Et il est petit, le paquet Debian par exemple fait 113 Ko.

    Vous pouvez changer le shell sous Ghostty :

    ~/.config/ghostty/config:
    command = /usr/local/bin/fish --login --interactive
    
    

    De plus Ghostty intègre des fonctionnalités "Shell-integration".

    Rio

    (2022)
    https://github.com/raphamorim/rio
    vi mode, hyperlinks, images,

    Le shell peut être modifié dans la config, plusieurs exemples sont fournis

    [shell]
    program = "pwsh"
    args = ["-l"]

    Warp

    Alors là on bascule du côté obscur de l'IA !… et du proprio. Warp est d'abord une entreprise, qui a souhaité réimaginer un outil des développeurs - le terminal. Ce terminal, écrit en Rust, ne sera pas open source : https://github.com/warpdotdev/Warp/discussions/400

    À la première ouverture, Warp suggère d'ouvrir un compte « pour bénéficier de toutes les fonctionnalités ». Ensuite, on ne se trouve pas directement dans une console mais Warp propose plutôt d'ouvrir / cloner un projet. Un raccourci permet cependant de lancer une session normale…
    … Si ce n'est qu'outre des commandes, on peut taper des phrases ! En passant par Claude pour les interpréter… L'IA peut également suggérer des commandes en se basant sur votre historique. Tout ceci peut être désactivé dans les paramètres. Les fonctionnalités IA requièrent une connexion Internet.

    J'ai par exemple testé "Install Wave term from the internet". Warp a commencé par vérifier s'il y avait une commande de disponible "yay", mais cette commande n'était pas dispo sur mon système. Il a alors intelligemment testé d'autres gestionnaires de AUR et a trouvé que paru était installé. De là, il a découvert waveterm dans les dépôts AUR et m'a suggéré d'utiliser paru -S waveterm-bin (control+entrée pour valider, et gogogo). Une fois ces folies passées, on revient à une expérience normale où la commande se déroule (pensez à lire les AUR avant d'installer aveuglément !)

    Quand vous parcourez un projet, Warp peut indexer ces projets pour améliorer les suggestions.

    Au lieu d'utiliser votre clavier pour taper, Warp peut reconnaître votre voix. Outre des commandes ou des phrases, il est possible de commencer par un "/" pour taper une "slash command".

    Il y a également des fonctionnalités d'équipe, notamment une fonctionnalité de collaboration en temps réel. Certaines fonctionnalités sont payantes.

    Warp propose un certain nombre de fonctionnalités classiques : personnalisation du prompt, apparence, raccourcis claviers, …

    L'entreprise fournit un benchmark où Warp s'en sortirait aussi bien que Kitty ou Alacritty sur vtebench

    WaveTerm

    Waveterm est un peu la réponse open source à Warp (Apache 2.0).

    Quand on l'ouvre la première fois, c'est la foire ! à gauche, le panneau invite de commande qui occupe un tiers de l'écran.
    Tiers du milieu : en haut la consommation du CPU (hein?). Au milieu, un bout de page internet (hein?). En bas, un explorateur de projet. Tiers à droite : en haut, des raccourcis clavier qui s'affichent. Au milieu, un bout de doc sur Wave. En bas, une invite pour Wave IA. Bien sûr il s'agit d'une démo et il sera possible de personnaliser ce qui est visible au démarrage. Il est également possible lorsqu'on utilise un des "blocs" de le passer en mode "pleine fenêtre" puis le réduire par la suite.

    Bon, testons l'invite IA en demandant d'installer… Warp! Il commence par m'expliquer les différentes méthodes d'install en fonction de l'OS (ah ! il n'a pas détecté…). J'explique que j'utilise Arch et il me dit d'utiliser un AUR helper ou de cloner le dépôt du AUR. Mais il ne détecte pas si j'ai paru ou yay ou autre.

    On peut utiliser d'autres modules IA. Wave inclut également un explorateur de fichiers.
    Les paramètres se gèrent bloc par bloc - on paramètre d'un côté les blocs que l'on souhaite au démarrage, de l'autre pour un bloc donnée, par exemple les préférences.

    3. Liens

    Norme POSIX sur le shell

    https://linuxfr.org/news/gameshell-apprendre-les-rudiments-du-shell-en-s-amusant

    Bref cours sur le shell

    Cours plus complet sur le Bourne Shell

    Revue de fish :

    Autre revue de Fish

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    • ✇Korben
    • Comment j'ai sauvé un ami photographe
      Si vous cherchez un moyen de récupérer vos fichiers perdus sans vendre un rein, je vous invite à regarder ma dernière vidéo où j’explique comment j’ai sauvé le cul d’un ami photographe avec PhotoRec. L’ami en question (salut Miquel !) avait perdu toutes ses photos RAW qui étaient sur un SSD de 480 Go et avait déjà claqué un peu de fric dans un logiciel Windows tout pourri qui n’avait rien récupéré du tout. Alors forcément, quand il m’en a parlé l’air de rien pendant mes vacances, j’ai sorti mon

    Comment j'ai sauvé un ami photographe

    Par : Korben
    25 septembre 2025 à 12:28

    Si vous cherchez un moyen de récupérer vos fichiers perdus sans vendre un rein, je vous invite à regarder ma dernière vidéo où j’explique comment j’ai sauvé le cul d’un ami photographe avec PhotoRec. L’ami en question (salut Miquel !) avait perdu toutes ses photos RAW qui étaient sur un SSD de 480 Go et avait déjà claqué un peu de fric dans un logiciel Windows tout pourri qui n’avait rien récupéré du tout. Alors forcément, quand il m’en a parlé l’air de rien pendant mes vacances, j’ai sorti mon chapeau de magicien pour l’aider !

    Dans la vidéo, je vous montre donc toute la procédure : comment faire une copie bit par bit de votre disque avec DD (parce que oui, on travaille TOUJOURS sur une copie, jamais sur l’original), comment lancer PhotoRec, naviguer dans ses menus ASCII old school et surtout comment ne pas paniquer quand vous voyez défiler les lignes de commande. Et voilà…

    Maintenant si vous voulez vous entrainer avant le prochain drame, créez-vous un petit environnement de test avec une vieille clé USB. Mettez quelques fichiers dessus, formatez-la, et essayez de tout récupérer avec PhotoRec… C’est le meilleur moyen d’être prêt le jour où ça vous arrivera pour de vrai, parce que croyez-moi, ça vous arrivera.

    Voilà, maintenant vous savez comment j’ai sauvé les photos de Miquel et comment vous pouvez sauver les vôtres.

    • ✇LinuxFr.org : les dépêches
    • Dispositio, une bibliothèque Shell POSIX pour afficher des tables de données
      Si, comme moi, vous avez eu à reprendre et adapter du script shell pour afficher des tableaux avec mise en forme dans le terminal ou dans des scripts générant des syntaxes Markdown ou Textile (Génération automatique de ticket Redmine), alors vous serez sans doute intéressé par Dispositio (licence Apache v2). Dispositio est un script shell conforme POSIX qui permet l’affichage des tables de données provenant de fichiers CSV, JSON et YAML dans le terminal. Il offre un formatage avancé, un support

    Dispositio, une bibliothèque Shell POSIX pour afficher des tables de données

    Si, comme moi, vous avez eu à reprendre et adapter du script shell pour afficher des tableaux avec mise en forme dans le terminal ou dans des scripts générant des syntaxes Markdown ou Textile (Génération automatique de ticket Redmine), alors vous serez sans doute intéressé par Dispositio (licence Apache v2).

    Dispositio est un script shell conforme POSIX qui permet l’affichage des tables de données provenant de fichiers CSV, JSON et YAML dans le terminal. Il offre un formatage avancé, un support des couleurs, et peut-être utilisé comme un outil en ligne de commande autonome ou comme une bibliothèque shell pour la génération de tableaux.

    Fonctionnalités clés

    • Formats d’entrée multiples (CSV, YAML et JSON)
    • Utilisation en CLI ou en bibliothèque (dans ce cas, utilisation de fonctions dispositio_add_* pour ajouter des colonnes, lignes ou cellules)
    • Formatage de la sortie (couleurs, mise en forme, style de texte et alignements)
    • Sortie en format Terminal, Markdown (avec CSS, non compatible Github) et Textile (Redmine)

    Exemples avec ce fichier JSON

    {
      "title": [
        "JSON",
        "Essai"
      ],
      "display": "top",
      "color": "",
      "align": "center",
      "columns": [
        {
          "title": [
            "Header1",
            ""
          ],
          "color": "red",
          "align": ""
        },
        {
          "title": [
            "Header2",
            "Essai"
          ],
          "color": "",
          "align": ""
        },
        {
          "title": [
            "Header3",
            ""
          ],
          "color": "",
          "align": ""
        }
      ],
      "rows": [
        {
          "title": [],
          "color": "green",
          "align": "",
          "valign": "top",
          "separator": 1,
          "cells": [
            {
              "lines": [
                "Row1",
                "Cell1",
                "essai"
              ],
              "color": "",
              "align": ""
            },
            {
              "lines": [
                "",
                "Row1 - Cell2",
                ""
              ],
              "color": "",
              "align": ""
            },
            {
              "lines": [
                "",
                "Row1 - Cell3",
                ""
              ],
              "color": "",
              "align": ""
            }
          ]
        },
        {
          "title": [],
          "color": "",
          "align": "",
          "separator": 0,
          "cells": [
            {
              "lines": [
                "Row2 - Cell1"
              ],
              "color": "",
              "align": ""
            },
            {
              "lines": [
                "Row2 - Cell2"
              ],
              "color": "",
              "align": ""
            },
            {
              "lines": [
                "Row2 - Cell3"
              ],
              "color": "",
              "align": ""
            }
          ]
        }
      ]
    }
    Sortie Terminal

    Terminal

    Sortie Markdown
    <style>
        .dpo table{margin: 0px auto;}
        .dpo_title{
            text-align: center;
            font-style: bold;
            font-size: 24px;
        }
        .dpo th{
            background: grey;
            text-align: center;
            vertical-align: top;
            font-style: bold;
        }
        .dpo td:nth-child(1){
            background: red;
        }
        .dpo th:nth-child(1){
            background: brown;
        }
        .dpo tr:nth-child(1){
            background: green;
            vertical-align: top;
        }
        .dpo  tr:nth-child(1) td:nth-child(1){
            background: olive !important;
        }
    </style>
    
    <div class='dpo'>
    <div class='dpo_title'>
    JSON<br>Essai<br>
    </div>
    
    | Header1 | Header2<br>Essai | Header3 |
    |-|-|-|
    | Row1<br>Cell1<br>essai | Row1 - Cell2 | Row1 - Cell3 |
    | Row2 - Cell1 | Row2 - Cell2 | Row2 - Cell3 |
    
    
    </div>

    Markdown

    Sortie Textile
    h1{text-align:center; font-size:24px}. *JSON<br>Essai<br>*
    
    table{margin: 0px auto}.
    |^.
    |_={background-color:brown}. Header1 |_=. Header2<br/>Essai |_=. Header3 |
    |={background-color:olive; vertical-align:top}. Row1<br/>Cell1<br/>essai |={background-color:green; vertical-align:top}. Row1 - Cell2 |={background-color:green; vertical-align:top}. Row1 - Cell3 |
    |={background-color:red; vertical-align:middle}. Row2 - Cell1 |={vertical-align:middle}. Row2 - Cell2 |={vertical-align:middle}. Row2 - Cell3 |
    

    Textile

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    • ✇LinuxFr.org : les dépêches
    • Au source du fun N° Zéro : retrouver le fun dans le libre
      La plupart des logiciels libres sont devenus indispensables dans la vie professionnelle des gens sérieux qui perdent leur vie à la gagner. Heureusement la productivité n’est pas une fatalité. Avec Au source du fun, LinuxFr.org inaugure une série de dépêches pour les gens marrants qui veulent perdre leur temps sans gagner leur vie ! Ce premier épisode traite des inutilitaires dans le libre. Il est conseillé de le consulter pendant un temps parfaitement inutile telle que la réunion du comité exé

    Au source du fun N° Zéro : retrouver le fun dans le libre

    La plupart des logiciels libres sont devenus indispensables dans la vie professionnelle des gens sérieux qui perdent leur vie à la gagner.

    Heureusement la productivité n’est pas une fatalité. Avec Au source du fun, LinuxFr.org inaugure une série de dépêches pour les gens marrants qui veulent perdre leur temps sans gagner leur vie !

    Ce premier épisode traite des inutilitaires dans le libre. Il est conseillé de le consulter pendant un temps parfaitement inutile telle que la réunion du comité exécutif sur la stratégie IA de votre entreprise.

    Sommaire

    Je (NdM : chilinhualong) médite souvent sur cette dualité de notre époque hyper moderne : nos machines n’ont jamais été aussi puissantes, et pourtant, nous n’avons jamais été aussi prisonniers de leurs schémas de demande de productivité au détriment d’une certaine liberté d’exister. Chaque clic doit servir à quelque chose, chaque touche pressée doit justifier son existence. Mais il fut un temps où l’on savait encore jouer avec les ordinateurs — comme des enfants jouent avec des boîtes en carton — pour le simple plaisir de l’exploration.

    Je me souviens de ces après-midi perdus à cliquer sur des programmes qui ne servaient à rien et qui transformaient le clavier en instrument désaccordé ou dessinaient des fractales hypnotiques. On appuyait sur Échap et il ne se passait… rien… de sérieux. Il restait juste ce sourire idiot, comme lorsqu’on trouve un caillou parfaitement lisse sur le sentier du hasard.

    J’ai l’impression, dans la même perspective qu'Eugène Ionesco* et Nuccio Ordine, que ce qu’on nomme « inutile » est souvent ce qui nous touche le plus. Un poème. Un rayon de soleil dans une tasse vide. Un programme open-source qui n’offre rien d’autre qu’une expérience qui nous rappelle notre capacité à nous émerveiller. Ainsi, l’autre jour, j’ai repensé à l’arbre de Zhuangzi, celui qu’on n’abattit pas parce que « trop tordu pour être utile ». Comme lui, des logiciels non-productivistes ont existé précisément parce qu’ils refusaient la logique du rendement.

    « *Si on ne comprend pas l’utilité de l’inutile, l’inutilité de l’utile, on ne comprend pas l’art ; et un pays où l’on ne comprend pas l’art est un pays d’esclaves et de robots, un pays de gens malheureux, de gens qui ne rient pas ni ne sourient, un pays sans esprit ; où il n’y a pas l’humour, où il n’y a pas le rire, il y a la colère et la haine »Ionesco

    Je revois :

    • L’Amiga, boîte magique dont chaque registre électronique faisait jaillir des vitraux numériques étincelants — où le #FF00FF n’était pas une simple valeur hexadécimale, mais la pourpre même de quelque adolescence éternelle retrouvée sur Aminet.

    • Les soundtrackers, laboratoires de sons modulaires où nous apprenions, comme des enfants maladroits devant un piano désaccordé, que la musique naît d’abord des contraintes — ces boîtes à rythmes qui clignotaient dans la pénombre des chambres d’étudiant, démiurges d’un futur artistique encore à explorer.

    • Les démos minimalistes, merveilles cousues dans l’étroit habit du kilooctet, où chaque opcode était un ciselé économe dans le minimum de mémoire d’une disquette 1,44 mégaoctet — ainsi la démonstration tenait sur l’équivalent d’un mouchoir de poche numérique.

    • Les jeux faits maison /Homebrew/, bâtards glorieux nés d’un « goto » mal placé et d’une nuit sans sommeil, où le hasard des bugs engendrait des monstres plus charmants que toutes les mécaniques bien huilées — ces bugs qui devenaient des fonctionnalités.

    • L’art ASCII, calligraphie de l’ère du terminal – où chaque caractère est un coup de pinceau, et chaque ligne un sourire qui charge en 256 caractères

    • Les inutilitaires, ces petits riens qui valaient tous les logiciels sérieux — parce qu’ils ne servaient à rien, justement, et qu’en cela ils ressemblaient aux poèmes, aux baisers, aux collections de cailloux dans les poches des enfants.

    « Au Source du Fun » – ce titre, ce sont ces cailloux tombés dans nos poches « au petit bonheur la chance », un petit rappel de ces jours où l’informatique sentait encore l’aventure. Où l’on ouvrait un programme comme on ouvre un livre trouvé par hasard, sans savoir quelle histoire il allait nous raconter.

    Ainsi, cher Journal, nous (Devnewton & ChilinHuaLong) te proposons cette fois-ci de revisiter les sources du fun via ces inutilitaires oubliés, et nous laisser surprendre. Sans objectif. Sans KPI. Juste pour le plaisir de (re)voir ce qui arrive. Revoir ces résistants numériques qui furent au code ce que les situationnistes furent à la ville : des semeurs de trouble bienveillants.

    L’ASCII art, entre calligrammes numériques et typogrammes icôniques.

    À l’aube de l’informatique, les écrans n’affichaient que du texte (ASCII), sans images ni sons. On était encore loin de l’âge du multimédia, pourtant anticipé par McLuhan, et des outils open source comme Blender, Gimp ou Inkscape, qui ont donné naissance à des œuvres tels que Flow,Elephants Dream, Big Buck Bunny… Le clavardage était déjà de rigueur, et les salons IRC et les BBS fleurissaient. Ainsi vint le succès des émoticônes ;-) : ces caractères prirent leur envol grâce à la communication textuelle virtuelle.
    Ensuite, vinrent l’art ASCII (ou ASCII art), qui consiste en une succession de caractères de la table ASCII formant une image intelligible. Les artistes numériques et autres hackers rivalisaient d’ingéniosité pour afficher sur l’écran ces œuvres cyber-expressionnistes. La demoscene a aussi récupéré cette nouvelle forme d’art.
    Bien que l’on distingue rarement l’ASCII art en catégories comme on le ferait en peinture, deux « courants » divergents :

    • Les œuvres "réalistes" sous forme de calligrammes, qui s’inspirent de médias antérieurs (photos, dessins animés, 3D, bandes dessinées, logotypes, films) et substitue des groupes de pixels par des caractères ASCII.
    • Les œuvres "schématistes" : les caractères forment des typogrammes, schémas iconiques dont les smileys qui représentent des émotions sous leurs formes les plus simples.

    Pour l’approche schématique, chaque caractère compte autant par son essence que par sa forme. En revanche, les approches réalistes ne considèrent que la silhouette d’ensemble : on peut y échanger des lettres comme remplacer tous les v par des b sans bouleverser l’image. À l’inverse, dans une émoticône – forme minimale –, modifier un seul signe déplace toute la signification.

    Entre ces deux pôles s’étend une palette de degrés : nous explorerons ces nuances à travers les inutilitaires libres

    ASCII art schématique


    SL

    L’inutilitaire sl sort du lot. En effet, il offre un clin d’œil amusant aux dyslexiques ou aux utilisateurs maladroits avec leur clavier en affichant un train ASCII traversant le terminal. Derrière cette animation se cache une parodie de la fameuse commande ls (listing) : ici, le nom est inversé, et le programme affiche une locomotive filant à toute allure, avertissant l’utilisateur qu’une faute de frappe a provoqué cette inversion de lettres.

    SL Train


    Cbonsai

    Envie de cultiver un bonsaï, mais vous n’êtes pas un expert en jardinage ? cbonsai est là pour vous ! Ce programme permet de faire pousser un bonsaï directement dans votre terminal. Un petit projet zen pour adoucir vos sessions de travail.

    CBonsai Zen


    Asciiquarium

    Si vous aimez les poissons mais que votre appartement est déjà trop plein d’animaux (chat, chien, hamster…), Asciiquarium vous permet de créer un aquarium animé dans votre terminal. C’est comme avoir un petit coin de nature, sans les inconvénients du bruit des poissons.

    Asciiquarium


    Moon-Buggy

    Certains jeux ont ainsi été conçus, comme le célèbre nethack, Moon-Buggy, lui aussi, possède un graphisme réduit à sa plus simple expression. Vous incarnez un pilote de véhicule lunaire qui doit éviter les cratères et détruire les rochers. La jouabilité est bonne, et celui-ci garde le charme de son gameplay. Ce jeu est une version ASCII de Moon Patrol, un classique de l’arcade des années 80.

    Moon Buggy


    Hollywood Hacker Screen Style

    Dans presque tous les films hollywoodiens, on voit des hackers tapant sur leur clavier, entourés de lignes de code, de diagrammes et de chiffres qui défilent rapidement sur un terminal. On va recréer cette scène culte dans la réalité grâce à un outil simple qui transforme votre terminal Linux en un véritable terminal de hacking à la Hollywood, en temps réel.

    Hollywood Hacker Screen Style


    Cmatrix

    Dans la continuité de l’esprit de la représentation hollywoodienne du hacker, un inutilitaire s'inspirant de Neo vous est proposé. Ainsi, si vous avez aimé le film Matrix — ou du moins si l’idée de voir des caractères verts tomber à toute vitesse sur votre écran vous amuse — cmatrix vous permet de recréer cette animation. À vous de jouer pour vous glisser dans la peau de Keanu Reeves, avec des lunettes noires et un air aussi expressif qu’un parpaing.

    cmatrix


    Lolcat

    Lolcat est une commande qui fonctionne comme cat pour afficher du texte dans le terminal, mais avec une particularité : le texte s’affiche en couleurs arc-en-ciel, façon mème Internet. Parfait pour égayer un monde de terminal parfois bien trop monotone.

    lolcat


    L’ASCII art schématique dans les descriptifs et les commentaires de codes sources

    Qu’il s’agisse d’un terminal austère, d’un LISEZMOI / README oublié, des fichiers ID.DIZ retrouvés sur disque dur, des commentaires perdus dans un code source, ces dessins ASCII ne se contentent pas d’être décoratif — ils sont une rébellion contre la platitude du texte brut.

    Boxes

    Boxes apporte une touche d’élégance aux interfaces texte en générant des cadres sophistiqués, allant du simple rectangle épuré aux motifs plus élaborés. Cet outil permet de mettre en valeur des titres, des messages ou des éléments clés, transformant ainsi une sortie console ordinaire en une présentation soignée. Une solution discrète mais efficace pour ajouter du relief visuel à l’environnement terminal, tel que par exemple le code source de l’Ascii calendrier Snoopy - repris dans l’historiographie du MIT Press - .

    
    
     __   _,--="=--,_   __
             /  \."    .-.    "./  \
            /  ,/  _   : :   _  \/` \
            \  `| /o\  :_:  /o\ |\__/
             `-'| :="~` _ `~"=: |
                     (_)     `/
         .-"-.   \      |      /   .-"-.
    .---{     }--|  /,.-'-.,\  |--{     }---.
     )  (_)_)_)  \_/`~-===-~`\_/  (_(_(_)  (
    (        Different all twisty a         )
     )         of in maze are you,         (
    (           passages little.            )
     )                                     (
    '---------------------------------------'
    
    Figlet

    Fan d’ASCII art qui a du style ? Figlet est fait pour vous ! Ce petit malin transforme vos mots en typographies géantes et stylées, façon panneau publicitaire rétro. Avec sa collection de polices variées, créez des designs qui claquent en une seule commande – parfait pour pimper vos scripts ou égayer un terminal trop sérieux.

     _____ ___ ____ _      _   
    |  ___|_ _/ ___| | ___| |_ 
    | |_   | | |  _| |/ _ \ __|
    |  _|  | | |_| | |  __/ |_ 
    |_|   |___\____|_|\___|\__|
    

    figlet

    L’approche réaliste de l’ASCII art

    asciiPrime : où l’art mathématique rencontre l’ASCII

    Ce logiciel ingénieux ne se contente pas de convertir des images en art ASCII – il les transforme en nombres premiers. Chaque pixel devient une donnée numérique, chaque caractère un chiffre, pour former une œuvre unique… et mathématiquement certifiée.

    Comment ? Grâce au test de primalité de Rabin-Miller décrit dans The Art of Computer Programming de Knuth. Un mélange surprenant de créativité visuelle et de rigueur algorithmique.

    asciiPrime


    La Demo BB et sa AALib

    L’art ASCII s’est largement répandu dans les cercles des demo-makers, ces passionnés qui ont repoussé les limites artistiques et techniques de ce médium. Ainsi, une démo particulièrement aboutie, mêlant selon la tradition musique électronique, animations et programmation, offre un spectacle visuel remarquable. Cette création nous entraîne dans un voyage qui semble tout droit sorti d’un Alice au pays des merveilles psychédélique. L’anecdote historique de la démo BB est liée à la volonté d’afficher un logo sous GNU/Linux :

    Tout commença lorsque deux amis, férus d’informatique, souhaitèrent afficher un logo Linux sur leurs vieux écrans Hercules.
    Problème : ces écrans monochromes ne supportaient pas la couleur. Pour contourner cette limitation, ils tentèrent une conversion en ASCII art… avec un premier résultat désastreux. L’un d’eux développa alors un nouvel algorithme pour optimiser la conversion.
    Plus tard, en travaillant sur XaoS (un visualiseur fractal), l’idée d’appliquer l’ASCII art aux ensembles de Mandelbrot émergea - avec un rendu stupéfiant ! La bibliothèque AA venait de naître et la démo BB par la suite.

    BB

    zebra : BB Wiki

    BB 3

    BB4


    Libcaca : quand le cinéma ASCII devient un acte Dadaïste contemporain

    Dans la même tendance que la demo BB, la bibliothèque libcaca a été créée pour pousser le concept plus loin. Son objectif ? Rendre les sorties console non seulement lisibles, mais véritablement artistiques, en ajoutant couleurs et effets visuels là où l’ASCII classique se limitait au noir et blanc. Une façon de transformer un terminal austère en une toile numérique vibrante !

    La véritable innovation de Libcaca réside dans son inutilité assumée sous forme de manifeste artistique, comme l'expliquent ces déclarations de son auteur :

    « Que dites-vous ?… C’est inutile ?… Je le sais !
    Mais on ne se bat pas dans l’espoir du succès !

    Non ! non, c’est bien plus beau lorsque c’est inutile ! »


    — Edmond Rostand, *Cyrano de Bergerac*

    « Je sais parfaitement que Libcaca est aussi futile qu’il n’y paraît. Inutile de me le rappeler. Je vous invite à lire la préface de Théophile Gautier pour *Mademoiselle de Maupin*, qui explique par ailleurs excellemment l’origine du nom « libcaca » :

    « Il n’y a rien de vraiment beau que ce qui ne peut servir à rien ; tout ce qui est utile est laid, car c’est l’expression de quelque besoin ; et ceux de l’homme sont ignobles et dégoûtants, comme sa pauvre et infirme nature. — L’endroit le plus utile d’une maison, ce sont les latrines. »

    Théophile Gautier

    Ainsi, par extension de l’esprit subversif de Libcaca, l’intégration de cette bibliothèque dans Mplayer reflète bien plus qu’une simple fonctionnalité – ce serait un véritable manifeste psychédélique. Ce module transforme radicalement l’expérience cinématographique en une performance absurde où les films deviennent des énigmes ASCII. Comme l’aurait probablement proclamé Tristan Tzara s’il avait été développeur :

    «  Nous n’avons pas besoin de voir les films, nous voulons les deviner ! »

    Dans cette logique, Libcaca opère un détournement radical de la perception visuelle : la vidéo devient une composition en caractères, où chaque image se transforme en message cryptique. Les couleurs, vives mais aléatoires, les formes, reconnaissables mais floutées, créent une tension permanente entre ce qui est perçu et ce qui est imaginé. « Nous avons réinventé le cinéma pour ceux qui préfèrent lire leurs films », confesseraient le réalisateur surréaliste Luis Buñuel Portolés et le peintre Salvador Dalí après leurs experimentations de cette bibliothèque sur leur chien andalou :) .

    Cette bibliothèque répond avec ironie à une question que personne ne s’est encore posé :

    Comment regarder un film sans être distrait par l’image ?

    En hommage à Malevitch et son Carré noir, aux situationnistes et leur détournement, à nos vieux écrans CRT évoqués par les auteurs de BB qui tenaient vingt ans, Libcaca nous offre le cinéma du moins : moins de définition, moins de réalisme, mais infiniment plus de possibilités interprétatives. Car c’est bien là l’effet du projet : Libcaca loin de dévoiler l’image, il en déplace le langage. Les visages deviennent des motifs abstraits, les paysages des compositions géométriques. Le spectateur, autrefois passif, devient co-créateur, projetant ses propres visions sur cette toile numérique mouvante.

    Dès lors, cette approche s’inscrirait naturellement dans la pure tradition Dada. Il suffirait de suivre une démarche minimale :

    1. Choisir un film complexe (Un Holy Mountain (1973) de Alejandro Jodorowsky fonctionnerait à merveille)
    2. Exécuter la commande sacrée : mplayer -vo caca The_Holy_Mountain.avi
    3. Contempler l’œuvre qui émergerait, mi-code, mi-poésie visuelle
    4. Documenter soigneusement les hallucinations provoquées

    Ainsi, « La beauté est dans l’œil de celui qui… se force beaucoup » pourrait murmurer un critique d’art néo-classique après trois heures de cette expérience :P De plus, comme toute œuvre Dada qui se respecte, le résultat défie les conventions, ce même critique médusé se demanderait :

    Est-ce encore du cinéma ? De l’art numérique ? Une blague de programmeur ?

    La réponse importe finalement peu, tant l’expérience elle-même prime – cette confrontation joyeuse avec l’absurde technologique. Après tout, comme le rappelait Marcel Duchamp : « L’art est un jeu entre tous les hommes de toutes les époques. » , Libcaca est simplement la déclinaison contemporaine… en mode texte. In Fine, cette expérience nous invite aussi à reconsidérer notre rapport à l’image à l’ère du tout-HD, faisant de chaque projection une occasion unique où l’imagination du spectateur retrouve ses droits face à la perfection technique.

    En guise de conclusion, dans l’hypothèse où McLuhan tel un observateur critique de cet art multimédia avait analysé « Libcaca » il aurait probablement conclue que :

    « L'ordinateur, est le medium cool par excellence, il ne révèle son pouvoir hallucinogène que lorsqu’on ose y entrer en dialogue - Libcaca est l’anti-cinéma qui transforme la salle obscure en terminal psychédélique, il nous invite à devenir les programmeurs de nos propres hallucinations. Chaque interaction est un plan coupé dans le film total de la réalité. Ce que Buñuel faisait avec des rasoirs sur des yeux de film, Libcaca le fait avec de l’ASCII sur nos rétines numériques. . »

    Mplayer.Libcaca

    Mplayer.Libcaca2


    Les inutilitaires en traits d’esprit

    Fortune, un biscuit chinois dans le terminal

    Comme les fameux biscuits des restaurants chinois (ou fortune cookies en anglais), fortune glisse dans votre terminal des pépites inattendues de sagesse ancestrale ou humour geek. Ces messages prennent des airs de petits vœux — bénédictions technologiques entre deux ls et grep. Ainsi, chaque connexion devient une surprise. Le plus charmant ? On peut y ajouter ses propres phrases : répliques de films, citations philosophiques ou pensées vagabondes…

    « La route vers l’enfer est pavée de commandes sudo. »

    « sudo rm -rf / : la recette moderne du néant »

    Ces fortunes peuvent se voir combinées avec le logiciel cowsay, qui donne un phylactère de bande dessinée à une vache, à Tux (ou à toute autre variante disponible dans la bibliothèque). Parce qu’un terminal avec une âme, c’est tout de suite plus chaleureux.

    
    +----------------------------+
    | Moo may represent an idea, |
    |  but only the cow knows.   |
    +----------------------------+
            \   ^__^
             \  (oo)\_______
                (__)\       )\/\
                    ||----w |
                    ||     ||
    
    
    

    Pyjoke
    $ pyjoke 
    « C'est C++ qui dit à C: 'Voyons ! Tu n’as pas de classe' »,
    
    
    $ pyjoke 
    If you put a million monkeys at a million keyboards, one of them will eventually write a Java program. The rest of them will write Perl.
    

    Comme son nom l’indique, pyjoke permets d’afficher des blagues. Malheureusement, il y en a peu en français. Peut-être que les moules pourraient y contribuer ?


    Fin de piste

    Ce petit tour d’horizon – bien trop court pour être complet – aura peut-être réveillé cette étincelle qui nous faisait autrefois sourire devant l’étrange, le décalé et la beauté brute de l’ASCII art sous forme d’inutilitaires. Une manière de retrouver cet émerveillement espiègle face à des logiciels absurdes, qui ne servent à rien… si ce n’est qu’à exister, simplement parce que pourquoi pas ?

    Linus Torvalds souligne avec humour que : « Le principal défi de la conception… c’est que Linux est censé être ludique… » – une pensée au cœur du libre qui réarticule sous un jour nouveau ce précédent aphorisme du théoricien du village global, McLuhan : « Prendre terriblement au sérieux de simples choses de ce monde (globalisé) trahit un défaut de lucidité. ».
    Ainsi, Linus Benedict Torvalds rappel avec cette lucidité que le libre puise aussi sa source dans cette simple approche philosophique : « just for fun ».

     fortunes.cookies

    Pour aller plus loin à skis

    En 2023, le MIT press a publié un ouvrage nommé « From ASCII Art to Comic Sans: Typography and Popular Culture in the Digital Age » (avec version Open Access) retraçant cette historiographie trop souvent oubliée de l’ASCII art. L’autrice Karin Wagner y explore l’art des machines à écrire (pré-ASCII) jusqu’à ses déclinaisons contemporaines, avec un détour savoureux par Comic Sans — cette police que tout le monde adore détester. Cette plongée au croisement de trois champs (informatique, typographie et culture pop ex: Calendrier Snoopy en Ascii art) réhabilite ces oubliés de l’histoire comme éléments clés de notre expérience numérique, héritiers de l’esprit libertaire des premiers hackers. L’analyse du rejet de Comic Sans, devenu un phénomène culturel s’étendant jusqu’au domaine politique, est particulièrement éclairante.

    Ainsi, devant la standardisation de la création de notre époque, ces artisanats « inutiles » prennent une nouvelle résonance. Comme l’arbre de Zhuangzi sauvé pour son inutilité, l’ASCII art et Comic Sans rappellent que la vraie innovation naît souvent du détournement , de la liberté créative et des contraintes. Leur persistance dans la culture numérique — des forums underground aux protestations politiques — interroge nos obsessions productivistes et célèbre la beauté des formes simplement imparfaites… Ces pratiques nous rappellent que le numérique gagne à conserver ces espaces de liberté et d’imperfection créative — comme autant de contrepoints nécessaires à la standardisation croissante de nos outils et imaginaires mis sous pression par les monopoles hyper-modernes que sont ces géants GAFAM.

    Source :

    Command Line Fun
    Forum Linux Mint

    Snoopy

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    • ✇Korben
    • Toutui - Écoutez vos livres audio et podcasts depuis votre terminal
      Si vous passez vos journées, le nez dans un terminal, ce serait-y pas trop cool de pouvoir également y écouter vos livres audio et vos podcasts ? On évite ainsi les interfaces flashy, les notifs et autres animations inutiles et on se concentre sur l’essentiel, à savoir la simplicité monacale du terminal. Bref, si vous êtes de ceux qui pensent qu’une journée sans taper une commande est une journée perdue, il faut que je vous présente Toutui !

    Toutui - Écoutez vos livres audio et podcasts depuis votre terminal

    Par : Korben
    16 avril 2025 à 09:56

    Si vous passez vos journées, le nez dans un terminal, ce serait-y pas trop cool de pouvoir également y écouter vos livres audio et vos podcasts ?

    On évite ainsi les interfaces flashy, les notifs et autres animations inutiles et on se concentre sur l’essentiel, à savoir la simplicité monacale du terminal. Bref, si vous êtes de ceux qui pensent qu’une journée sans taper une commande est une journée perdue, il faut que je vous présente Toutui !

    • ✇Korben
    • Ghore – Convertissez vos fichiers Markdown en HTML façon GitHub
      Vous êtes développeur ou rédacteur et vous travaillez souvent avec GitHub ? Alors laissez-moi vous présenter Ghore, un outil en ligne de commande qui va changer votre façon de prévisualiser vos fichiers Markdown avant de les committer ! Ghore est un outil open-source qui convertit simplement vos fichiers Markdown en HTML, en imitant à la perfection le style de rendu de GitHub. Fini le temps où vous deviez pusher vos modifications pour voir à quoi ressemblera votre README.md une fois sur Git

    Ghore – Convertissez vos fichiers Markdown en HTML façon GitHub

    Par : Korben
    19 août 2024 à 09:00

    Vous êtes développeur ou rédacteur et vous travaillez souvent avec GitHub ? Alors laissez-moi vous présenter Ghore, un outil en ligne de commande qui va changer votre façon de prévisualiser vos fichiers Markdown avant de les committer !

    Ghore est un outil open-source qui convertit simplement vos fichiers Markdown en HTML, en imitant à la perfection le style de rendu de GitHub. Fini le temps où vous deviez pusher vos modifications pour voir à quoi ressemblera votre README.md une fois sur GitHub. Là, vous aurez un aperçu instantané, directement dans votre terminal :

    • Vous pouvez l’utiliser complètement hors-ligne. Pas besoin d’Internet pour faire mumuse avec vos fichiers Markdown. Vous pouvez même l’utiliser dans un bunker anti-atomique, si ça vous chante !
    • Il surveille automatiquement les changements dans votre fichier Markdown et met à jour le rendu HTML en temps réel. C’est un peu comme si Ghore lisait dans vos pensées et anticipait vos moindres modifications. Flippant et génial à la fois.
    • Vous aimez les blocs de code colorés et syntaxiquement parfaits ? Ghore aussi ! Grâce à l’intégration de Starry Night, vos blocs de code n’ont jamais été aussi beaux. C’est presque un plaisir de lire du code dans le terminal.
    • Cerise sur le gâteau, Ghore prend en charge la prévisualisation en direct des blocs de code Mermaid. Vous savez, ces diagrammes super pratiques qu’on peut faire en Markdown ? Eh bien, même l’API de GitHub ne les prend pas en charge nativement, mais Ghore, si ! Vous allez pouvoir épater vos collègues avec vos diagrammes interactifs.

    Bref, pour utiliser Ghore, rien de plus simple. Clonez le dépôt, installez les dépendances avec npm, et vous êtes prêt à convertir vos fichiers Markdown en un clin d’œil.

    git clone https://github.com/p-balu/ghore.git
    
    cd ghore
    
    npm install
    
    npm start votre/fichier/README.md

    Et si vous voulez personnaliser le rendu HTML, pour mettre du Comic Sans rose fluo sur fond vert, allez-y, personne ne vous jugera (enfin, presque) ! Ghore vient en effet, avec son propre fichier CSS que vous pouvez tripatouiller à votre guise.

    C’est dispo ici.

    • ✇Korben
    • Trurl, un outil super pratique pour manipuler les URL
      Aujourd’hui, je vais vous causer d’un petit outil bien pratique qui va vous changer la vie (je sais, j’abuse jamais) : trurl ! Alors c’est quoi trurl ? Ben c’est juste un programme en ligne de commande, inspiré de notre bon vieux pote tr, qui permet de parser et manipuler les URL. Ça a l’air tout bête dit comme ça, mais je peux vous dire que c’est super pratique et vachement puissant. Parce que les URL, c’est pas toujours facile à gérer. Entre les caractères spéciaux, les encodages, les

    Trurl, un outil super pratique pour manipuler les URL

    Par : Korben
    12 août 2024 à 09:00

    Aujourd’hui, je vais vous causer d’un petit outil bien pratique qui va vous changer la vie (je sais, j’abuse jamais) : trurl !

    Alors c’est quoi trurl ? Ben c’est juste un programme en ligne de commande, inspiré de notre bon vieux pote tr, qui permet de parser et manipuler les URL. Ça a l’air tout bête dit comme ça, mais je peux vous dire que c’est super pratique et vachement puissant.

    Parce que les URL, c’est pas toujours facile à gérer. Entre les caractères spéciaux, les encodages, les paramètres de requête, les fragments, y a de quoi s’arracher les cheveux. Et puis mal implémenté, ça peut apporter son lot de failles de sécurité si on n’y fait pas gaffe. Mais avec trurl, pas de prise de tête ! Il utilise le parser d’URL de la librairie libcurl, qui est hyper robuste et éprouvé, du coup, vous pouvez manipuler vos URL en toute sérénité.

    Rien qu’avec une petite commande toute simple, vous pouvez par exemple :

    • Changer le nom de domaine d’une URL
    • Modifier le port
    • Extraire le chemin
    • Ajouter des paramètres de requête
    • Trier les paramètres par ordre alphabétique
    • Supprimer certains paramètres
    • Encoder/décoder des caractères spéciaux
    • Reformater l’URL en JSON
    • Et plein d’autres trucs !

    Genre si je veux changer le nom de domaine d’une URL, je fais juste :

    trurl --url https://korben.info --set host=example.com
    https://example.com/

    Et bim, c’est fait ! Fastoche non ? Plus besoin de se taper des RegEx de 3km de long ou de réinventer la roue à chaque fois.

    Ce que j’aime bien aussi, c’est qu’on peut utiliser trurl de façon interactive en lui passant les URL au fur et à mesure, ou bien traiter tout un fichier d’URL d’un coup. Il gère même les espaces et autres caractères spéciaux sans broncher.

    Par exemple, pour ajouter un paramètre à une URL existante :

    trurl --url "https://example.com?param1=value1" --add-query "param2=value2"
    https://example.com?param1=value1&param2=value2

    Ou encore, pour supprimer un paramètre spécifique :

    trurl --url "https://example.com?param1=value1&param2=value2" --remove-query "param1"
    https://example.com?param2=value2

    Côté installation, c’est méga simple aussi. Sur la plupart des distros Linux, vous devriez pouvoir l’installer direct depuis votre gestionnaire de paquets préféré. Sinon, les sources sont dispos sur GitHub.

    Ça m’a permis de virer des tonnes de code crado bricolé à la main dans des scripts et de le remplacer par des commandes trurl bien propres. Par exemple, j’avais un script qui devait récupérer le flux RSS d’un site, filtrer certains paramètres de l’URL et ajouter un tracker pour les stats. Avant je faisais ça avec des RegEx et des concaténations dégueulasses, maintenant, en quelques commandes trurl, c’est réglé !

    curl "https://example.com/feed.xml" | trurl --query-sort --query-exclude "utm_*" --add-query "tracker_id=korben"

    Attention quand même, trurl a quelques limitations à connaître. Par exemple, il ne gère pas les redirections tout seul, faudra passer par curl si besoin. Et pour certains cas tordus avec des caractères exotiques, il pourrait y avoir des surprises. Donc prudence, pensez à toujours tester avant de balancer en prod !

    Sinon astuce bonus, trurl a une option --accept-space bien pratique quand vos URL contiennent des espaces. Et le --sort-query est top pour remettre de l’ordre dans vos paramètres.

    A demain !

    • ✇LinuxFr.org : les dépêches
    • Sauvegardes (encore !) et restitution
      Ben oui, ce sujet m’intéresse car je suis motivé par la préservation de ce que je considère comme précieux dans les données que je crée ou récupère sur mon PC. En tant que bidouilleur j’ai moi aussi créé un outil pour cela. Il correspond à mon besoin et j'en suis satisfait. Voici mon cheminement. J’ai fait une recherche sur LinuxFR.org avec le mot sauvegarde et j’ai trouvé des articles et des réactions toutes très intéressantes. Les besoins, les solutions, les mises en œuvre sont très variées.

    Sauvegardes (encore !) et restitution

    Ben oui, ce sujet m’intéresse car je suis motivé par la préservation de ce que je considère comme précieux dans les données que je crée ou récupère sur mon PC. En tant que bidouilleur j’ai moi aussi créé un outil pour cela. Il correspond à mon besoin et j'en suis satisfait. Voici mon cheminement.

    J’ai fait une recherche sur LinuxFR.org avec le mot sauvegarde et j’ai trouvé des articles et des réactions toutes très intéressantes. Les besoins, les solutions, les mises en œuvre sont très variées. Chacun choisit ou crée selon son ressenti et finit par être satisfait de ce qu’il fait. Chacun partage son expérience, en espérant qu’elle profitera à d’autres. À mon tour.

    Le meilleur outil de sauvegarde est celui qu’on utilise et en lequel on a confiance.

    tape-drive

    Je te propose un jeu : demande à un utilisateur de PC, smartphone… si la destruction inopinée de son appareil entraînerait des pertes de fichiers irrémédiables qui pourraient l’affecter (photos familiales, documents…). Demande ensuite s’il fait des copies et/ou des sauvegardes. Pour beaucoup, tu seras catalogué comme vilain geek alarmiste. Il y a du travail de prise de conscience !

      Sommaire

      Notion de sauvegarde

      Une analyse très courte de la fonction sauvegarde serait « ranger quelque part des données qui permettront de restituer ce que je considère comme précieux ».
      Les mots clés sont « ranger » « quelque part » « données » « restituer » « précieux ».
      On a deux verbes « ranger » « restituer », deux localisations de données « quelque part » « ce qui est précieux », et une notion de filtrage dans le mot « précieux ».

      Un autre point de vue serait de dire qu’une information précieuse doit résider en deux endroits, pour que la défaillance de l’un puisse être compensée par l’autre. Une des conséquences consiste à doubler les archivages : la libération des espaces précieux par la suppression de données inactives doit être précédée de l’archivage des données à supprimer vers deux supports distincts. Une autre conséquence est d’utiliser un média spécifique pour recevoir les sauvegardes (autre que celui où sont les données à sauver).

      La défaillance peut être de plusieurs origines : matérielle, corruption du média, utilisateur qui efface/écrase…

      Que demande-t-on à un outil de sauvegarde ?

      Si je rédigeais un cahier des charges pour un outil de sauvegarde, je ferais les listes suivantes. Je suis dans mon contexte de PC isolé, ayant accès éventuellement à un petit serveur sur le réseau local.

      Fonctionnalités de base :

      • sauver juste ce qui a été modifié depuis la sauvegarde précédente => opération rapide,
      • compression des fichiers archives => prend peu de place sur l’espace de sauvegarde,
      • facile à lancer et rapide en exécution => sera lancé souvent => sécurisation accrue,
      • filtrage => possibilité de conserver dans les espaces sauvés des fichiers qui n’encombreront pas les sauvegardes,
      • robuste => confiance.

      Fonctionnalités nécessaires :

      • vérification de l’intégrité des fichiers archives engendrés,
      • restitution facile malgré le grand nombre de fichiers archives à exploiter,
      • restitution qui permette de régénérer (ailleurs) l’espace sauvegardé dans le même état que ce qu’il était au moment d’une des opérations de sauvegarde (accès aux états antérieurs),
      • recherche/extraction de fichiers dans le grand nombre de fichiers archives obtenus,
      • traçage pour vérifier le bon déroulement des opérations.

      On peut ajouter aussi :

      • algorithme ouvert et source fourni,
      • qui s’accommode de tous types de support de stockage,
      • qui utilise des formats standard,
      • qui a toutes ses fonctionnalités accessibles en ligne de commande.

      Le dernier point permettra d’utiliser l’outil comme une commande classique. On pourra le lancer dans un script bash qui adaptera l’usage au besoin spécifique du moment (ajout de montage/démontage du média de sauvegarde, rsync réseau des fichiers générés…). C’est une commodité qui me manque quand je suis coincé dans l’usage d’un outil cliquodrome.

      Un script shell écrit sur un coin de table (au début)

      J’ai rencontré le shell lors de mon premier contact avec Unix, en 1987. Au début j’ai eu le sentiment de régresser par rapport à la syntaxe COM des Vax/VMS. Depuis, j’ai appris à apprécier le bash, bien plus commode que ses ancêtres sh csh. Une des philosophies du shell est de combiner des commandes simples et robustes pour en faire une réponse à un besoin. Par exemple ls | wc -l renvoie le nombre de fichiers/répertoires du répertoire courant. Toutefois, il y a des cas sournois où le résultat est faux, on verra plus loin ce que je qualifie de pièges.

      Avec les pipelines, les redirections, les variables, les traitements de chaînes de caractères, et tout le reste, on peut construire à l’infini des séquences d’opérations qui s’appuient sur des commandes simples à lancer mais puissantes (genre outil de compression, outil de parcours d’une arborescence de fichiers…). Beaucoup des fonctionnalités du système GNU sont construites comme cela. Un bidouilleur système ne peut pas ignorer le bash. En plus, emacs permet un accès très commode aux man. Je n’ai jamais eu de projet ou de besoin qui me pousse à maîtriser Perl ou Python. Je pense qu’ils sont encore plus puissants que bash.

      Comme j’aime bien bidouiller, à la fin du 20e siècle j’avais dans l’idée de faire un outil de sauvegarde basique qui s’appuie sur un pipeline : une commande find qui sélectionne les fichiers modifiés, tar pour les copier et gzip pour compresser. J’ai fait divers essais. En 2021, je m’y suis mis sérieusement et j’ai découvert beaucoup de subtilités du bash.

      Un des problèmes des sauvegardes incrémentales est de deviner si un fichier doit être sauvé, sans avoir à comparer son contenu avec la version sauvée dernièrement (ça coûte trop cher). Il faut se baser sur les paramètres du système de fichiers. Il faut bien choisir ces paramètres (on surveille leur changement), au risque de rater certains fichiers ou alors d’en sélectionner trop. Je me suis arrêté sur la date de modification du statut et le numéro d'inode.

      Scripts bash tzsauv

      Je pense être arrivé au bout des spécifications avec l’outil tzsauv que j’ai écrit en bash. Il est disponible sur mon site.
      Je m’en sers quotidiennement. Selon les jours, j’envoie les fichiers archives sur le 2ᵉ disque ou sur clé USB. Je fais aussi un miroir du répertoire disque des fichiers archives vers GoogleDrive (ceinture et bretelles). Je fais aussi une sauvegarde à longue périodicité (six mois) sur une clé USB dédiée (double ceinture).

      Les opérations principales utilisent les commandes standard find sed tar zstd md5sum, le bash sert à enchaîner tout ça et sert aux dialogues. Pour installer, il suffit de copier deux scripts sur le média de sauvegarde (SauverTZ_ProjXY_01.bash tzsauv.bash, total 96k, ajouter éventuellement l’aide Alire.txt), et modifier quelques paramètres dans l’un des scripts (le script lanceur SauverTZ_*.bash). Le lancement peut se faire en ligne de commande ou via l’explorateur de fichiers par Clic-Droit/Actions/LancerDansKonsole.

      L’interprétation du bash prend des ressources, mais je pense qu’elles sont négligeables par rapport à celles prises par les E/S et les commandes standard citées ci-dessus. Le compresseur zstd semble être très performant, en temps et en taux de compression. De plus, il est multithread, ce qui lui permet de tirer avantage des processeurs actuels qui gagnent en puissance en augmentant le nombre de cœurs. Le paramétrage de tzsauv permet de choisir parmi plusieurs formats d’archives.

      Pour la sauvegarde vers le 2e disque, j’ai copié sur le Bureau le lanceur de Konsole, puis j’ai renommé la copie et dans ses Propriétés/Application j’ai modifié l’argument (-e ./SauverTZ_ProjXY_01.bash) et le dossier de travail. Du coup, avec juste un double-clic je lance la sauvegarde en mode interactif (-> question « … TOTALE o/n/q ? »). Elle est pas belle la vie ?

      Subtilités et pièges

      Je fais régulièrement des petits programmes bash pour explorer des détails de fonctionnement soit du bash, soit des commandes. Les man ont beau être détaillés, ils ne peuvent pas tout dire. Pour un bug de tar je suis allé jusqu’à consulter le source C, le corriger par plaisir et vérifier que c’était OK. La remontée du bug n’a pas abouti (personne n’utilise l’option -u de tar ! C’est de la tétrapilectomie, je suis xyloglotte mais pas encore alopécique).

      Si tu lances sous bash ls | wc -l puis touch -- 'a'$'\n''b' puis de nouveau ls | wc -l, le nombre renvoyé aura augmenté de deux alors que tu n’as ajouté qu’un seul fichier. C’est normal car le nom du fichier ajouté tient sur deux lignes ! Solution : ls -q | wc -l ou ls --zero | tr '\n\0' '\0\n' | wc -l. Pour voir le résultat de ls -q envoyé à wc -l via le pipeline, entrer ls -q | cat.

      Les deux seuls caractères interdits dans les noms de fichiers/répertoires *unix* sont « / » et « \0 » (à méditer).

      Je t’invite à créer sous bash un fichier piège par echo "abcd" > $' xyza\x01b\x02c\x03d\x04e\x05f\x06g\x07h\x08i\x09j\x0ak\x0bl\x0cm\x0dn\x0eo\x0fESC\x1bDEL\x7f\x80\xff\x26\x22\x27\x60\x5c SPC ', à le sauver avec ton outil, puis à le restituer. Tu verras si ça passe et si le nombre de fichiers est correct. Pour le détruire rm -i *xyza* devrait convenir.
      Essaye aussi avec un sous-répertoire mkdir $' xyzp\x01b\x02c\x03d\x04e\x05f\x06g\x07h\x08i\x09j\x0ak\x0bl\x0cm\x0dn\x0eo\x0fESC\x1bDEL\x7f\x80\xff\x26\x22\x27\x60\x5c SPC '. Mets-y un fichier, puis fais une sauvegarde totale, modifie le fichier et fais une incrémentale. Ensuite fais un essai de restitution. Joue aussi à modifier le nom du répertoire parent du sous-répertoire piège.
      Pour jouer avec ces choses dangereuses, je te conseille de faire une zone à part, ne fais pas courir de risque à ta production. Sur ma Mageia9.2-official, le navigateur Dolphin n’arrive pas à détruire le répertoire piège. Je passe par la ligne de commande.

      J’ai rencontré tout plein de pièges et j’en ai imaginé d’autres : un fichier de nom -f, un répertoire de nom -, comment détruire le fichier ? Comment faire un cd vers le répertoire ?
      Solutions : rm -f -- -f et cd -- -/ et si le nom du répertoire est dans la variable var cd -- "${var%/}/" (prévoir le cas où var="/").
      J’ai découvert que zstd en mode filtre lancé par tar, se met en erreur s’il existe un sous-répertoire de nom - dans le répertoire courant (c’est très particulier, en effet). L’examen des sources de tar et de zstd m’a confirmé le problème, la solution m’a parue simple (inverser l’ordre de deux tests dans le source de zstd) mais la remontée de bug n’a pas abouti. Ce n’est pas grave, je sais maintenant qu’il ne faut pas utiliser tar ... --zstd ..., et je mets plutôt zstd -c[d] dans un pipeline.

      J’en raconte un maximum dans le fichier notes01.bash. Toute cette expérience me permet de créer des scripts bash robustes.

      Conclusion

      Ton outil de sauvegarde est le meilleur, car il te convient.
      Fais-toi une idée claire

      • de tous tes espaces contenant des fichiers précieux à tes yeux,
      • de tous tes espaces de sauvegarde,
      • des mécanismes de sauvegarde et de restitution.

      Cela participe à la confiance.

      N’oublie pas de faire de temps en temps un contrôle d’intégrité des archives et un exercice de restitution. C’est un peu de travail, juste pour vérifier qu’une mise à jour, ou une donnée inhabituelle, ou autre chose, n’a pas mis en défaut la capacité à restituer comme tu l’entends.

      Si la restitution est rendue impossible, c’est comme si tu n’avais jamais sauvegardé !

      La confiance, en informatique ça se surveille du coin de l’œil
      L’informatique est une science exacte pour la machine, pas pour l’homme ; il compense par l’humilité et l’empirisme

      Commentaires : voir le flux Atom ouvrir dans le navigateur

      • ✇Korben
      • Freeze – Pour capturer et customiser vos screenshots de code
        Fini les captures d’écran toutes moches qui donnent pas envie. Avec Freeze, vous allez pouvoir customiser vos screenshots de code comme jamais. Vous pouvez l’installer avec Homebrew sur macOS ou Linux, ou même avec un bon vieux go install si vous êtes old school et une fois que c’est fait, vous balancez juste freeze moncode.js -o code.png dans votre terminal, et hop, Votre screenshot sera là, beau frais comme un gardon et beau comme un camion. Vous pouvez même capturer le résul

      Freeze – Pour capturer et customiser vos screenshots de code

      Par : Korben
      6 juillet 2024 à 09:00

      Fini les captures d’écran toutes moches qui donnent pas envie. Avec Freeze, vous allez pouvoir customiser vos screenshots de code comme jamais.

      Vous pouvez l’installer avec Homebrew sur macOS ou Linux, ou même avec un bon vieux go install si vous êtes old school et une fois que c’est fait, vous balancez juste

      freeze moncode.js -o code.png

      dans votre terminal, et hop, Votre screenshot sera là, beau frais comme un gardon et beau comme un camion.

      Vous pouvez même capturer le résultat de commandes avec le paramètre –execute :

      freeze --execute "eza -lah"

      Le petit plus de Freeze, c’est qu’il permet de choisir un thème afin de personnaliser le rendu du code. Un petit --theme dracula et vous voilà avec un code aux couleurs du célèbre vampire. Besoin d’ajouter des contrôles de fenêtre façon macOS ? --window et le tour est joué. Et que dire de la possibilité d’ajouter une ombre, des coins arrondis, ou même d’intégrer votre propre police ? Les dev de Freeze ont pensé à tout…

      Et si vous êtes du genre à aimer bidouiller, vous allez adorer le mode interactif de Freeze. Lancez

      freeze --interactive

      et vous pourrez customiser votre screenshot en direct, comme un vrai pro.

      C’est aussi un vrai gain de temps pour les développeurs qui souhaitent rendre des bouts de code présentables pour intégrer par exemple dans une doc ou un site web. Allez, je vais vous donner un petit exemple pour la route. Disons que vous voulez capturer un bout de code JavaScript, avec le thème Dracula, une jolie fenêtre, une ombre, et des coins arrondis.

      Voilà ce que ça donne :

      freeze moncode.js --theme dracula --window --shadow.blur 20 --shadow.x 0 --shadow.y 10 --border.radius

      Ainsi, en une seule ligne de commande, vous obtenez une image de code digne d’un vrai pro. Puis l’avantage c’est que ça peut s’automatiser.

      Bref, je crois que vous avez compris l’idée. Si ça vous intéresse, rendez-vous sur https://github.com/charmbracelet/freeze.

      • ✇Korben
      • Terminalizer – Enregistrez et partagez vos sessions de terminal en GIF animé
        Si vous avez envie de partager une session de votre terminal avec des collègues ou votre communauté ou tout simplement enregistrer vos lignes de commandes pour pouvoir les rejouer plus tard, j’ai ce qu’il vous faut. Cela s’appelle Terminalizer, et c’est un outil en ligne de commande qui va changer votre façon de collaborer et d’apprendre. Avec Terminalizer, vous pouvez facilement capturer tout ce qui se passe dans votre terminal et générer un GIF animé ou un lien web pour le partager en un

      Terminalizer – Enregistrez et partagez vos sessions de terminal en GIF animé

      Par : Korben
      2 juin 2024 à 09:00

      Si vous avez envie de partager une session de votre terminal avec des collègues ou votre communauté ou tout simplement enregistrer vos lignes de commandes pour pouvoir les rejouer plus tard, j’ai ce qu’il vous faut. Cela s’appelle Terminalizer, et c’est un outil en ligne de commande qui va changer votre façon de collaborer et d’apprendre.

      Avec Terminalizer, vous pouvez facilement capturer tout ce qui se passe dans votre terminal et générer un GIF animé ou un lien web pour le partager en un clic. Super pratique pour montrer en temps réel à un collègue comment résoudre un problème, archiver vos sessions pour documenter votre travail ou tout simplement faire de la doc. Les possibilités sont infinies !

      L’un des gros points forts de Terminalizer, c’est qu’il est cross-platform. Que vous soyez sur Linux, Windows ou MacOS, vous pouvez l’installer et l’utiliser en toute simplicité. D’ailleurs, pour l’installer, rien de plus simple. Il vous suffit d’avoir Node.js sur votre machine, puis de lancer

      npm install -g terminalizer

      et le tour est joué !

      Une fois installé, lancez une nouvelle session avec

      terminalizer record mavideo

      et tout ce que vous ferez dans votre terminal sera alors enregistré. Une fois que vous avez terminé, vous pourrez alors rejouer la session avec

      terminalizer play mavideo

      l’éditer si besoin, puis générée un rendu avec

      terminalizer render mavideo

      pour avoir le fameux GIF qui va bien.

      C’est également un outil hautement configurable qui vous permet de personnaliser chaque aspect de vos enregistrements. Vous pouvez ainsi choisir la police, la taille du texte, les couleurs, ajouter une image de fond, un titre… Bref, donner vie à vos sessions de terminal comme jamais. Vous pouvez même choisir d’ajuster la vitesse, de couper certaines parties, d’ajouter des délaies entre les commandes, etc.

      Terminalizer propose aussi des templates pour rendre vos GIF encore plus attractifs. Vous pourrez choisir entre différents styles de fenêtres, de la classique fenêtre de terminal à des frames plus originales. Bref, de quoi donner un style vraiment pro à vos enregistrements sans aucune compétence en graphisme.

      Côté partage, c’est également un jeu d’enfant. En plus de pouvoir générer un GIF animé, Terminalizer vous permet de générer un lien pour partager votre session avec qui vous voulez. Pour cela, utilisez la commande

      terminalizer share mavideo

      Et hop, votre session sera uploadée sur leurs serveurs, et vous obtiendrez un lien que vous pourrez partager. Les personnes qui l’ouvriront verront alors votre session se jouer dans leur navigateur. Génial pour montrer votre travail au plus grand nombre !

      Bref, c’est un incontournable pour tous ceux qui passent leurs journées sur un terminal.

      A découvrir ici !

      Happy recording !

      • ✇Korben
      • Twterm : Le client TUI Twitter ultime pour les geeks de la ligne de commande 🐦💻
        Chers accro à la ligne de commande, voici un outil qui devrait vous plaire ! Ça s’appelle Twterm et c’est un client Twitter en mode texte (TUI pour les intimes). Parfait pour suivre son p’tit flux Twitter au milieu des ls -al et autres cd .. ! Développé en Ruby par un certain Ryota Kameoka, Twterm rassemble toutes les features de base de Twitter : Suivi de la timeline Les mentions, DM, recherches…etc. Follower/Unfollower Tweeter, Retweet, et répondre aux gens Et également v

      Twterm : Le client TUI Twitter ultime pour les geeks de la ligne de commande 🐦💻

      Par : Korben
      24 mai 2024 à 09:00

      Chers accro à la ligne de commande, voici un outil qui devrait vous plaire ! Ça s’appelle Twterm et c’est un client Twitter en mode texte (TUI pour les intimes). Parfait pour suivre son p’tit flux Twitter au milieu des ls -al et autres cd .. !

      Développé en Ruby par un certain Ryota Kameoka, Twterm rassemble toutes les features de base de Twitter :

      • Suivi de la timeline
      • Les mentions, DM, recherches…etc.
      • Follower/Unfollower
      • Tweeter, Retweet, et répondre aux gens
      • Et également voir et suivre les trending topics

      La totale quoi, et le tout contrôlable au clavier, donc super efficace pour les power users. 💪 L’installation est plutôt simple, surtout sous macOS avec une install via Homebrew :

      brew install ryota-ka/twterm/twterm

      Sinon en RubyGems ça se fait bien aussi. Après faut lancer la commande magique twterm et là… Bienvenue dans la Matrice, Neo !

      L’UI est nickel, toute en ASCII art, ça nous change des interfaces modernes surchargées. On navigue entre les onglets avec les touches h, j, k, l façon Vim et il suffit de faire CTRL + N pour commencer à écrire un nouveau tweet. Bref c’est super intuitif, la prise en main est immediate, pour peu que vous soyez familier avec l’environnement Unix.

      Niveau perfs, c’est une vraie fusée et cerise sur le gâteau, on peut facilement customiser les raccourcis via un fichier de conf en TOML. Seul petit bémol, la visualisation d’images est encore un peu à la ramasse, mais ça viendra.

      Si ça vous dit de tester, Twterm, c’est par ici !

      • ✇Korben
      • Nano 8.0 – L’éditeur de texte dans le terminal évolue
        Aaah Nano, cet éditeur en ligne de commande si apprécié des geeks ! Simple, léger, accessible… Et il continu de s’améliorer puisque la version 8 vient de sortir et apporte son lot de nouveautés plutôt cool. Déjà, les développeurs ont revu les raccourcis clavier par défaut pour coller aux standards. Fini le temps où on se mélangeait les pinceaux entre les éditeurs ! On retrouve maintenant les classiques Ctrl+F pour chercher, Ctrl+B pour chercher en arrière, Alt+F / Alt+B pour répéter la rech

      Nano 8.0 – L’éditeur de texte dans le terminal évolue

      Par : Korben
      2 mai 2024 à 08:08

      Aaah Nano, cet éditeur en ligne de commande si apprécié des geeks ! Simple, léger, accessible… Et il continu de s’améliorer puisque la version 8 vient de sortir et apporte son lot de nouveautés plutôt cool.

      Déjà, les développeurs ont revu les raccourcis clavier par défaut pour coller aux standards. Fini le temps où on se mélangeait les pinceaux entre les éditeurs ! On retrouve maintenant les classiques Ctrl+F pour chercher, Ctrl+B pour chercher en arrière, Alt+F / Alt+B pour répéter la recherche et Alt+R pour remplacer. Les devs ont même pensé à ajouter l’option --modernbindings (ou -/ pour les flemmards) pour avoir des raccourcis façon Ctrl+X (quitter), Ctrl+C (copier), Ctrl+V (coller)… Un vrai bonheur !

      Mais là où Nano pousse le bouchon encore plus loin (Maurice) c’est avec ses fonctionnalités bien geek. Saviez-vous par exemple qu’on peut désormais ouvrir un fichier directement à une ligne spécifique en rajoutant +numLigne après son nom ?

      Les raccourcis Alt+Home et Alt+End permettent aussi de sauter en haut ou en bas du fichier en un clin d’œil, sans bouger le curseur. Idéal pour avoir une vue d’ensemble de son code. Et si vous souhaitez vous repérer dans vos sections avec des ancres et bien avec Alt+ » vous pouvez en placer à la volée et y revenir avec Alt+’. Super pratique pour naviguer dans vos documents !

      Côté personnalisation, les amateurs de couleurs seront ravis puisque lorsque les trois chiffres d’un code #RGB sont identiques, Nano le mappe à l’échelle de gris xterm. Résultat, on passe de 4 à 14 nuances de gris pour styliser son terminal.

      Et pour les irréductibles de la souris, sachez que la molette permet maintenant de scroller dans le fichier sans changer la position du curseur. C’est tout bête mais tellement pratique pour explorer rapidement un fichier.

      Je vous laisse découvrir le reste par vous-même !

      Nano 8.0 est disponible au téléchargement sur le site officiel. Vos distrib’ préférées ne devraient pas tarder à le proposer.

      A vous de l’apprivoiser maintenant !

      Source

      • ✇Korben
      • 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à

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

      Par : Korben
      27 avril 2024 à 09:00

      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 !

      • ✇Korben
      • Un petit outil IA pour rechercher la bonne photo en un clin d’oeil
        Vous avez enfin trouvé un peu de temps pour vous occuper de vos photos de vacances. Des milliers de clichés s’accumulent année après année sur votre disque dur. Quel bazar ! Rechercher une photo précise là-dedans risque de vous prendre des plombes. Pas cool… Heureusement, un petit outil bien pratique débarque à la rescousse : rclip, un outil en ligne de commande boosté à l’IA capable de rechercher vos photos par leur contenu visuel. Développé à l’aide du réseau de neurones CLIP d’OpenAI, r

      Un petit outil IA pour rechercher la bonne photo en un clin d’oeil

      Par : Korben
      8 avril 2024 à 09:00

      Vous avez enfin trouvé un peu de temps pour vous occuper de vos photos de vacances. Des milliers de clichés s’accumulent année après année sur votre disque dur. Quel bazar ! Rechercher une photo précise là-dedans risque de vous prendre des plombes. Pas cool… Heureusement, un petit outil bien pratique débarque à la rescousse : rclip, un outil en ligne de commande boosté à l’IA capable de rechercher vos photos par leur contenu visuel.

      Développé à l’aide du réseau de neurones CLIP d’OpenAI, rclip permet de rechercher des images avec n’importe quelle requête texte. L’idée est simple mais diablement efficace : extraire des vecteurs caractéristiques de chaque image, stocker ces vecteurs, puis les comparer avec le vecteur de la requête pour trouver les photos les plus similaires. Et le tout en un clin d’oeil !

      Pour l’installer, rien de plus simple. Sur Linux, un petit snap et c’est réglé.

      sudo snap install rclip

      Pour les autres OS, des options alternatives existent, comme une AppImage, une version Homebrew pour macOS ou un installeur .msi pour Windows. Si vous préférez passer par pip, c’est possible aussi. Pas d’excuse pour ne pas l’essayer !

      Une fois installé, placez vous dans le répertoire contenant vos photos et lancez une recherche avec

      rclip "ma requête"

      Par exemple rclip "striped cat" pour dénicher les photos de votre félin préféré. À la première exécution, rclip va indexer vos images, ce qui peut prendre un certain temps selon la taille de votre photothèque (comptez environ 3h pour 1 million de photos sur un MacBook M1 Max). Mais ce n’est qu’un mauvais moment à passer, les recherches suivantes seront quasi-instantanées.

      Au lieu d’une requête textuelle, vous pouvez aussi utiliser une image comme référence, en passant son chemin en paramètre :

      rclip ./mon_image.jpg

      Rclip trouvera alors les photos visuellement les plus proches de celle-ci. Puissant pour retrouver des clichés sur un même thème !

      Cerise sur le gâteau, il est possible de combiner des requêtes texte et image avec des opérateurs + et -. Par exemple

      rclip horse + strips

      rclip apple - fruit

      Vous pouvez même enchaîner les requêtes, du genre

      rclip "./ma_voiture.jpg" - "sport car" + "snow"

      pour trouver les photos de votre véhicule sous la neige, mais en excluant les bolides. Les possibilités sont quasi-illimitées.

      L’affichage des résultats est également bien pensé. Si vous utilisez un terminal compatible comme iTerm2 ou Konsole, un simple rclip -p suffit pour prévisualiser les images directement dans la console. Avec d’autres terminaux, vous pouvez rediriger la sortie de rclip vers votre visionneuse préférée, par exemple

      rclip -f -t 5 | feh -f - -t

      pour afficher les 5 meilleurs résultats dans une jolie grille sous Linux.

      En résumé, rclip est un outil à la fois pragmatique et fun qui révolutionne la façon dont on peut fouiller dans sa bibliothèque de photos. Fini les heures perdues à scroller frénétiquement à la recherche d’une image précise !

      Si vous voulez tester rclip par vous-même, foncez sur son dépôt GitHub qui regorge d’infos. Son créateur y propose même des démos sur des jeux de données massifs, comme 1,28 million d’images ! De quoi vous convaincre de l’essayer sur vos propres photos.

      Allez, c’est parti pour faire du tri dans votre bazar de photos !

      Source

      • ✇Korben
      • OpenHue CLI – Contrôlez vos Philips Hue depuis votre terminal
        Y’a pas très longtemps, je vous ai présenté le projet libre OpenHue pour contrôler vos ampoules Philips Hue via une API REST. Et bien Thibault, le développeur du projet m’a contacté pour me présenter OpenHue CLI Comme son nom l’indique, il s’agit d’interface en ligne de commande, conçue pour interagir avec vos ampoules Philips Hue, directement depuis votre terminal. Avec OpenHue CLI, vous pourrez vous connecter sans effort aux bridges Philips Hue, détecter l’ensemble de vos ampoules et

      OpenHue CLI – Contrôlez vos Philips Hue depuis votre terminal

      Par : Korben
      9 mars 2024 à 09:00

      Y’a pas très longtemps, je vous ai présenté le projet libre OpenHue pour contrôler vos ampoules Philips Hue via une API REST. Et bien Thibault, le développeur du projet m’a contacté pour me présenter OpenHue CLI

      Comme son nom l’indique, il s’agit d’interface en ligne de commande, conçue pour interagir avec vos ampoules Philips Hue, directement depuis votre terminal.

      Avec OpenHue CLI, vous pourrez vous connecter sans effort aux bridges Philips Hue, détecter l’ensemble de vos ampoules et vérifier leur état actuel. Bien sûr, vous pourrez les allumer ou les éteindre, ajuster leur luminosité et modifier les couleurs, le tout avec de simples commandes à entrer dans le terminal.

      OpenHue CLI fonctionne sous macOS, Linux et Windows et si ça vous dit d’essayer, vous aurez besoin de Homebrew ou de Docker.

      Ainsi pour l’installer sous macOS :

      brew tap openhue/cli
      brew install openhue-cli

      Puis lancez la commande setup pour découvrir le bridge openhue :

      openhue setup

      Et si c’est via Docker :

      docker pull openhue/cli
      docker run -v "${HOME}/.openhue:/.openhue" --rm --name=openhue -it openhue/cli setup -b 192.168.1.x -k xxxxx

      Vous pourrez ensuite lister les ampoules disponibles comme ceci :

      docker run -v "${HOME}/.openhue:/.openhue" --rm --name=openhue -it openhue/cli lights list 

      Bref, que vous soyez un développeur cherchant à intégrer l’éclairage Philips Hue dans ses projets ou un passionné de domotique souhaitant améliorer son installation, OpenHue CLI est l’outil qu’il vous faut.

      OpenHue CLI est disponible sur GitHub à l’adresse suivante : https://github.com/openhue/openhue-cli

      Merci à Lorenper

      ❌
      ❌