❌

Vue lecture

HatchZip - Décompresser une archive énorme sur un disque plein

Vous venez de télécharger un jeu de 180 Go compressé en ZIP ou en 7z (Merci FitGirl ! ^^), et une fois décompressé, il viendra squatter 200 Go. Logique... Sauf que comme vous le savez également, WinRAR, 7-Zip ou unzip ont besoin de conserver l'archive pour la décompresser jusqu'au bout. Du coup, au final, cette archive compressée + tous les fichiers extraits en même temps sur le disque, et bien vous vous retrouvez avec 380 Go au total.

Donc si comme moi vous êtes toujours à court de place parce que "les nouveaux modèles à tester sur Ollama, tu connais", voici peut-être LA solution du tur-fu !

C'est en tout cas la mission que s'est donné HatchZip , un extracteur gratuit et open source pour Windows, macOS et Linux, qui s'utilise en GUI (interface graphique) ou en ligne de commande. Lui en décompressant votre archive se contentera d'un peu plus de 200 Go et pas de 380 Go parce qu'avec lui, l'archive rétrécit au fur et à mesure que les fichiers en sortent. Et quand il a terminé, hé bien il ne reste plus que les fichiers extraits !

L'archive de 180 Go se vide par la fin pendant que le dossier du jeu se remplit

Comme un ZIP ou un 7z range son index tout à la fin du fichier, HatchZip commence par le mettre de côté dans un petit fichier, puis il extrait les morceaux en partant du dernier. Après chaque fournée, il ampute alors l'archive à l'endroit où commençait cette fournée, et la place libérée sert alors aux fichiers suivants.

Voici comment le lancer en ligne de commande (avec la phase de check pour voir si ça tiendra sur votre disque)

hatchzip check game.zip
hatchzip extract game.zip

Bien sûr, si vous faites Ctrl+C, HatchZip terminera de s'occuper des fichiers qu'il est en train d'écrire, enregistrera sa progression et s'arrêtera. Pareil après un plantage ou une coupure de courant. Mais il suffit alors de relancer la même commande pour qu'il reprenne là où il en était. Et si vous changez d'avis, hatchzip restore refera une archive "normale" avec ce qui n'a pas encore été extrait (ce sera donc ouvrable classiquement par 7-Zip, WinRAR ou unzip sauf pour un RAR ayant ses noms de fichiers chiffrés).

Côté formats, il lit le ZIP, le 7z, le RAR, le tar, le .tar.gz, le .tar.xz et les archives découpées en .001, .002, etc., dont il supprime chaque volume dès qu'il est vidé. Un .tar.gz ou un .tar.xz, lui, se décompresse depuis le début, et HatchZip n'en rend la place qu'en "poinçonnant" le fichier, ce qui n'est pas encore vérifié sous NTFS et APFS. Et un .tar.xz fait d'un seul bloc, lui, est carrément refusé dès le départ.

Par contre, un 7z lui aussi compressé en un seul gros bloc solide exigera de la place libre pour ce bloc entier, car il ne pourra être libéré qu'une fois complètement extrait. Et un RAR solide ne passe qu'avec --keep-archive, autrement dit en extraction classique qui conserve l'archive.

Après, n'oubliez pas que cet outil détruit ce qu'il lit, donc ayez toujours une copie récupérable de ce que vous décompressez. Et prenez la dernière version, uniquement sur hatchzip.dev ou sur GitHub (hatchzip.com n'a rien à voir avec le projet), et ajoutez-y --verify-first quand l'archive ne peut pas être retéléchargée car ça lui permet de contrôler alors la somme de chaque fichier avant d'effacer quoi que ce soit.

HatchZip est sous licence MIT / Apache 2.0, et c'est, je pense à garder sous le coude pour le jour où votre SSD criera famine (ce qui est le cas du mien tous les jours) !

Source : HatchZip sur GitHub

  •  

DiscImageStudio - Un dessin gravé dans les données du disque

Les amis, insomnie depuis 3h du mat (ouais j'ai des soucis ^^), alors quoi de mieux que de bosser un peu ! J'avais cet article en brouillon depuis hier et comme j'ai trouvé ça super joli, je vous en parle ! Il s'agit de DiscImageStudio qui est un logiciel qui permet de transformer une image en données à graver sur un CD, un DVD ou encore un BD-R pour les plus riches d'entre vous, et une fois le disque écrit, hé bien votre dessin apparaît à l'œil nu sur sa surface.

Regardez-moi ça comme c'est beau :

Un dessin gravé par DiscImageStudio

L'idée n'est pas nouvelle puisqu'elle vient du projet CDImage , dont l'auteur avait jeté l'éponge en 2008 parce qu'il fallait calibrer l'image pour chaque marque et chaque type de disque. DiscImageStudio est donc reparti de ce code d'entrelacement pour les CD, et y a ajouté le DVD et le BD-R simple couche de 25 Go (ce dernier en mode expérimental...).

Sous Windows, vous importez donc votre image, vous faites vos petits réglages au niveau des calques, vous réglez le tramage, et puis vous exportez le tout ou vous gravez ça direct.

Pour un CD, ce qui est exporté c'est un WAV accompagné de son CUE (cdrecord ou ImgBurn savent le graver), et si c'est c'est un DVD ou un BD-R, ce que vous aurez à l'export c'est une ISO. Et vous pouvez même ajouter un dossier contenant quelques fichiers sur l'anneau intérieur ou extérieur du disque afin qu'il y ait quand même quelque chose de lisible dessus. Et dans ce cas, l'export CD sera là aussi une ISO de données.

L'onglet de conception, avec calques et tramage

Le vrai casse-tête étant la géométrie propre à chaque référence de disque (et c'est ça la raison de l'abandon de CDImage comme je vous le disais plus haut), DiscImageStudio embarque 5 préréglages calibré sur 3 modèles Verbatim, et 2 Ritek.

Pour un autre modèle de disque gravable, il faudra donc passer donc par une calibration assistée. En gros, vous gravez une mire, vous la photographiez, vous marquez une ligne à la main, et le programme cherche alors les paramètres qui la "redressent". Mais le résultat peut être hasardeux donc vérifiez bien la courbe prédite sur votre photo avant d'appliquer les paramètres.

Côté système, l'interface, calibration et gravure directe comprises, exige un Windows 10 2004 ou plus récent. Sur Mac et Linux, la version 1.3.6 sortie récemment dispose d'un mode expérimental en ligne de commande qui génère seulement les images disque, et c'est ensuite à vous de les graver, par exemple en ligne de commande ou avec le logiciel de votre choix.

Voilà, si vous avez des disques vierges dont vous ne faites rien et que vous n'avez pas peur d'en gâcher, ça peut vous faire de jolis éléments de déco.

Source : DiscImageStudio sur GitHub

  •  

Korben Remote Desktop - Contrôlez votre Mac à distance gratuitement

J'ai pas mal de déplacements pro en ce moment, et comme je suis sur plein de projets en même temps, c'est un peu relou. Parce que tout ne tourne pas uniquement sur mon ordi portable. J'ai des traitements un peu plus lourds qui tournent par exemple sur mon Mac Studio et faut dire que je lui en fais vraiment voir de toutes les couleurs à celui-là...

La plupart du temps, j'arrive heureusement à tout gérer à distance en me connectant en SSH à l'ordinateur via mon VPN privé (ça me permet d'avoir toutes mes machines sur le même réseau local virtuel comme ça c'est chiffré et sécurisé) mais il arrive parfois que je doive cliquer sur un bouton ou taper un mot de passe via l'interface de macOS.

Jusqu'à présent pour ce genre de choses, j'utilisais donc l'application Partage d'Écran fournie par Apple, mais je ne sais pas vous, chez moi ça lag furieusement et c'est vraiment pas pratique à utiliser. Bref, j'aime pas.

Je me suis donc rabattu sur des Real VNC et compagnie, mais pareil, ce n'est pas un protocole et des clients que je trouve très efficaces. Et j'avais pas envie non plus de payer un peu au pif une app présentée comme meilleure comme celle-ci d'Apple pour voir ce que ça donne :

Du coup, je me suis créé à l'aide d'agent IA, ma propre application de prise de contrôle à distance en y mettant toutes les fonctionnalités dont j'avais besoin.

Ça s'appelle Korben Remote Desktop et ça fonctionne en deux parties. On a d'un côté un petit agent sur l'ordi à contrôler, qui demande juste les autorisations système "Enregistrement de l'écran" et "Accessibilité" (sans oublier la fonctionnalité de Session à distance activée dans Partage, pour le tunnel SSH au niveau des réglages de macOS), et de l'autre côté le client sur le Mac que vous avez sous les yeux. Les deux se parlent ensuite à travers un tunnel SSH chiffré, sur votre réseau local ou votre VPN privé, sans passer par aucun serveur chez moi ni ailleurs puisque l'appli refuse carrément les adresses IP publiques pour des questions de sécurité.

Voici tout ce que j'ai mis en place dans cette application :

  • Une image fluide, jusqu'en 4K. Capture ScreenCaptureKit, encodage HEVC ou H.264 par la puce du Mac, transport UDP chiffré avec de la parité Reed-Solomon pour encaisser les paquets perdus. Qualité au choix (Automatique, 720p, 1080p, 4K ou Native) et cadence de 30, 60 ou 120 images par seconde.
  • Un Wi-Fi qui coupe n'est plus un drame. Une micro-coupure est traitée comme un retard et pas comme une perte, et trois priorités de présentation (Réactif, Équilibré, Fluide) règlent le tampon selon que vous voulez la latence la plus basse ou aucun gel d'image.
  • Le son aussi. Le son système du Mac distant arrive au format Opus, et si y'a pas de son, aucune bande passante n'est consommée pour ça.
  • Souris, clavier et raccourcis. Défilement précis, boutons latéraux compris, et les raccourcis partent au Mac distant tant qu'il a le clavier (⌘C copie là-bas, pas chez vous). Ceux du client sont donc basculés en ⌃⌥⌘ pour ne pas leur marcher dessus.
  • Un mode jeu. Capturer la souris (⌃⌥⌘G) cache le curseur, envoie le mouvement brut sans le bloquer aux bords de l'image et passe le clavier en touches physiques, donc W reste la touche W quelle que soit la disposition. Les manettes passent aussi, en expérimental.
  • Tous les écrans. Vous passez d'un écran à l'autre, ou vous les affichez tous à la fois (⌃⌥⌘A), rangés comme sur le Mac distant, le pointeur passe de l'un à l'autre et une fenêtre se tire d'un écran à l'autre. Un écran branché ou débranché pendant la session apparaît ou disparaît tout seul.
  • Zoom et plein écran. Un zoom comme celui de macOS (pincement à partir du curseur, déplacement à deux doigts, double toucher) et un plein écran système dont la barre d'outils se range.
  • Les fenêtres des apps distantes, chez vous. Une fenêtre d'une application du Mac distant (un Terminal du Studio, par exemple) peut s'ouvrir comme une fenêtre indépendant sur votre Mac. Vous la déplacez, la redimensionnez, vous tapez et cliquez dedans, et c'est l'application distante qui répond. Quand elle a accès au clavier, la barre des menus de votre Mac affiche même les menus de cette application distante, et un clic droit y ouvre le vrai menu contextuel du Mac distant.
  • Fichiers et presse-papiers. Presse-papiers texte partagé, transfert de fichiers dans les deux sens, y compris en glisser-déposer vers et depuis le Finder distant. Un transfert interrompu peut également reprendre sans tout recommencer. Les fichiers reçus sont ensuite mis en quarantaine, comme n'importe quel téléchargement.
  • Reconnexion automatique. Si le lien tombe, l'image se grise et le client réessaie jusqu'à ce que vous l'arrêtiez, en gardant vos fenêtres déportées. Et si aucune session n'est ouverte sur le Mac distant (après un redémarrage, par exemple), l'appli vous propose alors d'ouvrir le Partage d'écran d'Apple pour taper votre mot de passe, puis reprend la main dès que l'agent est prêt (J'ai pas d'autre choix que de faire comme ça).
  • Un Mac qui ne montre rien pendant que vous bossez dessus. Durant une session, l'écran du Mac distant est noir pour quelqu'un qui passerait devant, son clavier et sa souris sont bloqués et ses haut-parleurs sont coupés (le son, lui, continue d'arriver chez vous). À la déconnexion, l'agent demande au lecteur multimédia de se mettre en pause (s'il peut le faire) et verrouille la session, par défaut.
  • Un accès depuis un simple navigateur. L'agent peut aussi ouvrir un accès web, à démarrer explicitement dans sa fenêtre. Vous copiez un lien à usage unique valable quinze minutes, vous l'ouvrez dans Safari ou Chrome sur votre réseau privé, vous comparez l'empreinte du certificat avec celle affichée par l'agent, et vous retrouvez l'écran, le son, le zoom et le contrôle sans rien installer. Les fichiers et les fenêtres séparées restent réservés au client Mac.
  • Sécurisé par défaut. Tunnel SSH obligatoire pour le client natif (votre compte SSH est la clé, aucun compte à créer nulle part), TLS avec échange de clés ECDHE et ChaCha20-Poly1305 pour le lien de contrôle, AES-256-GCM pour l'image et le son, adresses publiques refusées, et un seul viewer à la fois (le deuxième doit demander la place au premier, qui répond oui ou non).
  • Une vraie app Mac. Barre latérale avec vos Macs, barre d'outils native, fenêtre Réglages, menus complets, mode sombre, français ou anglais selon la langue du système, et les Macs du réseau qui ont la session à distance activée sont trouvés tout seuls par Bonjour. Les statistiques du flux (⌃⌥⌘I) donnent la latence, la gigue, le tampon et les pertes, et une "liaison économe" allège tout d'un coup pour un réseau lent ou compté.

Ce que ça ne fait pas encore par contre, c'est pas de réveil à distance, pas de déverrouillage FileVault après un redémarrage à froid (prévu sur macOS 26, mais pas encore validé), les gestes du trackpad comme la rotation ou le balayage à trois doigts ne passent pas, et le verrouillage des majuscules reste celui du Mac distant. Il faut macOS 14 minimum des deux côtés, et les deux applications sont universelles, Apple Silicon comme Intel (testées sur Apple Silicon, l'Intel et macOS 14 restent à valider).

Maintenant pour pour l'utiliser tous les jours, ce que je peux vous dire c'est que ça marche très bien. Maintenant, j'ai pas eu d'autres testeurs que moi-même pour le moment mais ça fait tout ce dont j'ai besoin.

Et je me suis payé le luxe également d'adapter le code (en version ultra alpha, j'ai pas encore assez testé ça) pour Windows et Linux. Et l'application iOS est également sur les rails.

Maintenant, comme d'hab, j'ai essayé de la mettre sur l'App Store d'Apple mais ils sont tellement casse couilles que je ne sais pas si j'y arriverai. Mais peu importe, je me suis dit que ça vous servirait alors je vous ai fait un petit site ici pour télécharger mon app : remotedesktop.korben.info .

C'est 100% gratuit, y'a aucune télémétrie ni pub dedans et je n'ai pas de plan de carrière avec ce logiciel si ce n'est de l'améliorer par petites touches au fil du temps. Je l'ai créé pour mes besoins et je me suis dit que ce serait dommage de ne pas vous en faire profiter, c'est tout.

Voilà, donc n'hésitez pas à tester. C'est conçu pour macOS mais j'ai décliné ça pour Windows et Linux (je le redis, c'est de l'alpha pour Win et Linux) afin que chaque client puisse prendre le contrôle de n'importe quelle machine peu importe son système d'exploitation.

Enjoy !

  •  

Music Bridge - Pour que les liens musicaux s'ouvrent bien sur votre plateforme favorite

Si vous avez des potes qui vous envoient des liens Spotify trop cools toute la journée alors que vous écoutez tout sur Deezer (ou l'inverse), bah c'est chiant votre vie. Faut copier le titre, ouvrir votre appli, le chercher...etc.

Heureusement, il existe Music Bridge , une extension pour le navigateur signée Simon Duhem (un ancien de Deezer) qui vous permet d'éviter de faire tout ce bordel en ouvrant directement la bonne chanson dans votre application musicale à vous.

Une fois Music Bridge installé, vous réglez votre service favori une fois pour toutes dans les options, et ensuite chaque page de morceau ou d'album ouverte ailleurs vous renvoie automatiquement vers son équivalent chez vous.

Deezer, Spotify, Apple Music, YouTube Music, Amazon Music, Tidal et Pandora se renvoient ainsi la balle dans n'importe quel sens, et YouTube ou SoundCloud peuvent également servir de destination. Et bien sûr si le morceau n'existe pas dans votre catalogue parce que c'est trop niche, bah vous restez sur la page d'origine avec un petit message qui vous prévient.

Maintenant pour ceux qui préfèrent l'appli de bureau plutôt que l'extension navigateur, une option permet également de lancer la musique directement dedans pour Deezer, Spotify et Apple Music, sous Windows et macOS, et une autre s'occupe de refermer l'onglet resté ouvert 5 secondes après l'ouverture de l'appli. Cochez juste "Toujours autoriser" la première fois que le navigateur vous demande s'il peut ouvrir l'appli, sinon l'onglet se fermera avant d'avoir eu votre réponse.

Après, il y a encore quelques trous dans la raquette... Par exemple, il n'y a pas de conversion pour les artistes ou pour les playlists. Et sur Android, quand l'appli de l'autre plateforme est installée, c'est elle qui récupère ses liens avant même que le navigateur ne les voie, et ça malheureusement, l'extension n'y peut rien.

Maintenant, pour retrouver le bon morceau, l'extension envoie l'adresse de la page ainsi que la plateforme de destination choisie à un petit service web que Simon hébergé chez Cloudflare, qui interroge l'API d' Odesli (le moteur de song.link) pour faire le matching.

Le code de cette extension est sous licence BSD et Music Bridge s'installe sur Chrome , Firefox (Android compris) et Edge .

Merci à Simon pour le partage !

  •  

xboxrecomp - Transformer un jeu Xbox en .exe Windows

xboxrecomp est un outil de recompilation qui vient de voir le jour et qui devrait vous intéresser si vous êtes nostalgique de la première Xbox. En effet, ce dernier prend l'exécutable d'un jeu de la Xbox originale, traduit chacune de ses fonctions x86 en code C, puis recompile le résultat en programme Windows 100% natif. Cela veut dire que le jeu ensuite peut tourner directement sur votre ordinateur, sans faire appel à un interpréteur ni à un émulateur. C'est ce qui s'appelle de la recompilation statique, et je vous en parle régulièrement parce que je trouve ça assez magique (rappelez vous de Zelda 64 recompilé ).

Le dépôt de xboxrecomp ne contient évidemment aucun fichier de jeu pour ne pas s'exposer au courroux des ayants-droits. Vous devez donc avoir votre propre disque, en extraire le default.xbe, et la chaîne d'outils (du Python avec capstone, puis Visual Studio 2022 pour compiler) génèrera chez vous tout le code C du jeu. Pas de bouton magique, par contre, le premier lancement d'un jeu recompilé plantera et ensuite, ça avancera crash après crash. Notez que ce projet s'est construit avec Claude Code également.

Pour le moment, le seul jeu qui va au bout de sa recompilation, c'est Burnout 3: Takedown. Tous les modes démarrent et se jouent, seul ou à deux, mais les menus tournent à environ 14 images par seconde et les courses à 2 à 4 FPS sur une machine à 12 cœurs. Y'a pas non plus de possibilité de faire des sauvegardes et c'est manette obligatoire. Bref, c'est pas encore très jouable.

En fait le problème c'est le GPU de la Xbox (le NV2A) qui est émulé en logiciel, et c'est malheureusement ça qui fait chuter les FPS. Le "No emulation" du slogan ne vaut donc que pour le processeur, mais pas les morceaux audio ni le GPU repris de xemu. Mais ça changera peut-être bientôt.

Maintenant, si vous cherchez un jeu Xbox précis à installer, regardez plutôt du côté de SCDA-XBERecomp , qui est l'inverse de xboxrecomp. C'est n'est pas un outil universel mais une recompilation uniquement du jeu Splinter Cell: Double Agent. Celui-ci réimplémente le noyau, Direct3D et DirectSound côté Windows, et vous laisse régler le champ de vision ou lever la limite de 30 images par seconde.

Et si vous voulez juste rejouer à vos jeux Xbox ce soir, un émulateur comme xemu fera très bien comme d'hab.

Moi de mon côté, j'avance toujours sur mon recompilateur universel de ROMs Kompote et ça marche vraiment très bien. Là je suis en train d'implémenter le support des jeux Amiga... je pense que dans quelques jours, ce sera cuit à point.

Source : xboxrecomp sur GitHub

  •  
❌