Vue normale

Reçu aujourd’hui — 10 novembre 2025

Bash-screensavers - Des économiseurs d'écran pour votre terminal

Par :Korben
10 novembre 2025 à 09:00

Un économiseur d’écran, je pense que tout le monde voit ce que c’est.

Bon c’était très utile à l’époque des vieux écrans CRT pour éviter qu’ils ne gardent une trace fantôme à cause d’une image statique, mais aujourd’hui sur nos écrans modernes c’est devenu complétement inutile. Toutefois on continue à les utiliser parce que c’est joli et sympa.

Et bien bash-screensavers c’est pareil. Ce projet transforme non pas votre écran, mais juste votre terminal en feu d’artifice ASCII, en matrice, ou en simulation de vie cellulaire. C’est tout aussi joli et sympa même si bien sûr faire tourner ces screensavers comme ça consomme probablement plus d’énergie CPU que de laisser votre terminal en pause avec du texte statique.

Bash-screensavers propose donc 11 thèmes différents … Il y a l’alpha qui affiche des pixels colorés aléatoires, le bouncing avec son “O” qui rebondit façon Pong, le classique matrix qui simule la pluie de code vert des films Wachowski, pipes qui génère un labyrinthe de tuyaux infini, fireworks qui lance des feux d’artifice ASCII, life qui implémente le jeu de la vie de Conway, rain pour une pluie apaisante, speaky qui parle de façon dramatique, stars qui affiche un champ d’étoiles scintillantes, tunnel qui vous fait voler dans un tunnel digital, et vibe pour tout ce qui est simulation de vibe coding.

L’installation est également hyper simple :

git clone https://github.com/attogram/bash-screensavers.git
cd bash-screensavers
./screensaver.sh

Vous arrivez alors sur un menu interactif qui vous propose de choisir parmi les 11 screensavers. Ou vous pouvez lancer directement un screensaver spécifique avec ./screensaver.sh matrix, ou un random avec ./screensaver.sh -r. Ctrl+C pour sortir.

Chaque screensaver est en réalité un script bash autonome placé dans le dossier gallery/. Par exemple, gallery/matrix/matrix.sh contient tout le code pour recréer l’effet Matrix et quand vous regardez le code, vous réalisez que c’est de l’interprété ligne par ligne un peu nul, pas super optimisé, avec des boucles while true, des sleep 0.05 pour ralentir l’animation, et des appels à tput cup pour positionner le curseur à chaque frame.

Tenez, prenons bouncing. Le script doit calculer la position du “O”, détecter les collisions avec les bords du terminal, inverser la vélocité, effacer l’ancienne position, afficher la nouvelle, attendre un peu, et recommencer. Ça consomme du CPU pour un effet visuel qu’on pourrait obtenir en CSS avec 5 lignes de code et zero conso de CPU dès le premier rendu. Mais bon, c’est du script bash alors c’est trop cooool !

Quoiqu’il en soit, mon préféré c’est life. C’est le Jeu de la Vie de Conway où vous avez une grille de cellules, et chaque cellule peut être vivante ou morte. ET à chaque génération, vous appliquez ces règles : une cellule vivante avec 2 ou 3 voisins vivants survit, sinon elle meurt. Et une cellule morte avec exactement 3 voisins vivants redevient vivante. Implémenter ça en bash, ça veut donc dire parcourir une matrice 2D, compter les voisins pour chaque cellule, stocker l’état suivant, et redessiner le tout.

Le vrai but de bash-screensavers, vous l’aurez compris, ce n’est donc pas de protéger votre écran. Ça on s’en fout. Non, le vrai but, c’est de signaler à vos collègues les boulzors que : “Je travaille, ne touchez pas à mon terminal”. Hé oui, la nature humaine est mal faites car si quelqu’un voit un terminal avec du texte statique, il peut penser que la session est abandonnée alors que s’il voit un terminal avec des pipes ASCII qui poussent en temps réel, il sait que quelqu’un a lancé ça volontairement.

Le projet inclut même une section Not Ready For Primetime avec des screensavers expérimentaux qui ne sont pas encore assez bien pour figurer dans la galerie principale. Et tout le monde peut apporter sa petite contribution.

Merci à Lorenper pour l’info.

Reçu — 23 septembre 2025

ertdfgcvb - Du Live Coding 100% ASCII

Par :Korben
23 septembre 2025 à 15:42

Alors si vous cherchez un truc pour procrastiner intelligemment ce soir ou demain, j’ai exactement ce qu’il vous faut. Play.ertdfgcvb.xyz , c’est un terrain de jeu ASCII interactif où vous pouvez coder des animations directement dans votre navigateur. Et c’est hyper hypnotisant, vous allez voir !

Derrière ce nom imprononçable “ertdfgcvb” se cache Andreas Gysin , un artiste suisse basé à Lugano qui fait du code et du design et son playground ASCII, c’est une interface épurée au maximum composée d’un éditeur de code à gauche, d’une fenêtre de prévisualisation à droite, et c’est tout. Pas de fioritures, pas de boutons partout, juste l’essentiel. Vous tapez Cmd+Enter (ou Ctrl+Enter sur PC) et votre code s’exécute en temps réel.

Le principe de son code en live est inspiré des fragment shaders GLSL , sauf qu’au lieu de pixels colorés, vous manipulez des caractères. Vous avez accès à des fonctions spécifiques telle que boot() qui s’exécute une fois au démarrage, pre() pour préparer vos données, main() qui est appelée pour chaque cellule de l’écran, et post() pour les modifications finales.

Voici un exemple simple en javascript pour comprendre le délire :

export function main(coord, context){ return String.fromCharCode((coord.y + coord.x) % 32 + 65) }

Ce bout de code génère un pattern de lettres qui change selon la position X et Y sur l’écran. C’est tout con mais c’est beau.

Le playground propose également des dizaines d’exemples triés par catégorie. Vous avez les basiques pour apprendre, des démos plus complexes comme “Doom Flame” qui recrée l’effet de flamme du jeu Doom en ASCII, ou encore “Donut” qui fait tourner un donut en 3D avec juste des caractères. Y’a même une section “camera” où vous pouvez manipuler votre webcam et la transformer en ASCII art en temps réel.

D’après le GitHub du projet , Andreas a créé ça comme un hommage à tous les artistes, poètes et designers qui utilisent le texte comme medium. C’est un projet minimaliste, avec presque pas d’interface, juste le code et le résultat. Même les marges et les numéros de ligne ont été virés.

Et tout ça tourne de manière fluide dans le navigateur et pour les dev qui veulent comprendre comment ça marche sous le capot, tout le code source est sur GitHub, et vous pouvez vraiment faire des trucs de ouf avec, par exemple des fractales, des simulations de fluides…etc. C’est complètement barré.

Mais pour commencer, le plus simple c’est d’explorer les exemples. Le classique “10 PRINT” recrée le fameux one-liner du Commodore 64 qui génère un labyrinthe infini. Les exemples SDF (Signed Distance Fields) montrent comment faire de la 3D avec des maths et des caractères. Et si vous êtes chaud, vous pouvez lui envoyer vos propres créations qui rejoindront la section “contributed”.

Andreas enseigne ces techniques dans ses cours, et apparemment les étudiants adorent. C’est vrai que c’est une approche super pédagogique du creative coding où on se prend pas la tête avec du WebGL ou des frameworks complexes… Non, faut juste pondre du code simple qui produit des résultats visuels immédiats.

Bref, play.ertdfgcvb.xyz c’est le genre de site qu’on bookmark et qu’on ressort quand on veut se vider la tête en codant des trucs rigolos. C’est gratuit, c’est open source, et c’est une belle démonstration que l’art et le code peuvent cohabiter sans avoir besoin de millions de polygones et de shaders complexes.

Un grand merci à Lorenper pour m’avoir fait découvrir cette pépite !

❌