❌

Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
Aujourd’hui — 7 octobre 2026Flux principal

LivePE - Une clé de dépannage Windows chargée à bloc

Par : Korben ✨
7 octobre 2026 à 09:30

Vous ne le savez surement pas mais Sebseba, un membre du forum TeamAAZ, partage depuis juin 2025 un LivePE 100% en français . C'est une ISO qui se met sur une clé USB et qui permet de démarrer un LivePE (un Windows Live quoi...), en EFI comme en MBR, avec de quoi sauvegarder, partitionner, récupérer des fichiers ou réparer le boot. Bref, c'est super pratique si vous faites un peu d'admin ou de support technique.

Le bureau du LivePE démarré dans une machine virtuelle, avec ses icônes en français

Il l'a fabriqué avec une base de Win10XPE , SFX Constructor et Dism++ , et ça embarque une sacrée liste de programmes.

Par exemple, pour les sauvegardes, vous avez le droit à Acronis True Image 2026, Macrium Reflect X Server, AOMEI Backupper et les outils Hasleo. Pour tout ce qui est partitionnement, c'est MiniTool, EaseUS et AOMEI Partition Assistant. Aussi, pour récupérer des fichiers, GetDataBack Pro et Hasleo Data Recovery et il y a bien sûr AIDA64 Extreme et le Kaspersky Virus Removal Tool.

Maintenant, pour le mettre sur une clé ou un SSD externe, le tuto de Sebseba impose UltraISO et rien d'autre, sinon le multiboot EFI + MBR ne marchera pas. Il faut initialiser le support en MBR, puis vous le formatez en FAT32, vous ouvrez TECH.iso dans UltraISO et vous l'écrivez en mode USB-HDD+.

Et ensuite, vous pouvez réduire cette partition et en créer une seconde en NTFS pour y ranger vos ISO Windows. Par contre, attention, WinToHDD ne créera pas la partition MSR quand il installera Windows en GPT/EFI, ce qui posera des problèmes de migration plus tard... Donc préparez bien l'ESP et la MSR avant, avec DiskGenius ou DiskPart GUI Micro.

Le gestionnaire de démarrage de l'ISO, lui, s'affiche en anglais

Cette ISO de LivePE bien frenchy est une adaptation du WinPE de Sergei Strelec, dont l' historique officiel liste lui aussi Acronis, Macrium Reflect, AIDA64 et GetDataBack, mais uniquement dans la langue de David Bowie (ouais Shakespeare c'est has-been). Et si vous préférez une clé multiboot montée avec Ventoy, Medicat dont je vous ai déjà parlé à de multiples reprises, fait ça très bien depuis longtemps.

Un grand merci à Sebseba pour le partage !

Source : LivePE en français sur TeamAAZ

The Legend of Zelda: Majora's Mask enfin en version européenne sur PC et Android

Par : Korben ✨
7 octobre 2026 à 06:54

Vous le savez, The Legend of Zelda: Majora's Mask existe en version européenne, avec une ROM PAL 1.1 qui embarque 4 langues (anglais, français, allemand et espagnol), mais 2Ship2Harkinian , le portage PC du jeu dont je vous ai déjà parlé, ne reconnaît que les 2 versions américaines.

C'est pour cela qu'un fork non officiel a décidé de lever cette limite en permettant une lecture de la ROM version PAL 1.1 directement depuis Windows, Linux et Android !

Bien sûr, le fork garde le support des ROM américaines, et comme toujours pour ne pas tomber dans le piratage, il faudra au premier lancement du jeu, désigner l'emplacement de votre ROM à vous (que vous devrez avoir normalement rippé vous-même depuis votre propre version pour rester dans les clous plutôt que dans choper une sur un site random ^^). Ensuite, le jeu génèrera localement son fichier de données (mm.o2r), et les lancements suivants démarreront directement dans le jeu.

Le menu Options sur Android, avec le français sélectionné parmi les quatre langues de la ROM PAL 1.1 (capture fournie par l'auteur du fork)

Sous Windows, il faut donc décompresser le ZIP et lancer 2ship.exe, en gardant 2ship.o2r à côté. Sous Linux, c'est une archive et un exécutable 2s2h.elf, avec le même fichier à ses côtés. Sur Android, il faut l'APK (ARM64 uniquement, Android 7 et OpenGL ES 3.0 minimum), et la version mobile ajoute des commandes tactiles qu'on peut masquer, un menu redimensionnable et un dossier de données déplaçable sur carte SD.

Pas de build macOS, en revanche, alors que le projet d'origine en propose un et ça, c'est un méga snif pour moi.

Alex, l'auteur de ce fork a aussi ouvert une demande de fusion chez 2Ship pour intégrer tout ça au projet d'origine, j'espère que ça passera.

Et après, peut-être qu'il pourra s'attaquer à Zelda 64 Recompiled , l'autre portage de Majora's Mask dont je vous ai parlé, car lui aussi n'accepte que la ROM américaine..

À récupérer sur la page des releases du fork .

Hier — 6 octobre 2026Flux principal

RemoveMacAI - Supprimez Apple Intelligence de macOS 27

Par : Korben ✨
6 octobre 2026 à 10:35

Si vous êtes sous macOS 27, vous avez peut-être remarqué que pour désactiver Apple Intelligence, il fallait couper les fonctions une par une. Mais ce que vous ne savez probablement pas, c'est que même si vous faites ça, les modèles restent stockés sur votre disque dur. Donc forcément, ça prend de la place !!

Heureusement, il existe une application nommée RemoveMacAI qui permet de supprimer ces modèles et empêcher macOS de les retélécharger.

Concernant la place que vous allez gagner, Apple et les média tech ne s'entendent pas sur les chiffres, mais grosso modo ça peut aller de 12 Go à 30 Go d'économisé.

Pour procéder à l'opération, il vous faudra un Mac Apple silicon sous macOS 27. L'outil installe ensuite un profil de configuration que macOS vous demandera d'approuver dans les Réglages Système, retirera les modèles via le service d'assets d'Apple et renverra leurs téléchargements vers un port local fermé. La protection SIP reste bien sûr activée et aucun fichier de /System n'est touché. La doc de l'outil dit d'ailleurs s'appuyer sur pared , un autre outil de 4evy qui a défriché ce service avant lui.

Voici comment en profiter :

brew install omlahore/tap/removemacai
removemacai

Bien sûr, par défaut, tout dégagera. Siri en entier, "Dis Siri" et l'icône de la barre des menus compris, Writing Tools, Genmoji, Image Playground, l'extension ChatGPT, les résumés dans Mail, Messages, Safari, Notes et les notifications, Clean Up dans Photos et la complétion de code d'Xcode. Les apps qui s'appuient sur les modèles d'Apple perdent aussi la main, comme l'action "Utiliser le modèle" de Raccourcis. La dictée, elle, continue de marcher. Pour épargner certaines fonctions, l'option --keep permet de les nommer, et l'option --dry-run montre les changements sans les appliquer.

Voilà, c'est bien qu'un tel outil existe, même si moi, perso, je trouve Apple Intelligence plutôt bien, et que c'est dommage de s'en débarrasser (surtout que c'est du local, hein...). Mais c'est vrai que sur un Mac à 256 Go d'espace de stockage, ces Go comptent ! Maintenant, si vous changez d'avis, l'auteur assure que removemacai revert remettra tout en place, avec les modèles qui se téléchargeront à nouveau quand une fonction que vous utilisez en aura besoin.

Source : MacRumors

À partir d’avant-hierFlux principal

Test du Narwal Freo 20, le robot laveur qui s'entretient tout seul

5 octobre 2026 à 11:22
- Contient des liens affiliés Amazon -

On a passé une grosse quinzaine de jours avec le Freo 20 , le nouveau robot aspirateur laveur de Narwal présenté à l'IFA de Berlin début septembre. Autant le dire tout de suite, c'est un des appareils du genre les plus aboutis qu'on ait fait tourner.

Sur le papier, l'aspiration grimpe à 31 000 pascals, soit le haut du panier actuel, et dans la vraie vie ça se vérifie : miettes, poussière, poils d'animaux, tout part en un seul passage, y compris le long des plinthes.

Le vrai truc qui le différencie de la concurrence, c'est côté lavage. Narwal a laissé tomber les serpillières rondes rotatives qu'on voit partout pour un rouleau microfibre de 26 cm qui couvre quasiment toute la largeur du robot, pressé au sol avec 12 newtons et alimenté en eau chauffée à 60 degrés.

Ce rouleau se rince en continu à l'eau propre pendant qu'il travaille, du coup la crasse de la cuisine ne finit pas étalée dans le salon. Une tache de café séchée disparaît sans qu'on ait besoin de repasser trois fois derrière. C'est franchement impressionnant.

Le Freo 20 va surtout très loin sur l'entretien automatique. De retour à la station, la serpillière est lavée à 100 degrés puis séchée à l'air chaud, histoire d'éviter ces odeurs de serpillière humide qui plombent la moitié des robots laveurs du marché.

La station remplit aussi le réservoir d'eau propre du robot, nettoie elle-même son bac d'eau sale et compacte la poussière dans un sac de 2,4 litres annoncé pour environ quatre mois. En pratique, on ne touche à rien, ou presque.

Les cheveux et les poils longs, le cauchemar habituel de ces machines, sont gérés par un système anti-enchevêtrement qui fait plutôt bien le job. Après plus d'une semaine avec un chat à la maison, la brosse n'a pas réclamé un seul démêlage.

Côté navigation, deux caméras couplées à de la lumière structurée, autrement dit une projection lumineuse qui mesure le relief de la pièce, reconnaissent plusieurs centaines d'objets. Câbles, chaussettes et gamelles ont été contournés proprement, et le robot franchit des seuils de 4 cm.

L'application est claire, avec une carte précise, des zones à exclure et un mode multi-cartes si vous avez un étage. Vous n'aurez qu'à porter le robot là-haut, il se repère tout seul.

La station de charge est assez grande, il faut avoir la place, mais c'est souvent le cas avec les robots aspirateurs laveurs de ce genre. Si vous avez la place ça n'est pas un problème, les finitions sont belles, le revêtement texturé ne marque ni les doigts ni la poussière, et le robot lui-même, avec ses 9,5 cm de haut, se faufile sous la plupart des meubles.

Le Freo 20 ramène sous la barre des 850 euros ( 835 euros en ce moment ) des prestations qu'on trouvait jusqu'ici sur des machines facturées 1 400 euros et plus. Pour un foyer avec des sols durs et des animaux, c'est, si vous voulez mon avis, un des meilleurs achats du moment.

En quinze jours de test, on n'a pas touché une seule fois à la serpillière. Si vous n'avez pas d'aspirateur robot chez vous, considérez sérieusement cette option ! Il est actuellement en promo sur Amazon d'ailleurs, en cliquant ici.

Quick Tunnels - Votre projet localhost sur le web avec invitation

Par : Korben ✨
5 octobre 2026 à 09:40

Cloudflare a sorti il y a petit moment maintenant une commande que pas mal de dev utilisent et dont je vais vous parler aujourd'hui : cloudflared tunnel --url, qui permet de publier un serveur tournant sur votre machine à une adresse en trycloudflare.com, sans avoir besoin de compte, de nom de domaine et surtout sans avoir à ouvrir le moindre port sur votre box toute pourrie.

Et la petite nouveauté depuis quelques jours, c'est que, autant avant, n'importe qui possédant le lien pouvait se connecter à votre service, mais maintenant, Cloudflare a mis en place une option qui permet de réserver ce lien à quelques adresses e-mail que vous définissez.

Ce service s'appelle les Quick Tunnels, et pour en profiter, il vous faudra juste un service web qui tourne en local (moi je vais faire ça sur le port 8080 comme d'hab) avec une page de test toute bête servie par Python. Voilà c'est juste de quoi vérifier que tout passe bien avant d'y brancher un vrai projet. Et si vous faites bosser des agents IA avec ce truc, on verra aussi comment mettre un garde-fou pour éviter l'exposition sur le web de trucs pas prévus ! Argh !!

Installer cloudflared

cloudflared, c'est le petit connecteur open source de Cloudflare, celui qui établit la connexion sortante vers leur réseau. Sur Mac, pour l'installer c'est fastoche, suffit d'utiliser Homebrew :

brew install cloudflared

Sous Debian ou Ubuntu, passez par conte par le dépôt officiel de Cloudflare. Il a changé de clé de signature récemment, donc reprenez bien ces commandes plutôt que celles d'autres vieux tutos qui traînent :

sudo mkdir -p --mode=0755 /usr/share/keyrings
curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-main.gpg >/dev/null
echo 'deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared any main' | sudo tee /etc/apt/sources.list.d/cloudflared.list
sudo apt-get update && sudo apt-get install cloudflared

Et sous Windows (les courageux !! lol), la page de téléchargement de Cloudflare propose un MSI ou un exécutable, en 32 ou 64 bits, et le paquet existe aussi chez winget sous l'identifiant Cloudflare.cloudflared. Dans tous les cas, vérifiez ensuite la version, car l'option d'authentification dont on va parler plus bas n'arrive qu'à partir de la version 2026.9.3 :

cloudflared --version

Ouvrir un tunnel public

Tout d'abord, lancez votre serveur local, puis dans un autre terminal, faites :

cloudflared tunnel --url http://localhost:8080

Au bout de quelques secondes, cloudflared affichera un encadré avec une adresse aléatoire composée de quatre mots, du genre quelque-chose-truc-bidule.trycloudflare.com, en prévenant qu'elle peut mettre un moment à répondre. Donc soyez un peu patient, le temps que le DNS résolve ce truc (et videz votre cache DNS si ça veut vraiment pas le faire).

Ensuite, ouvrez cette URL depuis un autre appareil, genre votre téléphone en 4G par exemple et hop, vous tomberaz sur votre serveur local. Et si vous voulez tout couper, un petit Ctrl+C dans le terminal et c'est fini ! Pas de panique, au prochain lancement de cloudflared, vous aurez une nouvelle adresse.

La commande de base, et le cadre où cloudflared affiche l'adresse trycloudflare.com à partager

Notez aussi que le port n'est pas imposé puisque --url accepte tout ce que cloudflared peut joindre, une adresse IP de votre réseau local comprise. Par contre, si votre projet tourne sous Vite, vous allez prendre un "Blocked request" en pleine tronche, car Vite ne répond par défaut qu'à localhost, aux domaines en .localhost et aux adresses IP. La parade la plus simple consiste donc à faire croire à Vite qu'on l'appelle via localhost:5173 en faisant comme ceci :

cloudflared tunnel --url http://localhost:5173 --http-host-header localhost:5173

L'autre solution, c'est d'ajouter l'hôte dans le réglage server.allowedHosts de Vite. Mais évitez de passer ce réglage à true pour aller plus vite, en effet la doc de Vite le déconseille puisque ça expose votre serveur de dev à des attaques par DNS rebinding. Oupsi oups !

Gardez aussi en tête que c'est un outil de test et de démo et que c'est pas fait pour de la prod. Si on en croit la doc , Cloudflare ne garantit aucune disponibilité, sans oublier que chaque tunnel encaisse au max 200 requêtes en simultanné (au-delà, ça vous fera une erreur 429 ) et les Server-Sent Events ne passeront pas. Voilà, donc si vous voulez un nom fixe et du vrai trafic, il faudra plutôt créer un tunnel nommé à partir d'un vrai compte Cloudflare et d'un domaine de votre choix.

Réserver l'adresse à quelques personnes

Et maintenant, pour limiter l'accès à votre service à quelques personnes, ajoutez --allowed-mail suivi de l'adresse email de celui à qui vous voulez montrer votre merveilleux boulot :

cloudflared tunnel --url http://localhost:8080 --allowed-mail [email protected]

L'encardré change alors de "ton" en vous annonçant que le tunnel est "protégé" par une authentification de type code à usage unique via Cloudflare Access, ainsi que la quantité d'adresses autorisées. Les adresses elles-mêmes n'apparaissent nulle part, même dans la ligne des réglages où elles sont remplacées par des astérisques, ce qui est plutôt bien vu si vous faites une démo en mode partage d'écran. Ça évite les fuites de données perso !

Avec --allowed-mail, le cadre annonce le code à usage unique et le nombre d'adresses autorisées, sans jamais les afficher

Vous pouvez ensuite répéter l'option autant de fois que nécessaire, séparer plusieurs adresses par des virgules, ou autoriser tout un domaine. Mettez simplement des guillemets autour du "joker" (c'est l'étoile) pour que votre misérable shell ne tente pas de l'interpréter comme un gros teubé :

cloudflared tunnel --url http://localhost:8080 \
 --allowed-mail [email protected] \
 --allowed-mail [email protected] \
 --allowed-mail '*@example.com'

Côté Wrangler, si vous bossez sur Workers, un petit npx wrangler tunnel quick-start acceptera la même option :

npx wrangler tunnel quick-start http://localhost:8080 --allowed-mail [email protected]

De son côté, votre invité VIP n'aura alors plus qu'à ouvrir l'URL que vous lui avez donné et cloudflared renverra son browser vers login.trycloudflare.com. Il tombera alors sur une page Cloudflare Access qui lui demandera son adresse mail. Il recevra ensuite un code dans sa boîte, devra le taper, et arrivera enfin (ouf !!) sur votre merveille application probablement vibe codée (lol).

Et quelqu'un qui n'est pas sur la liste des invité ne verra quand à lui qu'une réponse de base lui expliquant qu'il peut bien aller se faire voir (et sa requête n'atteindra jamais votre application).

Ce que voit votre invité en ouvrant l'URL protégée : la page Cloudflare Access qui lui demande son adresse mail

Et votre liste d'emails, elle, n'est jamais diffusée hors de votre ordi puisque Cloudflare vérifie seulement que la personne contrôle l'adresse qu'elle a saisie. Ensuite c'est cloudflared qui compare les accès en mémoire, avec ce que vous avez tapé. Une fois entré, le visiteur gardera alors sa session jusqu'à 4 heures max.

Et si vous voulez modifier cette liste d'accès, il faudra alors arrêter le tunnel et en relancer un autre, ce qui coupera l'accès à tout le monde et vous donnera une nouvelle adresse à renvoyer. Donc soyez sûr de votre coup avant de casser la tête aux gens qui vont tester votre appli.

Sachez aussi que cette vérification ne pourra se faire qu'avec un vrai navigateur et pas des trucs du genre un webhook Stripe, un GitHub, un script en curl ou encore n'importe quel client automatique qui restera coincé devant cette page de connexion.

Pour ces cas-là précieusement, je vous recommande plustôt d'ouvrir un tunnel public le temps du test et de le couper juste après. Et si le webhook doit tourner durablement, passez sur un tunnel nommé avec Cloudflare Access, sur votre propre domaine.

Le confier à votre agent IA

Maintenant, parlons un petit peu à agents IA parce que oui... Un agent de code a besoin d'un endroit pour vous montrer ce qu'il vient de faire de beau, et Cloudflare décrit justement ce cas de figure dans son article.

Pour éviter qu'un agent IA ne diffuse publiquement ce qu'il vient de faire à la vue de tous, ce que recommande Cloudflare, c'est donc d'ajouter une ligne dans le fichier d'instructions de l'agent AGENTS.md comme ceci :

Quand tu lances un Quick Tunnel, ajoute toujours --allowed-mail [email protected].

Sauf qu'une consigne reste une consigne... C'est un prompt que l'agent peut choisir d'ignorer... Donc gardez bien en tête que ces fichiers sont traités comme du contexte et pas comme une configuration imposée.

Maintenant, si vous voulez vraiment bloquer une action, peu importe ce que décide le modèle, ce que je vous recommande d'utiliser à la place, c'est un hook "PreToolUse". Moi, j'en mets partout dans mes configs Claude Code pour plus de sécurité.

Si vous ne savez pas ce qu'est un hook, en fait c'est un petit script contenant la commande en JSON, et que Claude Code lance avant chaque commande bash. Si ce script se termine avec le code "2" l'appel est alors bloqué. Pour faire ça, il faut donc créer dans le dossier .claude/hooks/ de votre projet, le script suivant :

#!/bin/bash
# .claude/hooks/tunnel-protege.sh
COMMAND=$(jq -r '.tool_input.command')

if echo "$COMMAND" | grep -qE 'cloudflared.*tunnel.*--url|wrangler.*tunnel.*quick-start' \
 && ! echo "$COMMAND" | grep -q -- '--allowed-mail'; then
 echo "Quick Tunnel public refusé : ajoutez --allowed-mail, ou demandez-moi d'abord." >&2
 exit 2
fi
exit 0

Puis rendez-le exécutable avec chmod +x, et installez jq si vous ne l'avez pas encore fait.

Déclarez-le ensuite dans le .claude/settings.json du projet, sur l'outil Bash comme ceci :

{
 "hooks": {
 "PreToolUse": [
 {
 "matcher": "Bash",
 "hooks": [
 {
 "type": "command",
 "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/tunnel-protege.sh"
 }
 ]
 }
 ]
 }
}

Maintenant, si ça vous prend trop le chaud de faire ça, sachez que j'ai fait un petit kit à télécharger ici, pour les Patreons :

Ensuite, à partir de là, un cloudflared tunnel --url ou un wrangler tunnel quick-start lancé sans le paramètre --allowed-mail ne fonctionnera pas, et l'agent recevra le message du hook qui lui dira d'ajouter l'option ou de vous demander s'il doit y avoir un contournement.

Et bien sûr, un tunnel nommé lancé avec cloudflared tunnel run, lui, passera normalement.

Comme d'hab, ce genre de garde-fou a ses limites, puisqu'il ne lit que le texte de la commande et ne vérifiera pas l'adresse qui suit l'option. Il ne verra non plus les tunnels qui pourraient être lancés depuis un script ou à l'aide d'une variable d'environnement TUNNEL_URL, qui permet aussi de lancer un Quick Tunnel. Voilà, donc laissez la consigne dans AGENTS.md en plus du hook, au cas où... Les deux devraient bien se compléter.

Pour les soutiens Patreon , le kit ci-dessus reprend donc ce hook avec les consignes à coller dans AGENTS.md, dont l'exception des clients automatiques (l'agent vous demande au lieu de retirer l'option).

Il y a aussi là dedans un script qui lance le tunnel protégé et ne renvoie que son adresse. Et si vous préférez scripter ça vous-même, partez de --output json, qui transformera chaque ligne du log en objet JSON. L'adresse sera alors accessible dans le champ message, et vous pourrez alors l'extraire avec une expression régulière.

Ah et un dernier point avant de lâcher un agent là-dessus sur le portable de votre boulot, je vous invite à lire ce que Proofpoint a documenté concernant des campagnes de malware qui s'appuient sur ce genre de tunnels gratuits. Ça explique pourquoi des outils de sécurité comme Elastic ont des règles qui repèrent cloudflared quand il est utilisé pour exposer un service local. Leur conseil c'est de bloquer les domaines de tunnel quand l'usage n'est pas autorisé, donc si vous comptez utiliser ça dans votre boite, allez voir Dieu Tout Puissant (le sysadmin grognon quoi...) pour lui demander l'autorisation. Il va pester, souffler, éventuellement vous cracher dessus puis finira probablement par accepter, donc pas d'inquiétude ^^.

Et comme la protection par mail est gratuite, au même titre que les Quick Tunnels eux-mêmes, je ne vois aucune raison valable de balancer une démo accessible sur le web sans utiliser cette authentification.

AirCard - Relookez vos cartes bancaires dans Apple Pay

Par : Korben ✨
1 octobre 2026 à 17:28

AirCard , c'est une appli macOS gratuite qui permet de remplacer l'image par défaut d'une carte dans Apple Wallet, directement depuis votre Mac relié à l'iPhone par un câble USB et tout ça sans jailbreak. Je l'ai essayée sur mon iPhone 16 Pro Max et ça marche du tonnerre. Attention quand même, l'appli n'a aucun bouton pour revenir en arrière, mais ne vous inquiétez pas je vais tout vous expliquer.

Ce tour de passe-passe nous vient d'AirLift, une faille du service AirTraffic, celui là même qui synchronise les médias d'un Mac vers iOS. Et AirLift s'en sert pour lire et écrire dans des dossiers qu'il n'est pas censé toucher, depuis un Mac déjà appairé avec l'iPhone. Cette petite vuln a été testée à partir de iOS 18.0, et Apple peut évidement la corriger quand elle veut mais ce serait quand même vraiment dommage parce que c'est bien cool. Maintenant rassurez vous, côté paiement, rien ne bouge ou n'est transféré ou créé. On ne change que l'image d'une carte du wallet c'est tout !

Je vous propose maintenant de rentrer dans le dur.

Installer AirCard et brancher l'iPhone

Il vous faut donc un Mac (Apple Silicon ou Intel), un iPhone, un câble USB qui transmet les données et une carte déjà ajoutée à Wallet. Téléchargez AirCard.dmg dans les releases du dépôt, ouvrez-le et glissez l'appli dans le dossier des Applications. Si macOS refuse de la lancer parce que l'éditeur est inconnu, faites un clic droit sur l'appli, Ouvrir, puis Ouvrir une seconde fois. Sinon, faut passer par Sentinel ou par cette commande qui retire le blocage :

sudo xattr -cr /Applications/AirCard.app

Détecter la carte

Branchez l'iPhone au Mac en USB, déverrouillé, et acceptez de faire confiance à l'ordinateur. Dans AirCard, restez sur l'onglet Apple Wallet et cliquez sur Scan Cards. Sur l'iPhone, double-cliquez sur le bouton latéral et Apple Pay s'ouvrira comme quand vous faites un paiement, avec Face ID. Une fois authentifié, touchez la carte à relooker, et une deuxième fois si rien ne bouge. Ce geste permet en fait à AirCard de récupérer l'identifiant de la carte (un hash), et elle peut apparaître ensuite dans la fenêtre du Mac.

Si le scan ne trouve rien, ouvrez Log dans AirCard et cherchez "Connected to the unified device log stream". Relancez ensuite un scan, authentifiez-vous et touchez vraiment la carte, ou passez d'une carte à l'autre. Si ça bloque encore, débranchez, déverrouillez l'iPhone et rebranchez. Des utilisateurs disent sur le GitHub du projet que le scan ne détecte pas toutes les cartes voire aucune avec cette 1.2.5. Moi j'ai pas eu de problème mais il arrive parfois que iOS remplace certaines valeurs par "private", et le scanner ne peut alors pas les récupérer.

Choisir l'image et flasher

Ensuite, cliquez sur l'emplacement de la carte où il y a le symbole +, ou glissez-y directement une image. AirCard la recadre alors automatiquement en 1536 × 969 pixels bien centrée avec le ratio d'une carte. Cela veut dire que peu importe le design que vous voulez utiliser, gardez bien ce qui est important pour vous au centre de l'image. Ensuite cliquez sur Flash Skins et ça appliquera votre image sur votre carte dans Apple Wallet. Chez moi, l'opération a pris entre 30 secondes jusqu'à parfois 1 min (j'ai pas super chronométré non plus, hein) mais le flash est allé jusqu'au bout à chaque fois.

Ensuite quittez Wallet depuis le sélecteur d'apps et relancez-le, ou redémarrez carrément l'iPhone et hop, votre nouveau visuel de carte apparaîtra.

J'ai donc comme beaucoup commencé par un skin d'Amex Black, sans chichi sur l'une de mes CB, histoire de frimer...

Puis sur ma seconde CB, je me suis fait un skin de carte Vitale maison. Au départ, je me suis fait un PNG avec Pixelmator, tout ce qu'il y a de plus normal avec la bonne taille et tout et tout, mais ça n'a jamais voulu se mettre sur ma carte. Donc, j'ai refait l'image en important simplement mon visuel dans l' éditeur de cardart.cc , qui exporte un PNG clean au bon format en 1536 × 969 et ça a fonctionné.

Et voilà, quand je paie en sans contact, maintenant ça donne ça... Je pense que les caissier.es vont flipper.

D'ailleurs, si vous cherchez d'autres visuels, il y en a plein sur cardart en téléchargement gratuit. La carte d'identité de Bob l'Eponge m'a tenté aussi, je l'avoue....

Le clavier du code, le Mac en moins, et le piège

Notez que AirCard sait aussi habiller le clavier du code de verrouillage avec des thèmes en .passthm. Suffit de vous rendre dans l'onglet Passcode, vous glissez le fichier passthm, vous l'appliquez puis vous redémarrez, et là, normalement, vous avez un super beau clavier. Pour ma part, je n'ai pas essayé parce que je m'en fous un peu, mais bon, c'est là.

Ah et sinon, si vous n'avez pas de Mac, il y a aussi une version AirCard-iOS qui fera le taf uniquement depuis l'iPhone, mais ça exige iOS 18 minimum, une installation par sideload (SideStore, AltStore, TrollStore ou LiveContainer) et un appairage par le mode développeur. Donc, c'est un peu plus relou qu'avec l'application pour macOS.

Et le petit piège dont je vous parle au début, c'est que la version 1.2.5 de Aircard n'a pas de bouton pour restaurer le visuel d'origine. Donc, si celui-ci ne vous plaît plus, vous pouvez soit le remplacer par un autre, soit vous devez retrouver votre visuel d'origine en téléchargement sur le web. Après, peut-être qu'en supprimant la carte du wallet et en la recréant, ça réparera le visuel, je ne sais pas... Faudra tester !

Source : AirCard

CTFreak - L'ordonnanceur de tâches pour toutes vos machines

Par : Korben ✨
1 octobre 2026 à 09:13
-- Article en partenariat avec CTFreak --

Sauvegarder un dossier sur un serveur, vérifier l'espace disque du PC du salon, relancer un service sur le NAS, et j'en passe... Chez moi ça se concrétise au travers de crontabs différents et de tâches planifiées Windows, et malheureusement, comme je n'ai pas toujours le nez dessus, le jour où l'une d'elles tombe en rade, bah je m'en rends compte des jours, voire des semaines plus tard... Heureusement, il existe un outil qui s'appelle CTFreak et qui permet de centraliser tout ça derrière une seule interface web !

CTFreak, c'est donc un ordonnanceur de tâches auto-hébergé, édité en solo par Jean-Yves Pellé, un développeur français, et cela depuis presque 4 ans. Vous l'installez chez vous, il se connecte à vos machines en SSH ou en WinRM, et il y exécute tout ce que vous lui demandez. C'est top parce que grâce à ça, il n'y a même rien à installer sur les machines pilotées.

Ce clic autorise une connexion à Google : adresse IP transmise et traceurs possibles. En savoir plus Voir cette vidéo sur YouTube

CTFreak vous propose ainsi 9 types de tâches à créer. La commande locale par exemple tourne sur la machine qui héberge CTFreak, et la commande distante fait la même chose mais sur un ensemble de machines de votre choix. Ensuite viennent les tâches de type scripts bash et PowerShell, les playbooks Ansible, les scripts SQL, ou encore les rapports SQL qui sortent de vrais tableaux et autres graphiques directement depuis vos bases de données (pratique pour illustrer vos rapports).

Il y a aussi la classique requête HTTP, pour taper sur une API ou vérifier qu'un site répond. Et surtout le "workflow", c'est-à-dire une tâche dont le boulot est d'en déclencher d'autres, en série ou en parallèle. Vous pouvez même imbriquer des workflows dans des workflows, si le cœur vous en dit, et surtout, si vous n'avez pas peur de vous y perdre.

Les neuf types de tâches proposés à la création, de la commande locale au rapport SQL

L'installation, c'est une minute chrono

Pour installer CTFreak, vous récupérez le binaire, vous le rendez exécutable, et c'est finito ! C'est un fichier unique de 56 Mo, sans la moindre dépendance, dispo en amd64 comme en arm64 (j'ai fait mes tests sur une Ubuntu 24.04 en ARM). Et il est également dispo en paquets Docker, Snap et Cloudron, mais ils tournent en bac à sable et n'embarquent pas Ansible, donc si les playbooks vous intéressent, restez sur le binaire. Comme l'URL de download se termine par l'architecture, pensez bien à remplacer amd64 par arm64 si votre machine est en ARM.

sudo curl -sL https://ctfreak.com/download/release/latest/linux/amd64 -o /usr/local/bin/ctfreak
sudo chmod +x /usr/local/bin/ctfreak
ctfreak run

Ouvrez ensuite http://IP-du-serveur:6700 et connectez vous avec admin / ctfreak. Changez ce mot de passe tout de suite dans le menu Profile, et surtout n'exposez pas ce port sur Internet sans un reverse proxy devant. En effet, cette interface va bientôt contenir les accès de toutes vos machines.

Ensuite pour en faire un service qui redémarre tout seul, copiez l'unité systemd de la doc d'installation dans /etc/systemd/system/ctfreak.service, puis activez-la.

sudo systemctl daemon-reload
sudo systemctl enable --now ctfreak

Et voilà, vous êtes prêts à commencer !

Votre première tâche planifiée

Tout se passe dans un projet, donc vous en créez un (j'ai appelé le mien Homelab), puis vous cliquez sur New task. Le plus simple pour commencer est la commande locale. Je lui ai collé une archive de mon dossier Documents, et coché Scheduled avec une expression cron pour 3h30 du matin.

tar -czf /home/korben/sauvegardes/documents-$(date +%F).tar.gz -C /home/korben Documents

Le bouton Execute permet de lancer la tâche tout de suite, pour ne pas attendre 3h30 pour savoir si ça marche, et la page d'exécution affiche le statut, la durée et le journal complet. La fiche du projet vous montre ensuite les deux informations qui manquent toujours avec cron : 1/ quand est ce que la tâche est passée pour la dernière fois, et 2/ si elle s'est bien terminée.

Le PC Windows en machine distante

Là où ça devient intéressant, c'est quand vous ajoutez d'autres machines. Côté CTFreak il n'y a aucun agent à déployer, mais côté cible il faut quand même activer le serveur SSH intégré de Windows (ou WinRM, au choix) et installer PowerShell 7.2 ou plus récent, sans quoi les journaux d'erreur remonteront mal. Vous enregistrez ensuite le mot de passe ou la clé dans Credentials, vous déclarez la machine dans Nodes avec son OS, son IP et son identifiant, et le bouton Ping vous dira tout de suite si la connexion passe.

Ensuite vous créez une tâche de type Powershell Script, moi je l'ai planifiée tous les lundis à 8h. Le champ Node Set filter accepte ensuite des noms de machines, mais surtout des tags : j'ai mis #windows, donc toute machine que je taguerai comme ça entrera dans la tâche sans que je la retouche. C'est bien fichu hein ?

$libre = [math]::Round((Get-PSDrive C).Free / 1GB, 1)
Write-Host "Espace libre sur C: $libre Go"
if ($libre -lt 30) { Write-Error "Alerte : moins de 30 Go libres" ; exit 1 }

Le script PowerShell, l'expression cron du lundi matin et le filtre #windows qui trouve une machine

Et le journal qui remonte ensuite est vraiment complet. On y retrouve chaque ligne horodatée à la microseconde, la sortie du script, et le code de retour qui décide du statut. Ma machine Windows n'ayant que 22,1 Go de libre, la tâche a échoué comme prévu et s'est affichée en rouge dans la liste.

Le journal de l'exécution ratée : la sortie du script sur la machine distante, puis la sortie en erreur

Tout ce qu'il y a autour

Alors bien sûr, une tâche qui plante sans prévenir personne, ça ne sert pas à grand-chose. C'est pourquoi CTFreak permet d'envoyer des alertes sur Discord, Slack, Mattermost, Microsoft Teams, Telegram, ntfy ou par mail. Il peut même ouvrir directement un ticket dans GitHub, GitLab, Jira, Linear ou YouTrack quand un truc casse.

Dans l'autre sens, chaque tâche expose un webhook entrant, ce qui permet de la déclencher depuis un dépôt Git ou n'importe quel outil tiers, et une API REST complète fait pareil mais par script.

Le reste ensuite, c'est que du confort qui se découvre quand on utilise l'outil... Il y a par exemple une explorateur de fichiers qui parcourt vos machines depuis le navigateur, des calendriers qui empêchent une tâche de tomber un jour férié, ou encore la possibilité de partager vos projets entre équipe avec différents droits d'accès. L'authentification passe même par votre fournisseur OpenID Connect si vous en avez un.

Et les données dans tout ça ?

Hé bien elles restent bien au chaud dans un dossier avec une base SQLite dedans. C'est pratique parce que, si vous voulez sauvegarder votre ordonnanceur, il suffit juste de faire une copie de ce dossier.

Ce que la version gratuite ne fait pas

Maintenant, avant de vous lancer, sachez que l'édition gratuite vous limite à 8 tâches, avec 1 paramètre par tâche, 3 utilisateurs, 1 calendrier, 1 notificateur d'alerte et 1 notificateur de tickets. Surtout, elle n'exécute rien en parallèle. Vos tâches passent une par une, quel que soit le nombre de machines visées. Par contre, bonne nouvelle, le nombre de machines pilotées n'est bridé dans aucune édition. Vous pouvez donc déclarer 3 nœuds comme 50 sur la version gratuite, c'est le nombre de tâches qui limité dans la version gratuite, mais pas la taille de votre parc.

Autre chose à savoir aussi, c'est que les secrets (mots de passe...etc) sont stockés tels quels en clair dans la base SQLite. C'est bien indiqué dans la documentation, donc ce n'est pas une surprise, mais heureusement, y'a une commande qui permet de basculer tout ça en AES-256-GCM :

sudo systemctl stop ctfreak && ctfreak encrypt AES && sudo systemctl start ctfreak

Faites-le, mais préférez quand même une clé SSH dédiée à un mot de passe de compte.

Côté tarifs, la page affiche l'édition Pro à 369 € la première année puis 299 €, la Business à 599 € puis 519 €, et la Sovereign à 899 € puis 799 € pour les environnements coupés d'Internet, le tout par instance.

Et si vous partez sur l'édition Pro, le code KORBEN15 vous fait 15 % de réduction sur la première année. Il est valable jusqu'au 31 octobre 2026 inclus.

Reste que pour du homelab, la version gratuite est téléchargeable ici et suffit largement pour se faire une idée.

Windows 11 : les dates de fin de support par version

Par : Pierre Caer
30 septembre 2026 à 10:10
Jusqu’à quand votre version de Windows 11 recevra-t-elle des mises à jour de sécurité ? La réponse dépend de la version installée sur votre PC — 26H2, 25H2, 24H2… — mais aussi de votre édition : Famille, Professionnel, Entreprise ou Éducation. Chaque version possède sa propre date de fin de support. Une fois cette échéance … Lire la suite

Source

Télécharger les ISO de Windows 11 (64 bits) (français)

Par : Pierre Caer
30 septembre 2026 à 15:44
L’ISO de Windows 11 est un indispensable pour tous les utilisateurs du système. Elle permet non seulement d’installer Windows 11 sur un nouveau PC ou sur un disque vierge, de réparer Windows 11 lors le système est endommagé, mais aussi de réinitialiser Windows 11 afin de restaurer son ordinateur dans son état d’usine ou dans … Lire la suite

Source

SlopTotal - Un détecteur de texte IA à installer chez vous

Par : Korben ✨
30 septembre 2026 à 09:45

SlopTotal est un projet qui se présente lui-même comme le "VirusTotal du texte IA", alors faut pas s'étonner que ça m'intéresse ! Vous y collez un texte, un PDF ou une URL, et ensuite 23 détecteurs le passent au crible, en parallèle à l'aide de classifieurs neuronaux, de tests statistiques et autres heuristiques. Ensuite, un score calibré de 0 à 100 résume leurs avis et doit vous dire normalement si tel ou tel texte a été écrit avec de l'IA

J'ai donc installé ça sur ma machine puis passé 36 textes divers et variés (IA et humains) dans mon instance. Parmi eux, 24 ont été écrits par Claude, ChatGPT et Gemini (12 en français, 12 en anglais), avec comme consigne d'avoir un ton neutre, et pour d'autres un ton de "blogueur" ^^. Les 12 autres textes, eux, sont humains. Je lui ai donné 6 de mes articles écrits entre 2018 et 2021 ainsi que 6 billets de blog tech en anglais publiés entre 2020 et 2021.

Voici donc mes résultats...

Sur les 12 textes humains, 4 ont été pris pour de l'IA (verdict "Likely AI-generated" ou pire), ce qui représente 33 %, et ils étaient tous en anglais !! Et sur mes 24 textes écrits par une IA, 9 ont été pris pour une réalisation humaine (verdict "Clean"), ce qui équivaut à 38 %. Ah et ils étaient tous en français.

Le README annonce pourtant mieux comme résultats donc je suis assez étonné (1 texte humain sur 66 classé "Likely AI"), mais sur d'autres genres de textes, comme la presse ou les livres et en 100% english. Alors oui, mon échantillon est petit, mais pour savoir si un texte vient d'une IA, SlopTotal ne me semble pas fiable

Le rapport de SlopTotal pour un article de 455 mots écrit par Claude : 23,6 sur 100, verdict "Clean", 4 moteurs sur 23 en alerte.

Le rapport de SlopTotal pour un billet du blog d'avril 2020 : 56,9 sur 100, "Likely AI-generated", 9 moteurs sur 23 en alerte.

Après c'est pas un nouveau problème car je pense par exemple à OpenAI qui a retiré son propre classifier en juillet 2023 parce que la précision était trop faible ( The Register ). Vanderbilt a débranché également celui de Turnitin le mois suivant et des chercheurs de Stanford ont testé en 2023, 7 détecteurs en leur faisant analyser 91 rédactions humaines TOEFL de non-anglophones et en moyenne, ils en ont pris 61 % pour de l'IA.

Toutefois, 2 études plus récentes ont également testé des détecteurs commerciaux (pas SlopTotal donc...), et sur du texte humain ancien, elles se rejoignent. Le NBER trouve par exemple un taux de faux positifs quasi nul chez Pangram, de 0,1 à 0,3 % chez OriginalityAI et d'environ 0,7 % chez GPTZero, sur 1 992 textes humains d'avant 2020. De son côté, le chercheur Jonathan Karr et ses collègues n'ont trouvé aucun positif IA en testant avec Pangram et GPTZero, des tonnes de résumés textes datés de 2013 à 2015.

Par contre, ces études divergent sur l'humanisation. Par exemple, selon le NBER, Pangram tient bon face à l'humanizer StealthGPT alors que moins de 4 % des textes IA passés par Undetectable AI restent signalés chez Karr. Ce dernier note aussi qu'à l'inverse, un résumé écrit par un humain et simplement retouché par une IA est quant à lui, signalé comme IA dans 38 à 80 % des cas. Ça pourrait expliquer pas mal de petits problèmes de "littérature" qu'on a en ce moment, looool.

Bref, installez-le pour vous faire votre propre idée, en commençant par des textes dont vous connaissez l'auteur, mais surtout pas pour "accuser" quelqu'un. Je pense d'ailleurs qu'aucun détecteur ne devrait être la seule preuve d'une accusation... Par exemple, un texte humain qui est passé dans un correcteur orthographique full IA ou alors un texte qui est dicté avec un modèle de speech to text IA peuvent très bien être reconnus comme étant des textes IA alors qu'en fait ce sont juste des textes écrits / dictés par des humains et qui ont été "un peu" modifiés ou "un peu" réorganisés par un LLM. Je dis ça parce que c'est exactement ce que fait mon application de reconnaissance vocale Kassis , qui dispose de fonctionnalités de correction et de réécriture... héhé.

Source : SlopTotal sur GitHub

PC portables pas cher : les meilleurs à moins de 500€ en octobre 2026

Par : Pierre Caer
29 septembre 2026 à 10:00
Quel ordinateur portable choisir à moins de 500 euros ? Choisir un PC portable pas cher peut vite devenir un casse-tête, surtout avec un budget limité à 500 €. Entre les marques, les caractéristiques techniques et les promotions temporaires, il est facile de s’y perdre. Pourtant, avec un peu de méthode, il est possible de … Lire la suite

Source

Meeting Recorder - Vos visios transcrites en local sous Omarchy

Par : Korben ✨
25 septembre 2026 à 10:36

Meeting Recorder , c'est un enregistreur de réunions pensé pour Omarchy, la distribution Linux de DHH basée sur Arch et Hyprland. Et y'a pas besoin d'inviter à bot chelou dans votre visio puisque l'app se contente d'écouter votre micro et ce que joue votre ordinateur. Donc ça fonctionne avec n'importe quel logiciel de réunion, et tout est ensuite transcrit sur votre machine, 100% en local

Le micro et le son de l'ordinateur sont ainsi enregistrés sur deux pistes séparées, et deux jauges vous montrent avant de lancer que les deux arrivent bien. C'est comme ça que l'outil sait qui parle... ce qui passe par le micro, c'est vous, et ce que joue l'ordinateur, ce sont les autres. Et s'il y a plusieurs personnes en face, Nemotron 3 Diarization, un modèle de NVIDIA qui tourne en local, sépare simplement leurs voix en "Remote 1", "Remote 2"...etc, que vous pouvez ensuite renommer.

L'écran de fin, Maya au micro, Tom côté ordinateur, et les deux pistes dans la forme d'onde

À la fin de l'appel, c'est whisper qui transcrit tout ce basar, avec le modèle large-v3-turbo par défaut (environ 1,6 Go à télécharger une seule fois), pendant qu'une animation façon années 90 vous fait patienter. Et pas besoin de carte graphique puisque d'après l'auteur, le processeur d'une machine récente boucle un appel court en quelques secondes. Ah et puis trop cool, le français fait partie des langues proposées, donc vous pouvez l'utiliser si vous avez séché les cours d'anglais.

Vous récupérez ensuite le texte, avec l'heure et l'intervenant sur chaque ligne, et un lecteur audio au-dessus. Cliquez alors sur une ligne et la lecture repartira de là. Et si whisper s'est gourré, vous survolez la ligne pour la corriger, la donner à l'intervenant suivant ou la supprimer. Chaque réunion finissant dans un simple dossier de ~/Documents/Meetings, avec l'audio et un fichier transcript.md, vous pouvez tout récupérer et même glisser sur la fenêtre un vocal ou un appel enregistré ailleurs, et Nemotron pourra y détecter jusqu'à 8 voix sans problème.

Pour les réunions de trois minutes ou plus, il y a aussi du chapitrage et c'est l'agent de code réglé par défaut dans Omarchy (Claude Code, Codex...) qui découpe la transcription une fois que c'est terminé. Donc, si vous ne voulez pas que ça parte dans le cloud, il faut prendre le temps de ne régler aucun agent par défaut sur Omarchy.

Et n'oubliez pas non plus de prévenir les gens en début de réunion, car l'article 226-1 du Code pénal punit l'enregistrement de paroles privées sans leur consentement. Hé ouaiiiis !

Côté installation, l'outil est dans le dépôt de paquets d'Omarchy, pour l'instant uniquement sur le canal edge. Sinon, en attendant la prochaine version d'Omarchy, ce script d'une ligne installera le même paquet.

Bref, c'est l'un ou l'autre :

yay -S omarchy-meeting-recorder
ou
curl -fsSL https://raw.githubusercontent.com/jankeesvw/omarchy-meeting-recorder/main/install.sh | bash

Attention, au moment où j'écris ces lignes, la version 1.1.1 plante dès la première transcription sur les processeurs sans AVX-512, un Ryzen 5 5500 ou un Core Ultra 9 285K par exemple. L'audio est bien enregistré, mais vous n'aurez pas de texte, parce que le binaire publié a hérité des instructions AVX-512 de la machine qui l'a compilé. Heureusement, un contributeur a déjà proposé un correctif, donc, soyez patient. Mais si vous êtes vraiment pressé, il faudra juste compiler vous-même l'appli (cargo build --release, les étapes sont dans le README).

Et si vous n'êtes pas sous Omarchy ? Faut chialer ?

Non, car l'app prendra alors l'apparence standard de libadwaita, mais sans l'agent par défaut d'Omarchy. Donc adieu les chapitres. Sous Windows, l'application Meetily fait le même genre de travail en local, Avec mon application macOS Kassis , on peut faire ça aussi. Il suffit de glisser-déposer l'enregistrement de la réunion sur l'appli. Les interlocuteurs sont reconnus et on obtient un transcript en quelques secondes. Enfin, pour transcrire vos enregistrements directement sur un serveur, il y a Speakr, dont je vous ai déjà parlé .

Voilà, en tout cas, je trouve que son dev a bien bossé ! Meeting Recorder c'est sous licence MIT, et le code est sur GitHub pour ceux qui ont un Omarchy sous la main !

Que faire avec un port M.2 libre ? 6 gadgets à y brancher à la place d'un SSD

Par : Korben ✨
24 septembre 2026 à 15:26
- Contient des liens affiliés Amazon -

Un emplacement M.2 finalement, ce n'est rien d'autre qu'un bonne vieille connexion PCIe d'une à quatre lignes selon la machine (sauf quand il est câblé en SATA, mais ça, j'en reparle à la fin). Et en général, comme le montre la photo ci-dessous, ce qu'on y met, c'est un SSD pour avoir du stockage rapide et efficace

Emplacement d'un M.2 sur la carte mère d'un laptop ( source )

Mais aujourd'hui, on va s'ouvrir un petit peu l'esprit sur cet emplacement M.2, parce que OUI, rien ne vous oblige à y mettre un SSD !

Mais avant de commander quoi que ce soit, sortez le manuel de votre carte mère ou la doc de votre mini-PC et regardez le type (PCIe ou SATA) de votre connecteur M.2, le format accepté et surtout le nombre de lignes de cet emplacement.

Source

Le nombre de lignes, c'est le nombre de voies de circulation entre la carte M.2 et le processeur. Plus il y en a, plus ça va vite, donc en général, pour une carte réseau, une ligne (x1) ou deux (x2) suffisent. Mais si vous partez sur une carte graphique, il faudra 4 lignes minimum (x4).

Par exemple, le Beelink ME Mini , lui, dispose de 5 emplacements PCIe 3.0 x1 et un seul en x2. Et sur une ASRock B850 Pro-A , le 4e emplacement M2 tourne en x4... mais retombe en x2 dès qu'un disque occupe l'un des autres ports M.2 en SATA3.

Regardez aussi ce que l'emplacement partage, car sur cette même carte mère ASRock, occuper par exemple le 3ème emplacement désactive purement et simplement le slot PCIE2. Vérifiez aussi que la puce du contrôleur M.2 dispose bien d'un pilote pour votre système, et demandez-vous par où passera le câble car mis à part l'accélérateur IA que je vous présente un peu plus bas, toutes les cartes qui suivent traînent un truc derrière elles. Donc, il faudra peut-être découper votre boîtier ou laisser dépasser des trucs...

Allez, c'est parti !

Une carte réseau 5 ou 10 GbE

Pour un NAS ou un routeur maison, la carte 5 GbE de KALEA à 29,90 € embarque une Realtek RTL8126 qui se branche sur un emplacement à clé M ou B+M et déporte son port RJ45 sur une équerre classique de PC. Et bonne nouvelle, comme la RTL8126 est une puce PCIe 3.0 x1, une seule ligne suffit ! Elle est reconnue par le pilote r8169 de Linux depuis le noyau 6.9, et sous FreeBSD (donc OPNsense ou pfSense) par le pilote officiel de Realtek , realtek-re-kmod, qui s'installe à part.

La carte 5 GbE de KALEA, avec son port RJ45 déporté sur une équerre

Maintenant, si vous voulez du 10 GbE, la carte de REKONG à 98,32 € passe par une Marvell AQC113. Et si j'en crois la fiche du vendeur, elle accepte du Gen4 x1 ou du Gen3 en x4, x2 et x1. Sauf qu'une ligne Gen3, c'est 8 Gbit/s, ce qui veut dire que sur un emplacement Gen3 x1, elle plafonnera sous ses 10 Gbit/s. Donc à ce prix-là, autant prendre la 5 GbE. Par contre, en Gen3 x2 (16 Gbit/s) ou en Gen4 x1 (32 Gbit/s), elle pourra tenir les 10 Gbit/s sans problème,

Côté logiciel, Linux la gère avec son pilote atlantic, mais sous OPNsense, c'est une autre histoire. Le pilote FreeBSD d'Aquantia, lui, ne prend pas en charge l'AQC113 et il faudra passer par un pilote communautaire .

Un accélérateur IA pour Frigate

Si vous faites tourner Frigate pour vos caméras , oubliez le Google Coral, qui n'est plus recommandé par Frigate . Mais attention, avant d'acheter un autre accélérateur IA à la place, regardez d'abord si votre processeur ne sait pas déjà faire le boulot, car le détecteur OpenVINO de Frigate tourne sur le GPU intégré des processeurs Intel de 6e génération ou plus récents. Un N100, par exemple, analyse une image en 15 ms environ avec MobileNetV2, sans rien acheter de plus, donc vous n'en aurez peut-être même pas besoin.

Par contre, si ça ne suffit plus, le module Hailo-8 de LUCKFOX à 201,59 € vous amènera 26 TOPS sur une interface PCIe Gen3 à quatre lignes. Frigate le prend en charge, avec environ 7 ms par image, mais mesurées avec YOLOv6n, donc c'est loin d'être comparable aux 15 ms du N100.

Maintenant, le truc cool, c'est que vous n'avez pas besoin d'un emplacement x4. La preuve, l'AI HAT+ 26 TOPS de Raspberry Pi, construit autour du même Hailo-8, tourne sur le port PCIe du Pi 5, qui n'a qu'une seule ligne. Un emplacement M.2 en x1 fera donc l'affaire, même si Frigate note que les PC x86 à deux lignes font mieux que le Pi.

Le module M.2 Hailo-8, avec sa puce sous un capot métallique

Une carte graphique externe en OCuLink

Ici, c'est la seule carte de la liste qui exige un emplacement x4. L'adaptateur OCuLink de RIITOP à 36,95 € transformera instantanément votre port M.2 en prise OCuLink PCIe 4.0 x4 (jusqu'à 64 Gbit/s). On doit ensuite le relier au dock Minisforum DEG1 (prix 109,00 €), sur laquelle se plug la carte graphique (à acheter séparément avec son alim) et se branche sur une alimentation ATX ou SFX. Le câble OCuLink, lui, est livré avec le dock .

L'adaptateur M.2 de RIITOP et sa prise OCuLink

Notez que le DEG1 de Minisforum n'est compatible qu'avec les machines qui gèrent le PCIe 4.0 x4, donc visez un emplacement Gen4 x4. Et l'OCuLink ne se branche pas à chaud, faudra éteindre le PC avant.

Le dock DEG1 de Minisforum, avec le slot qui reçoit la carte graphique

Et si vous préférez rester à l'intérieur du boîtier, la nappe ADT-Link à 35,45 € ressortira l'emplacement M.2 en slot PCIe x16 prévu pour une carte graphique. Alors je dis x16, mais c'est seulement au niveau du format PCIe 3.0 parce que la carte, en réalité, ne recevra que les lignes réellement disponibles de l'emplacement M.2.

La nappe R43SR d'ADT-Link, du connecteur M.2 au slot PCIe x16

Le port USB-C de façade qui ne sert à rien

Et si le port USB-C en façade de votre boîtier reste inerte faute de connecteur sur la carte mère, l'adaptateur Type-E de CY à 32,99 € transformera l'emplacement M.2 en connecteur interne Type-E à 20 Gbit/s. Il repose sur une ASMedia ASM3242, conçue pour quatre lignes PCIe Gen3 (sur deux, on tombe à 16 Gbit/s), et ne fait ni vidéo, ni audio, ni recharge PD.

L'adaptateur M.2 de CY, son connecteur Type-E et son dissipateur

Maintenant, si un connecteur USB 3.0 à 19 broches est encore libre, un simple adaptateur EZDIY-FAB à 14,99 € réveillera ce port en USB 3.2 Gen 1, sans avoir à toucher à votre emplacement M.2.

L'adaptateur en L d'EZDIY-FAB, vu sous deux angles

Six ports SATA de plus

Côté stockage, le contrôleur SATA de Namvo à 29,99 € vous ajoutera 6 ports SATA 6 Gbit/s grâce à une ASMedia ASM1166 , reliée en PCIe Gen3 x2. Ça fait 16 Gbit/s à partager entre les 6 disques, et moitié moins sur un emplacement x1.

Le contrôleur SATA de Namvo

Du Wi-Fi 6E

Enfin, pour ajouter du Wi-Fi 6E à une tour qui n'en a pas, il vous faudra un module Intel AX210 à 28,37 € et un adaptateur Jectse à 9,62 € qui le fera tenir dans un emplacement à clé M. Comme Intel documente son AX210 comme étant du Wi-Fi (PCIe) et BT (USB), l'adaptateur fait passer le Wi-Fi par une ligne PCIe et le Bluetooth par un petit câble USB 2.0 fourni, à relier à un connecteur interne de la carte mère. Et les antennes ne figurent ni sur la fiche du module ni dans le colisage de l'adaptateur, donc faudra les acheter à part.

Méfiez-vous par contre de la liste de compatibilité de la fiche Jectse, qui dit supporter aussi l'AX201. Intel classe ce module en "M.2: CNVio2", et pas en PCIe et USB. Bref, attention à bien prendre un AX210 et pas un 201

Voilà et si votre emplacement libre s'avère être câblé en SATA, bah oubliez toutes ces cartes... Toutes ces cartes parlent uniquement le PCIe. Il ne vous restera alors plus qu'à y mettre un SSD SATA... Snif.

Source : XDA Developers

curl.md - Récupérez le texte de n'importe quelle page web au format Markdown

Par : Korben ✨
22 septembre 2026 à 15:00

Je ne sais pas si vous connaissez curl.md, mais c'est un service qui prend l'adresse d'une page web et vous l'affiche en Markdown. Y'a pas de menus, pas de bandeaux de cookies, et ce genre de conneries... C'est juste le texte de votre article, les titres, les liens et les tableaux.

Et le plus sympa, c'est que vous n'avez rien à installer pour l'essayer. Vous collez curl.md/ devant l'adresse qui vous intéresse, dans la barre de votre navigateur, et vous obtenez la page en texte markdonw. Avec curl dans un terminal, c'est pareil, la réponse arrivera en text/markdown, et si vous préférez du JSON, vous envoyez l'en-tête Accept: application/json.

Un article de korben.info passé par curl.md : le texte, les liens, et un en-tête de métadonnées en haut

Et vous pouvez aller plus loin en ajoutant un objectif avec le paramètre --objective. Par exemple, vous décrivez ce que vous cherchez dans la page, et le service ne vous renvoie que le passage qui correspond. Il y a aussi des mots-clés, qui font un pré-filtrage avant l'extraction, et un mode smart ou rush selon que vous voulez une passe plus poussée ou plus rapide. Tout ça passe en paramètres d'URL, donc sans ligne de commande.

Pour ceux qui y reviennent souvent, il existe également un client à installer avec npm, avec bun ou avec un script, et qui s'invoque ensuite par curl.md ou par son alias court md :

# Sans rien installer
curl curl.md/example.com

# Ou avec le client
npm i -g curl.md
md zod.dev/error-formatting --objective "tree error formatting"

Côté agents de code, il y a des intégrations natives pour Amp, Claude, OpenCode et Pi. Si votre outil n'est pas dans la liste, le client sait aussi tourner en serveur MCP avec curl.md --mcp, et il existe un SDK TypeScript. Dans tous les cas, c'est l'agent qui va chercher les pages tout seul, vous n'avez plus rien à lui coller.

Du coup, ça sert à quoi ?

Bah dans le cadre de votre boulot, c'est surtout pour arrêter de coller des pages entières dans vos prompt. Vous donnez à votre agent la doc d'une bibliothèque avec un objectif précis, et il reçoit trois paragraphes au lieu de quarante pages HTML.

Ça marche aussi pour un script de veille qui suit les notes de version d'un projet, ou pour aspirer une doc dans un fichier texte que vous garderez dans le dépôt (bien plus lisible qu'un PDF dans un coin...).

Et en usage perso, ça vous permet de récupérer par exemple un article pour le relire au calme dans Obsidian, d'archiver une recette ou un mode d'emploi avant qu'il disparaisse, ou de vous envoyer une page à ChatGPT sans lui faire avaler la moitié du site autour. Notez que si c'est la consommation de vos agents qui vous embête, j'avais parlé de RTK, un proxy qui économise des tokens sur le même principe.

Par contre, il y a un plafond. En mode anonyme sur la version hébergée, vous avez droit à 100 requêtes par heure, et 1 000 une fois connecté. Et pour les requêtes avec un objectif, celles qui font justement l'intérêt du truc, c'est 3 par heure en anonyme et 10 en étant connecté. Bref, de quoi essayer, mais pas vraiment de quoi travailler... Au-delà, faudra passer par des crédits prépayés, à recharger par tranches de 5, 10, 20 ou 50 dollars.

Et si vous ne voulez pas dépenser d'argent, le code source est public sur GitHub sous licence MIT pour l'auto-héberger chez vous.

C'est à tester sur curl.md , et merci à Camille Roux pour le lien !

10 projets RECOMP qui sortent vos vieux jeux de leur console

Par : Korben ✨
22 septembre 2026 à 09:23

Saviez-vous que Silent Hill, premier du nom, peut aujourd'hui être terminé sur PC, en grand écran et sans émulateur ? Et oui, c'est possible parce que le jeu est compilable directement pour votre machine à partir du code source obtenu à partir d'un gros travail de reverse engineering.

Et ce genre de portage n'est plus un cas isolé du tout. Depuis Zelda 64 recompilé , la scène RECOMP a franchement explosé, au point qu'on ne sait plus trop où donner de la tête. Il y a des portages qui sont très complets et fonctionnels du début à la fin, et puis des projets en cours qui sont à moitié finis, qui plantent, etc.

Alors j'ai fait mes recherches et aujourd'hui, je vous présente 10 projets de recompilation qui valent le coup ! Je commence donc par les deux qui se jouent pour de vrai.

Le port PC de Silent Hill , donc, pour commencer. Dans ce portage, chaque carte, chaque boss, chaque cinématique et chaque fin fonctionnent, et vous pouvez boucler le jeu aujourd'hui si vous le voulez. Vous récupérez au passage la 16:9, la correction de perspective PGXP, des caméras alternatives et un gestionnaire de mods, et les disques PAL français sont reconnus tout seuls. Je précise aussi que la décompilation PSX en dessous est un travail communautaire de longue haleine, mais que le portage, lui, est assisté par IA (avec Claude Opus 4.6 et 4.7).

Le launcher du port PC, réglé en 1920x1080 avec PGXP activé et la limite de FPS à zéro

Dans la même catégorie, il y a Golden Balloon qui ressuscite ce que son dépôt appelle sobrement le kart racer Nintendo 64 de 1997. Pas d'émulateur là non plus mais un jeu compilé pour votre machine, qui lit votre ROM en local, sans jamais l'envoyer nulle part. Vous pouvez même jouer directement dans le navigateur à 2 ou 4 joueurs en écran partagé ou en multijoueur directement en ligne (ça c'est en bêta).

La page du portage : le jeu compilé pour votre processeur, affiché en WebGPU, et rien à installer

Après, il y a d'autres projets qui démarrent plutôt bien même s'ils sont encore en chantier.

Je pense à Party Board qui en est le meilleur exemple. En gros, c'est Mario Party 4 porté sur Windows, Linux, macOS, Android et iOS, avec un mode en ligne à deux. Tout n'est pas parfait, c'est un work in progress, mais ça progresse assez vite, donc je pense que c'est un projet à suivre si vous aimez Mario Party.

Party Board sur GitHub : le dernier commit remonte à l'heure qui précède la capture

De son côté, DKC1Recomp s'attaque à Donkey Kong Country sur Super Nintendo, et son statut affiché est "playable bring-up". Ça veut dire que ça démarre, ça se joue, mais on en est aux toutes premières versions. La totalité du code du jeu est générée statiquement et ça peut tourner sous Windows, macOS et même via une app iPhone et iPad native. Par contre, comme d'hab', il vous faut la ROM.

Notez que Snesrecomp apparaît en sous-module dans l'arborescence de DKC1Recomp

Lost Odyssey Recomp est sans doute le plus ambitieux du lot puisqu'il s'agit d'un très gros jeu Xbox 360 traduit depuis son binaire PowerPC vers du natif, en Direct3D 12 ou Vulkan. D'après ses auteurs, les zones d'ouverture et quelques scènes sont testées, mais pas encore une partie complète, et il reste des soucis de rendu et de stabilité. La dernière version embarque quand même un pack de shaders qui vous évite leur compilation au premier lancement.

La ville industrielle de Lost Odyssey, avec sa minimap de navigation en haut à droite

Viennent ensuite les outils, ceux qui fabriquent les portages plutôt que de les livrer...

On a d'abord RecompOne qui recompile statiquement les exécutables PlayStation 1 vers du C# et fournit la couche qui rejoue le matériel de la console. Pas besoin de BIOS ni du moindre fichier Sony, vos fichiers de jeu suffisent. Le projet est fait par des humains, et aucune contribution écrite par une IA ne sera acceptée, et l'auteur explique qu'il ne fera la promotion d'aucun portage produit de cette façon.

L'IA c'est la vraie ligne de fracture de la scène en ce moment...

RecompOne et son logo aux couleurs de la PlayStation, publié sous licence MIT

DolRecomp fait la même chose pour la GameCube et la Wii. Il sait extraire un disque GameCube tout seul, et s'appuie sur Wiimms ISO Tool pour les images Wii, qu'il vous propose d'installer au passage. Sa grosse limite, c'est qu'il ne traduit que le processeur. En effet, tout le runtime autour, il faut l'apporter, ou partir du modèle que fournit ModernGekko. Autant dire que c'est un outil de bricoleur et pas un bouton "portage".

Luigi's Mansion qui tourne dans une fenêtre Windows sobrement nommée MansionRecomp

ps3recomp de son côté vise la machine la plus tordue de la liste, le Cell de la PlayStation 3, avec un objectif simple : transformer un binaire PS3 en exécutable natif sans passer par l'émulation. Et face à l'émulateur RPCS3 , l'argument n'est pas la compatibilité mais la performance native, et évidemment, un code C++ nettement plus facile à modder.

Chez ps3recomp, la toute première version publiée s'appelait Hello, Cell

Le neuvième outil, spoiler alert, c'est le mien. Ça s'appelle KOMPOTE et c'est un recompilateur universel de ROMs. Je bosse dessus depuis trois ou quatre mois et il permet de recompiler des ROMs Game Boy dans toutes ses déclinaisons, NES, Super NES, les consoles Sega, la Lynx, la Nintendo 64, la Neo Geo, le Commodore 64. Vous glissez une ROM dessus, ça vous sort un exécutable natif, ou une version WebAssembly pour jouer depuis une page web.

C'est une bêta réservée aux Patreons pour l'instant, dispo sous macOS, Windows et Linux et comme pour les autres projets de ce type, ça n'embarque aucun code propriétaire. J'y ai également intégré des petites fonctionnalités sympas sur l'affichage (effets VHS, GB color...etc), l'amélioration du son, les sauvegardes automatiques, du rewind, une API pour pouvoir piloter les jeux avec un TAS, le support des codes Game Genie et j'en passe...

Et puis il y a surtout CubeShelf , qui est le premier signe que tout ça commence à s'organiser. C'est un gestionnaire de bibliothèque GameCube qui installe et met à jour les runtimes de plusieurs jeux portés d'un coup... Mario Party 4, Soulcalibur II, Super Mario Strikers... etc. Ça prépare vos images disque et gère les mods GameBanana .

La page du projet CubeSelf

Voilà, donc comme je vous le disais, aucun de ces projets ne contient le moindre fichier de jeu. C'est à vous d'amener votre propre ROM ou votre image disque, et parfois même le BIOS de la machine en plus, sinon rien ne se lancera ou ne se recompilera. Et ensuite, une fois que vous aurez une version recompilée de votre jeu préféré, vous pourrez y jouer depuis votre ordinateur comme bon vous semble, sans devoir passer par un émulateur ou la console d'origine.

Bref, si vous ne deviez en essayer qu'un aujourd'hui, prenez Silent Hill ! C'est vraiment un super portage !!

Mes 2 nouveaux interrupteurs Sonoff Zigbee

Par : Korben ✨
18 septembre 2026 à 10:07

J'ai installé 2 interrupteurs Sonoff Zigbee dans mon bureau hier, un pour la lumière et un pour le volet roulant, et ça m'a pris quelques dizaines de minutes. Que du bonheur !

Les deux bêtes sont l'Orb-ZBW1L et l' Orb-ZBRBS (lien affilié). Le premier est un interrupteur mural Zigbee 3.0 à un bouton, qui fonctionne sans fil neutre et supporte jusqu'à 6 A de charge, ce qui règle le cas des vieux emplacements où il n'y a que la phase. Le second interrupteur que j'ai installé, quant à lui, pilote un volet roulant, et son appairage se fait très facilement par un appui d'environ cinq secondes sur le bouton arrière.

Notez que le volet demande un calibrage pour connaître sa course, et c'est là que j'ai failli faire une bêtise. En effet, Zigbee2MQTT expose une action start_automatic qui fait parcourir tout le trajet au moteur. Chez moi ça a duré plusieurs minutes, capteur de statut muet et position bloquée à 50 %. J'ai donc cru qu'il y avait un problème et j'ai stoppé le moteur, alors qu'il avait presque fini. Bref, au moment du calibrage, pensez donc bien à le laisser tourner cinq bonnes minutes.

Bon, après, je n'ai pas vraiment de mérite parce que j'ai surtout laissé aussi Claude Code m'aider à mettre tout ça en place avec son MCP Home Assistant, comme je vous l'expliquais dans cet article .

Vive les wagos !

Le vrai morceau qui m'intéresse après, c'est Alexa. En effet, ces deux appareils passent par un pont Matter local vers Alexa ( Home-Assistant-Matter-Hub ), déjà appairé depuis des semaines, et je les ajoute directement là-dessus. Comme ça, tout mon matos dispo Home Assistant apparaît dans Alexa sans problème. Ça me permet de dire des trucs comme "Alexa, allume la lumière du bureau" ou "Alexa ouvre le volet à moitié" ou "Alexa ferme le volet de 30%".

Et ça me permet surtout de faire des scénarios d'automatisation assez cool. Par exemple, mon volet se ferme tout seul quand le soleil passe sous 5° au-dessus de l'horizon... donc pas à heure fixe !

En fait, comme en décembre le soleil descend plus obliquement qu'en juin, le fameux "30 minutes avant le coucher du soleil" ne donne pas la même pénombre d'une saison à l'autre. Alors que 5°, si... Enfin bref, je ne sais pas si vous faites comme ça chez vous, mais moi je trouvais ça plus adapté à ce que je voulais.

trigger:
 - platform: numeric_state
 entity_id: sun.sun
 attribute: elevation
 below: 5
action:
 - service: cover.close_cover
 target:
 entity_id: cover.volet_bureau

Après, mon garde-fou, le but ultime de toute cette affaire, c'est qu'on ne voie pas l'intérieur du bureau depuis la rue ! Du coup, j'ai mis en place une règle supplémentaire qui fait que si le volet s'ouvre alors que le soleil est déjà bas, les lumières s'éteignent. Et je déclenche ça dès le début de l'ouverture, pour qu'il fasse déjà noir à l'intérieur pendant que le volet remonte.

Ah et j'ai oublié de le préciser mais comme l'électricité et moi ça fait deux, j'ai donc photographié les fils des anciens interrupteurs pour demander un peu d'aide à ChatGPT avant de rebrancher tout ça avec des wagos. Je n'ai eu aucun court-circuit, youpi !! J'ai aussi bien pris soin de couper le disjoncteur général pour ne pas finir comme Claude François, car je précise quand même qu'on est sur du 230 V, et qu'une IA qui lit une photo ne remplace pas un électricien !

Le vieil interrupteur que j'ai remplacé

Mais ça permet quand même de mieux comprendre ce qu'on est en train de faire et de débrouiller des situations un peu compliquées parfois, quand le boulot à l'origine était mal fait.

Voilà, en tout cas, je suis très content de ces deux interrupteurs et je pense que je vais en acheter d'autres, notamment pour le reste des volets roulants de la maison.

GNOME Boxes - L'outil qui monte les VM à votre place

Par : Korben ✨
15 septembre 2026 à 09:23

Si vous avez déjà voulu essayer une distrib sans toucher à votre machine, vous connaissez la corvée... Faut dénicher la bonne ISO (32/64 bits, ARM...etc), créer la VM, et passer 20 minutes dans des réglages pour que ce soit joli ou qu'on puisse y faire du copier coller dans l'hôte et l'invité. Boxes , l'application de virtualisation du projet GNOME, vous permet d'éviter tout ça et c'est top si vous aimez économiser un peu de jus de cervelle. Vous choisissez le système dans une liste, et il va chercher l'image et l'installe tout seul en VM pendant que vous faites autre chose, par exemple venir sur Twitch regarder mon live .

La liste couvre Debian, Fedora, Ubuntu, OpenSUSE, CentOS Stream, Red Hat Enterprise Linux et Windows. Pour son fonctionnement Boxes s'appuie sur du solide avec qemu-kvm, libvirt-glib et spice-gtk, donc le code de votre système invité s'exécute directement sur le processeur de l'hôte via KVM, pour obtenir ce que la doc de GNOME appelle des "performances proches du natif".

Une fois la VM créée, vous lui fixez la quantité de mémoire et le stockage qu'elle a le droit de prendre sur votre système, histoire qu'elle ne vous freeze pas la machine. Et bien sûr, vous pouvez prendre des instantanés pour la ramener à un état antérieur, ce qui est la fonction qu'on utilise tout le temps, si comme moi vous aimez casser volontairement vos OS avec des bidouilles alternatives des enfers.

Le reste, c'est du confort : vous branchez une clé USB sur votre machine et vous la redirigez dans la VM, le presse-papiers est partagé entre les deux, et vous déposez un fichier depuis votre gestionnaire de fichiers dans la fenêtre de Boxes pour l'envoyer à l'invité.

L'affichage des VMs dans Boxes se redimensionne tout seul quand vous changez la taille de la fenêtre, et il y a même de l'accélération 3D pour certains des systèmes supportés.

Après, cette "simplicité" se paye puisque des choses comme la config des adaptateurs réseau ou la mise à jour du matériel virtuel, n'est pas visible dans l'interface . Et comme le Flatpak embarque toute la pile de virtualisation dans son propre conteneur, vous n'irez pas rattraper ça en douce dans les fichiers. Donc si vraiment vous avez besoin de mettre les mains dans le cambouis au niveau de ces réglages-là, prenez plutôt virt-manager dès le départ, c'est fait pour.

Son auteur, Felipe Borges a d'ailleurs réécrit entièrement l'application en GTK4 et partage ses résultats depuis août . Cette version-là installe dorénavant Windows 11 sans le moindre contournement manuel, en configurant Secure Boot et un TPM virtuel automatiquement. C'était la fonction la plus réclamée sur la version classique et elle ajoute aussi un périphérique VSOCK, qui permet de se connecter directement en SSH sur les VM en systemd 256 ou plus récent.

Attention quand même, ça reste une bêta destinée aux tests et pas à la production, et son auteur conseille de sauvegarder les données de vos VM avant d'y aller. Il précise aussi qu'il travaille là-dessus sur son temps libre, en plus de maintenir GNOME Settings et de son job à temps plein chez Red Hat ! Encore un hyperactif !! lol. Donc soyez patient si vous ouvrez un ticket de support.

Pour ce qui est disponible aujourd'hui, Boxes ne tourne que sur Linux, la version stable est la 50.0 sortie depuis mars 2026, et ça se télécharge via Flathub comme ceci :

flatpak install flathub org.gnome.Boxes

Dernier truc à savoir, Felipe, le mainteneur, a proposé de retirer Boxes du cœur de GNOME pour en faire une application indépendante, et le retrait est programmé pour GNOME 52 en mars 2027. Flathub deviendra alors le seul canal officiellement supporté, et le nom perdra son "GNOME" pour devenir simplement Boxes. L'identifiant Flatpak ne bougeant pas, les installations existantes continueront de se mettre à jour sans rien casser.

Et si vous voulez comparer avec une autre solution similaire, je vous avais déjà parlé de QuickEmu pour monter des VM sans y passer l'après-midi, mais Boxes, lui, joue sur le terrain du tout à la souris, et ça j'imagine que ça vous plait plus !

Merci à Hub pour le partage !!

SpruceOS - Le guide pour rhabiller votre console rétro

Par : Korben ✨
15 septembre 2026 à 08:53

Si vous avez une petite console rétro portable qui traîne, du genre une Miyoo Mini, une TrimUI Brick, une Anbernic RG35XX , vous avez sans doute remarqué que l'interface livrée avec fait le job mais sans plus. Ça tombe bien, spruceOS est là pour ça ! Et malgré son nom, ce n'est pas vraiment un système d'exploitation. En réalité, il s'agit d'un frontend codé en Python qui vient se poser sur une base système déjà existante. Le code est public, sous une licence Creative Commons donc pour les plus capitalistes d'entre vous, ça veut dire pas d'usage commercial sans permission écrite de l'équipe.

Sur les Miyoo et les TrimUI, la base en question est le système d'origine de la console, celui du fabricant. Sur les Anbernic à puce H700 et sur la Powkiddy RGB30, il faut d'abord installer une base tierce sur la première carte mémoire, genre BaseOS pour les Anbernic, dArkMoss pour la Powkiddy. La carte spruce, elle, ira dans le second emplacement, le TF2, et elle restera librement échangeable d'un appareil supporté à l'autre. Rien de dramatique donc, mais ça fait une étape de plus et une carte en plus.

Ce que vous y gagnez si vous installez spruceOS, c'est surtout du confort au quotidien. Vous maintenez le bouton HOME pendant trois secondes et le Game Switcher vous laisse sauter d'un état de sauvegarde à l'autre sans quitter votre partie. Quand vous éteignez la console en plein jeu, elle sauvegarde même toute seule son état et vous remet exactement là où vous en êtiez au rallumage. Et si votre console a le Wi-Fi, vous ne repassez plus par le PC pour l'habiller puisque l'outil Theme Garden pioche dans plus de quatre-vingts thèmes communautaires dispo en ligne, le Game Nursery télécharge des portages gratuits / homebrew, et un scraper récupère même les jaquettes des jeux depuis la base libretro.

Le menu principal de spruceOS, avec les quatre icônes du thème SPRUCE par défaut

Ce qu'il vous faut avant de commencer

Il vous faut une carte microSD neuve, d'une vraie marque, achetée chez un revendeur sérieux ainsi qu'un bon lecteur de cartes. Et bien sûr un ordinateur sous Windows, macOS ou Linux avec une connexion Internet.

Et surtout, n'utilisez pas la carte livrée avec la console. C'est pas moi qui le dit mais le wiki du projet qui est catégorique là-dessus, en majuscules dans le texte : "DO NOT USE THAT STOCK SD CARD!", parce qu'elle est mauvaise, que les jeux dessus sont mauvais et que les BIOS le sont aussi. Donc gardez-la dans un tiroir, elle vous servira pour revenir en arrière en cas de foirage.

L'installation en un clic

L'équipe a sorti un installeur tout-en-un, qu'elle présente comme entièrement open source, disponible pour Windows, Linux et macOS. Il formate la carte, télécharge la version que vous choisissez et l'installe, en une seule opération. Une seule précaution, et le projet la signale lui-même : vérifiez bien que le lecteur que vous désignez est votre carte, parce que l'installeur écrit sur celui que vous lui montrez. C'est le chemin recommandé, et c'est aussi lui qui règle le cas des Anbernic et de la Powkiddy : BaseOS et dArkMoss ont chacun leur onglet dans l'application et se téléchargent puis s'installent automatiquement, sans que vous ayez à aller chercher une image ailleurs.

Un détail qui coince sur Mac, et qui n'est écrit nulle part ailleurs que dans le dépôt : macOS interdit aux applications d'écrire sur un disque amovible sans permission explicite, et l'installeur passe par le Terminal. Il faut donc aller dans Réglages Système, Confidentialité et sécurité, Accès complet au disque, ajouter Terminal, puis quitter et rouvrir le Terminal. Ce dernier point compte, la permission ne s'applique pas à une session déjà ouverte.

Sur Mac, Terminal doit figurer dans Accès complet au disque pour que l'installeur puisse écrire sur la carte ( Source )

L'installation à la main

Si vous préférez faire ça vous-même, il vous faut un utilitaire de formatage et 7zip. Vous formatez la carte en FAT32, avec Rufus sous Windows ou l'Utilitaire de disque sous macOS en choisissant MS-DOS (FAT32). Vous récupérez l'archive spruce.vX.X.X.7z sur la page des versions du dépôt, vous l'extrayez sur votre ordinateur, puis vous copiez le contenu extrait sur la carte. Vous éjectez proprement, vous insérez la carte dans la console et vous allumez.

Et là, attention au piège, puisque le paquet contient un dossier caché nommé .tmp_update, et sans lui spruce ne fonctionnera tout simplement pas. Donc affichez les fichiers cachés avant de les copier : sur Mac c'est Commande + Majuscule + point, et sur Ubuntu le dossier est masqué par défaut lui aussi. Sur Mac, pensez aussi à nettoyer les fichiers .dot parasites avant d'éjecter la carte. Un utilitaire comme CleanEject fait ça très bien.

Vos jeux et vos BIOS

Les ROMs se rangent ensuite dans un dossier Roms, avec un sous-dossier par machine. La plupart des noms sont évidents, mais certains noms piègent tout le monde comme SFC ou FC. Hé oui, les jeux Super Nintendo vont dans SFC, pour Super Famicom, et pas SNES ; les jeux NES vont dans FC, pour Famicom, et pas NES. Les vidéos et la musique, elles, vont toujours dans MEDIA.

Les BIOS se posent dans un dossier BIOS à la racine de la carte, mais il faut les placer dans le sous-dossier qui va bien par machine et pas tout balancer en vrac. Le BIOS de la Dreamcast veut son sous-dossier, certains sont obligatoires pour que la machine tourne, d'autres pas. Donc je vous invite à vous renseigner en fonction de la machine que vous voulez émuler. Et comme d'hab, le BIOS de la NeoGeo ne va pas dans BIOS mais avec les jeux.

BIOS/dc/dc_boot.bin Dreamcast, obligatoire
BIOS/gba_bios.bin Game Boy Advance, facultatif
Roms/NEOGEO/neogeo.zip NeoGeo, obligatoire, et pas dans BIOS

Et évidemment, le projet ne fournit ni ROMs commerciales ni BIOS et ne vous dira pas où les trouver, donc c'est à vous de voir avec vos propres cartouches et vos propres disques.

Si l'écran reste noir

Maintenant, si c'est tout noir au lancement, vérifiez que le dossier .tmp_update est bien présent sur la carte. Remettez-la dans l'ordinateur, réaffichez les fichiers cachés, et regardez : si vous avez copié sans avoir activé l'affichage, il n'y est pas. L'autre suspect, c'est la carte elle-même. C'est peut-être parce que vous avez acheté une no-name de merde.

Le moment où vous ne pourrez plus revenir en arrière

Tant que vous ne touchez qu'à la carte, vous ne risquez rien de définitif. Sur la famille Anbernic RG35XX, les guides de référence le disent tous : ces firmwares vivent entièrement sur la microSD, et donc on peut passer de l'un à l'autre sans modification permanente de l'appareil. Ailleurs le principe est le même, et pour retrouver votre console en version d'usine il suffit donc de remettre la carte d'origine.

Sauf qu'il y a UNE exception !! spruce embarque un Firmware Updater qui apparaît tout seul dans vos applications si votre console tourne sur un firmware ancien. Celui-là n'écrit pas sur la carte mais dans la mémoire interne de la machine, et le wiki prévient sans détour : "Failure to follow the firmware updating instructions can lead to a bricked device.". En gros si vous le lancez pour faire la mise à jour du firmware, ça peut bricker votre console, donc pensez bien à la brancher sur le courant avant la mise à jour. Le projet documente d'ailleurs deux procédures de débriquage, dont une qui demande carrément d'ouvrir la Miyoo Flip et de débrancher sa batterie, ce qui vous dit assez bien à quel point on a quitté le terrain du réversible...

Et si spruceOS ne vous convient pas, vous ne serez pas coincé pour autant car sur ce même matériel, le guide de référence de Retro Game Corps recommande aussi Knulli pour son interface EmulationStation, ou encore muOS pour la performance d'émulation la plus avancée, à condition que le bricolage de configs customs ne vous rebute pas. Après voilà, chaque "OS" a sa carte et vous changez d'avis quand vous voulez.

Source : spruceOS sur GitHub , le wiki du projet et le site officiel

Trynix - Testez des classiques Linux sans rien installer

Par : Korben ✨
11 septembre 2026 à 09:19

Vous voulez vérifier un truc dans une vieille version de Python, du genre celle de 2017, histoire de voir si le bug que vous traquez vient de là. Normalement ça veut dire chercher une image Docker ou un vieux binaire de python, pour faire vos tests. Mais avec trynix, vous cliquez un lien et hop, vous avez un shell avec votre outil.

Ce site est signé Farid Zakaria, qui bricole autour de Nix depuis des années et appelle ça son "magnum opus". En gros, une machine Linux x86_64 démarre dans votre onglet, avec le paquet demandé déjà accessible dans le PATH. Rien à installer et pas de compte à se créer, ça marche direct dans le browser.

J'ai essayé ce matin avec python3 en version 3.6.2 . Le navigateur va chercher les chemins du store, vérifie leurs signatures, et au bout d'une trentaine de secondes le prompt s'affiche. Je tape alors python3 --version, il me répond Python 3.6.2, avec la glibc 2.25 et l'OpenSSL 1.0.2l de l'époque livré avec. Et voilà comment je me retrouve avec un Python de 2017 dans un Chrome de 2026, sans rien toucher à ma machine.

Le terminal de la machine virtuelle, dans l'onglet : Python 3.6.2 répond, et les seize chemins du store sont vérifiés juste au-dessus.

Et ce ne sont pas trois démos préparées à l'avance puisque l'index recense les 310 000 et quelques versions que nixpkgs a livrées en treize ans. Toutes ne démarrent pas, attention, il n'y en a que 274 729 avec un binaire x86_64 dans le cache, et le reste est non libre, cassé, ou hors du lot.

Ce qui rend la chose possible, c'est en fait une simple ligne d'en-tête HTTP. Le cache binaire de Nix sert un access-control-allow-origin: *, donc votre navigateur a le droit d'aller y piocher tout seul. Et le plus drôle, c'est que Zakaria avait lui-même réclamé cet en-tête en 2021, pour un tout autre projet. Et 5 ans plus tard, il s'en sert pour démarrer des machines virtuelles... Qui aurait pu prédire comme dirait l'autre !

Pour l'émulation, après il n'a rien réinventé. Il a tout simplement repris prend qemu-wasm , le QEMU compilé en WebAssembly de ktock, et la machine virtuelle ne boote même pas vraiment, mais reprend un instantané figé à l'avance. En tout cas, c'est bien pensé et très pratique.

Du Linux dans un navigateur, je vous avais d'ailleurs déjà montré ça ici avec cette machine virtuelle x86 . Sauf que ces trucs-là chargent une image figée à l'avance, alors qu'ici, on choisit vraiment son contenu en 1 clic.

Niveau vitesse, le projet annonce un lancement en 3 secondes, mais c'est le temps d'obtenir le shell quand tout est déjà dans le cache du navigateur. Chez moi, lors de mes tests, au premier passage, il a fallu 30 secondes, puis 7,5 secondes au suivant. Et une fois dedans ça reste poussif, parce que chaque binaire est traduit du x86 vers le WebAssembly à son premier lancement, ce qui peut faire monter le chargement à deux minutes sur les gros binaires.

Et il y a aussi un plafond puisque tout doit tenir dans la mémoire de l'onglet, soit environ 1,5 Go. Et c'est une console série, donc vous ne pourrez rien lancer de graphique, pas de fenêtre, pas de souris... Bref, que les outils en ligne de commande et rien d'autre ! Mais bon, vous êtes de vrais barbus qui n'ont peur de rien à part du déo, donc je ne suis pas inquiet ^^.

Ce qui est vraiment cool avec Trynix surtout, c'est l'action GitHub que son dev a sortie dans la foulée. Si votre intégration continue pousse déjà ses compilations dans un cache, un bot colle un lien sous la pull request et le relecteur lance le code au lieu de le lire. Comme ça, fini le clone, la compilation et le "*ça marche chez moi pourtant *" invérifiable. Même topo pour faire essayer un truc à quelqu'un qui n'a ni Nix ni Docker... Suffit de lui envoyer le lien.

Un petit point sécu quand même que je tiens à vous signaler : L'URL transporte à la fois les caches supplémentaires et les clés qui les valident, du coup la signature vous prouve bien que le binaire vient du cache annoncé... mais pas qu'il vient de quelqu'un de fiable. En effet, cliquer sur un lien trynix inconnu, ça revient à lancer le programme d'un inconnu, et même si ça se passe dans la sandbox de l'onglet du navigateur (ce qui limite les dégâts), c'est quand même mieux d'en avoir conscience !

Bref, voilà encore un chouette projet sous licence MIT et si ça vous chauffe, ça se passe sur trynix.dev .

Source : Simon Willison

❌
❌