Vue lecture

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

Cascii - Un éditeur de diagrammes ASCII qui tient dans un fichier HTML

Dessiner des schémas en ASCII art, c’est un peu le sport national des devs qui documentent leur code dans des fichiers texte. Sauf que jusqu’ici, soit on se tapait ça à la main caractère par caractère, soit on passait par des outils en ligne qui demandent de se créer un compte et gardent vos diagrammes sur leurs serveurs. Heureusement, Cascii règle le problème puisqu’il s’agit d’un éditeur graphique complet qui tient dans un seul fichier HTML !

Et comme Cascii est écrit en JavaScript pur, y’a aucune dépendance, aucun framework, aucun npm install…etc. Vous téléchargez juste le fichier HTML, vous l’ouvrez dans votre navigateur, et c’est parti mon kiki.

Et pour l’installer, une commande suffit :

curl https://cascii.app -o cascii.html && open cascii.html

Ahaha ouais c’est la commande curl la plus nulle de l’histoire des commandes curl mais ça vous montre que je n’abuse pas.

Côté fonctionnalités, on a donc tout ce qu’il faut pour dessiner des diagrammes propres. Des lignes libres, des lignes en escalier, des carrés, des cercles, des losanges, du texte, des tableaux. Un système de calques permet d’organiser les éléments et de les grouper. Le plus malin, je trouve, c’est les “jointures intelligentes” qui connectent automatiquement les formes entre elles… parce que dessiner des flèches qui arrivent pile au bon endroit à la main, c’est l’enfer. Même comme ça, je suis pas doué, cela dit…

Ne le jugez pas…

L’éditeur propose plusieurs charsets tels que ASCII classique ou Unicode pour ceux qui veulent des lignes plus jolies et il y a 3 styles de lignes (pointillées, solides fines, solides épaisses) ainsi que des flèches directionnelles. Côté thèmes, du sombre, du clair, ou un mode “console” pour les nostalgiques du terminal.

La sauvegarde se fait automatiquement dans le stockage local du navigateur, donc même si vous fermez l’onglet par erreur, votre travail n’est pas perdu et pour partager ou archiver, il y a un export en Base64 qui permet de tout récupérer plus tard. Si vous utilisez la version hébergée sur cascii.app, vous pouvez aussi générer des liens courts pour partager vos créations.

Le projet est sous licence Apache 2.0 et le code source est dispo sur GitHub et pour les raccourcis clavier, c’est du classique : Ctrl+Z pour annuler, Ctrl+C/V pour copier-coller, Ctrl+G pour grouper des éléments, Shift+Click pour la multi-sélection. L’historique est illimité donc vous pouvez revenir en arrière autant que vous voulez.

Voilà, si vous documentez du code, dessinez des architectures système ou avez juste besoin de faire un petit schéma rapide sans sortir l’artillerie lourde, Cascii fera le job !

SMART Report Viewer - Vérifiez la santé de vos disques en ligne

Vous voulez savoir si votre SSD est sur le point de rendre l’âme mais vous avez la flemme d’installer un énième logiciel ? SMART Report Viewer règle le problème puisqu’il permet d’analyser vos rapports SMART directement dans votre navigateur.

En gros, vous exportez les données SMART de votre disque avec un outil comme smartctl ou CrystalDiskInfo, vous glissez le fichier dans l’interface web, et hop… l’analyse se fait entièrement côté client.

Pour rappel, les données SMART (Self-Monitoring, Analysis and Reporting Technology), c’est ce que votre disque collecte sur lui-même en permanence : Nombre de secteurs réalloués, heures de fonctionnement, cycles d’allumage, erreurs de lecture… Tous ces indicateurs qui permettent de voir venir une panne avant de perdre vos photos de vacances ou votre collection de photos de… enfin bref.

SMART Report Viewer supporte les disques NVMe et SATA, ce qui couvre à peu près tout ce qu’on trouve dans nos machines aujourd’hui, donc que vous ayez un vieux HDD mécanique qui grince depuis 2015 ou un SSD NVMe tout neuf, ça devrait passer.

L’avantage d’un outil web par rapport aux logiciels classiques comme CrystalDiskInfo ou GSmartControl, c’est surtout sa portabilité puisque vous pouvez analyser un rapport depuis n’importe quel PC, y compris celui d’un pote qui vous demande de jeter un œil à son disque qui fait des trucs suspect.

Pour récupérer vos données SMART, le plus simple reste smartmontools. Sous Linux ou macOS, un petit sudo smartctl -a /dev/disk0 > rapport.txt et c’est réglé. Sous Windows, CrystalDiskInfo permet d’exporter les infos et ensuite vous balancez le fichier sur SMART Report Viewer et vous avez votre diagnostic.

Pas de repo GitHub visible donc difficile de savoir comment l’analyse est faite côté code mais vous pouvez vérifier que tout se passe dans le navigateur puisqu’en coupant votre connexion après avoir chargé la page, ça marche toujours.

Bref, encore un petit outil pratique qui ne fait qu’une chose et la fait bien !

Mario Kart Super Circuit - Un patch corrige un bug vieux de 24 ans

Si vous aviez une Game Boy Advance en 2001, vous avez forcément joué à Mario Kart Super Circuit. C’était LE jeu pour les trajets en bus trop longs, les vacances à la mer chiantes avec les parents, les heures à tuer le weekend… Eh bien figurez-vous que pendant tout ce temps, on jouait à un jeu “cassé” sans même le savoir.

Le truc, c’est que Mario Kart Super Circuit affiche bien 60 fps… mais uniquement pour les personnages et les décors. Le circuit lui-même, qui tourne avec l’effet Mode 7 comme sur Super Nintendo, ne se rafraîchissait qu’à 30 fps. Et c’est un détail que personne n’a vraiment remarqué pendant presque un quart de siècle.

Et là, y’a un moddeur du nom d’Antimattur qui a décidé de fouiller dans le code et a découvert un truc assez dingue… Le jeu calculait déjà les paramètres du circuit à 60 fps en interne, mais quelqu’un chez Nintendo a décidé de ne les lire qu’à 30 fps. Alors pourquoi ? Hé bien mystère et boule de gomme… Les théories vont de l’économie de batterie (les piles AA du GBA original, c’était pas la fête) à une optimisation pour l’écran LCD qui bavait tellement que le 60 fps aurait peut-être été bizarre… On ne sait pas vraiment.

Ce nouveau patch fait seulement 15 octets et selon son créateur, un tiers de ces octets sont pour le mot “patch”. Un simple changement d’adresse et hop, le jeu fait enfin ce qu’il aurait dû faire depuis 2001.

La correction fonctionne sur toutes les versions du jeu (USA, Europe, Japon), et niveau performances, ça ne change strictement rien puisque le boulot était déjà fait en coulisses. Nintendo avait juste… oublié d’utiliser ses propres calculs.

Maintenant, la différence se voit surtout dans les virages serrés où le scrolling est parfaitement fluide. C’est subtil mais une fois qu’on l’a vu, difficile de revenir en arrière… Bref, si vous voulez ressortir votre GBA (ou votre émulateur, aucun jugement ^^) pour l’occaz, le patch traîne sur romhacking.net . Dégoupillez le fichier IPS qui correspond à votre région et c’est bon pour du Mario Kart qui tourne enfin comme prévu !

Source

Pixel Snapper - L'outil qui répare le pixel art baveux des IA

Si vous avez déjà essayé de générer du pixel art avec une IA comme Midjourney ou le nouveau modèle Nano Banana Pro de Google, vous avez forcément remarqué ce problème : c’est moche de ouf ! Enfin non, c’est pas moche dans l’absolu, mais les pixels sont tout sauf alignés sur une grille propre. On se retrouve avec des trucs qui ressemblent à du pixel art de loin, mais qui sont en fait une bouillabaisse de pixels de tailles variables, mal placés, avec des anti-aliasing qui n’ont rien à faire là.

Heureusement pour nous, Pixel Snapper va nous aider à corriger tout ça en quelques secondes !

L’outil est développé par Hugo-Dz sur GitHub dans le cadre du projet Sprite Fusion. Vous balancez votre image de pixel art foireuse, et il recale automatiquement chaque pixel sur une grille propre comme ça, fini les pixels qui font du 1,3 × 0,8 au lieu de faire un beau carré 1 × 1 comme le bon dieu du rétro gaming l’a voulu.

Voici la différence… A gauche c’est l’image IA, et à droite, c’est l’image recalée comme il faut :

Le truc cool, c’est que l’outil préserve tous les détails de votre image, c’est à dire le dithering, les courbes, les petits trucs subtils que vous ne voulez pas perdre dans la conversion. C’est pas un outil qui va vous massacrer l’image en la pixelisant bêtement même si certaines couleurs sautent car faut pas dépasser les 16 couleurs.

Voilà, il analyse la structure et recale intelligemment chaque élément sur la grille cible en moins de 2 secondes. Y’a pas besoin de vous créer un compte et c’est sans limite.

En plus, c’est gratuit et open source, donc vous pouvez l’utiliser pour vos projets perso comme pour vos jeux commerciaux sans vous poser de questions. D’ailleurs si vous bossez avec Unity, Godot, Defold ou Flame, les assets générés sont directement utilisables dans vos projets.

Voilà, si vous utilisez des générateurs d’images IA pour créer des assets de jeux rétro et que vous en avez marre de passer des heures à recaler les pixels à la main, testez Pixel Snapper !

Spiral Betty transforme vos photos en spirales hypnotiques

Vous connaissez ces dessins où une seule ligne continue forme un visage ou un portrait ? Hé bien c’est exactement ce que fait Spiral Betty , un petit outil en ligne gratuit qui convertit n’importe quelle photo en spirale artistique.

Vous uploadez une image, vous la cadrez dans un cercle, et l’outil génère une spirale unique dont l’épaisseur varie pour reproduire les contrastes de votre photo. Ça fait donc une seule ligne qui part du centre et s’enroule jusqu’au bord, avec des variations d’épaisseur qui font apparaître votre image comme par magie.

L’idée est en fait inspirée d’une technique du 17ème siècle quand Claude Mellan , un peintre et graveur français, avait créé une œuvre célèbre appelée “ Sudarium of Saint Veronica ” représentant le visage du Christ avec une seule ligne en spirale partant de la pointe du nez. Spiral Betty démocratise donc cette technique et vous permet de faire pareil avec la tête de votre chat, votre tronche ou celle de belle-maman.

Pour que ça rende bien, faut quand même respecter quelques règles. L’image doit être simple avec un bon contraste, pas trop de détails fins, et idéalement un gros plan de visage (humain ou animal) qui rentre bien dans un cercle. Si vous balancez une photo de groupe ou un paysage chargé, le résultat sera illisible.

Une fois votre spirale générée, vous pouvez ajuster le nombre d’anneaux avec un curseur. Plus y’a de spirales, plus y’a de détails… mais aussi plus c’est fin à découper si vous voulez en faire quelque chose de physique. D’ailleurs, pas mal de gens utilisent ça avec des machines de découpe type Cricut pour faire des stickers en vinyle ou des décorations.

Et justement, ça ouvre des possibilités sympas niveau DIY car on peut imaginer découper ça au laser, l’imprimer en 3D en relief, en faire des dessous de verre, des cadres déco…etc. Le format SVG que génère l’outil se prête bien à ce genre de bidouilles.

Voilà, le site est gratuit et y’a aussi des apps mobiles si vous préférez faire ça sur votre téléphone.

Merci à Bot_0x pour l’info !

Itoa - Pour convertir une image en ASCII Art

Vous avez un iPhone qui prend des photos 48 mégapixels, un écran Retina qui affiche 254 pixels par pouce, et des GPU qui font tourner des jeux en 4K mais ce que vous n’avez pas c’est Itoa , un outil web qui fait exactement l’inverse puisqu’il transforme vos images haute-définition en une grille de caractères ASCII monochrome / couleur de 10 symboles maximum (Par exemple : .:-=+*#%@).

Car l’ASCII art, c’est littéralement la mise à mort volontaire de l’image. Vous prenez quelque chose qui a besoin de millions de pixels pour exister et vous le réduisez à une poignée de caractères typographiques et en 2025, ça continue !

Sur que itoa (ça veut dire “image to ascii art”, au fait) fait ça très bien ! C’est donc, vous l’aurez compris, un convertisseur image-vers-ASCII codé en React et Vite qui tourne directement dans votre navigateur. Vous glissez dessus une image JPG, PNG ou GIF, et hop, l’outil vous la transforme en grille de caractères.

Deux modes sont dispo : monochrome pur et dur, ou couleur où chaque caractère hérite de la teinte du pixel d’origine. Vous pouvez aussi contrôler la taille de sortie (petit, moyen, grand) et exporter le résultat en PNG si vous voulez le partager ou l’imprimer.

Techniquement, itoa utilise l’API Canvas HTML5 pour analyser votre image. Ensuite, l’image est redimensionnée en gardant son ratio, puis chaque pixel est analysé. Pour le mode monochrome, l’algorithme calcule la luminance et ensuite l’outil mappe la valeur sur une échelle de caractères allant du plus clair (.) au plus foncé (@). Et pour le mode couleur, chaque pixel conserve sa couleur RGB d’origine via des balises HTML.

Bien sûr, itoa n’est pas le seul convertisseur ASCII du monde. Y’a pas exemple ManyTools.org qui fait le job depuis des années, Folge.me avec son interface moderne et ses options couleur, ou encore ASCII-Art-Generator.org qui peut exporter en SVG.

Bref, si vous aimez la nostalgie tech ou si vous voulez illustrer des .txt, c’est l’outil qu’il vous faut !

A découvrir ici !

SpaghettiKart - Le portage PC / Switch de Mario Kart 64

SpaghettiKart est sorti en juin dernier et c’est le portage sur PC / Switch de Mario Kart 64, signé HarbourMasters. Si ce nom vous dit quelque chose, c’est normal, car ce sont les mêmes qui ont porté Zelda Ocarina of Time avec Ship of Harkinian, Zelda Majora’s Mask avec 2Ship2Harkinian, et Star Fox 64 avec Starship . Quatre jeux N64 majeurs portés avec la même méthode, ce n’est plus du bricolage. Ils ont industrialisé le portage N64, je pense !

Et la clé, c’est libultraship . Il s’agit d’une lib qui permet d’éviter le gros du boulot technique pour porter des jeux N64 vers des plateformes modernes. Grâce à ça, chaque nouveau portage devient un projet de quelques mois au lieu de plusieurs années. Ship of Harkinian a défriché le terrain et maintenant, le pipeline est bien rodé.

Le fonctionnement de SpaghettiKart est simple. Vous lui fournissez votre ROM Mario Kart 64 US légale, vous générez un fichier O2R avec l’outil fourni, et vous lancez le jeu ! SpaghettiKart tourne sur Windows, Linux, macOS (pas de binaire dispo encore) et même Nintendo Switch. Comme les backends graphiques supportent DirectX11, OpenGL et Metal, c’est multiplateforme dès le départ.

Et les fonctionnalités sont celles que Nintendo devrait proposer, mais ne propose pas comme le support ultrawide et 4K, une fréquence d’images élevées, de l’antialiasing, un niveau de détails poussé au max et des contrôles personnalisables. Y’a même la possibilité de mettre vos assets customs et d’éditer des circuits donc autant dire que les moddeurs vont se régaler…etc. Bref, tout ce que Mario Kart 64 aurait dû devenir si Nintendo y avait mis 1 % de l’énergie qu’ils mettent à envoyer des DMCA .

Techniquement, SpaghettiKart est encore en work-in-progress, ça peut planter et toutes les fonctionnalités ne sont pas encore implémentées, mais le jeu est déjà jouable et fonctionnel.

HarbourMasters cible les jeux N64 emblématiques que Nintendo refuse de moderniser correctement… Bref, le catalogue N64 est en train de se faire sauver par trois dev bénévoles.

Voilà, donc si vous voulez jouer à Mario Kart 64 en ultrawide à 120 FPS avec vos propres circuits custom, allez voir SpaghettiKart sur GitHub .

Merci au matinal Lorenper pour l’info !

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

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.

❌