Nvidia's 64GB DGX Spark launches at $4,999 with the same GB10 chip as the 128GB version. Compare memory limits, model support, clustering costs, and what IT buyers should verify.
The post Nvidia DGX Spark 64GB Launches at $4,999: Is It Worth It? appeared first on TechRepublic.
Southeast Asia's digital economy is set to reach $368 billion in 2026 as AI investment grows, but fragmented data rules complicate regional operations.
The post Southeast Asia’s Digital Economy to Reach $368B in 2026, but Data Rules Pose a Challenge appeared first on TechRepublic.
Apple's 512GB Mac Studio is coming in late October 2026. Here's what to know about its M5 Ultra chip, AI capabilities, pricing, and availability.
The post Apple’s 512GB Mac Studio Is Almost Here: What Buyers Should Know appeared first on TechRepublic.
Nvidia RTX Spark laptops start at $2,599. Explore local AI capabilities, compatibility checks, and the cost and security trade-offs IT teams should assess.
The post Nvidia RTX Spark Brings Local AI Agents to Windows Laptops appeared first on TechRepublic.
Il y a quelques jours, durant la conférence Hexacon à Paris, un chercheur nommé Quentin Kaiser a rendu publique une faille de sécurité qui traîne depuis au moins 2010 dans la fonction WPS de Broadcom. Je dis "qui traine" au présent parce qu'elle n'est toujours pas patchée évidemment. Alors si vous ne savez pas ce qu'est WPS, c'est une fonctionnalité qui permet de connecter un appareil au WiFi sans avoir taper la clé.
Cela veut dire que quelqu'un à portée du réseau sans fil peut faire exécuter son propre code à une box ou à un point d'accès, sans avoir à connaître la clé du réseau et sans même mener un enrôlement WPS jusqu'au bout.
Son exploit, il l'a filmé sur deux box belges. Chez Orange Belgium (une Askey TCG3000), où son code lit la clé Wi-Fi dans la mémoire de la box et la renvoie via les ondes, ce qui lui permet ensuite de rejoindre le réseau. Chez l'opérateur Proximus (une BBOX3V+), il ouvre un shell à distance au travers des trames Wi-Fi, donc sans avoir recours à un serveur extérieur. L'antenne qu'on voit sur la vidéo ci-dessous ne doit d'ailleurs pas faire croire qu'il faut être collé à la box puisque d'après Kaiser, ça marche de loin !!
Le plus gênant, c'est que Broadcom est bien bien au courant. Dans sa réponse à Kaiser, la société dit connaître la faille depuis longtemps et avoir remplacé l'ancien code par une version basée sur hostapd à partir de 2018. Mais elle refuse de lui attribuer un CVE, l'identifiant qui permet à tout le monde de suivre une faille, tout comme de divulgur l'avis de sécu qu'elle dit avoir envoyé aux fabricants.
Du coup, le fix dépend du fabricant qui doit avoir adopté hostapd , et de l'opérateur qui doit avoir poussé le firmware. Et ça c'est pas forcément fait puisque la faille est présente chez Proximus, Orange Belgium et VOO, que rien sur ces box n'est encore corrigé. Et pour les plus vieilles plateformes, celles sous eCos, il parle même de "forever day", c'est à dire une faille qui ne sera JAMAIS corrigée.
Et chez nous, en France ?
Et bien on peut voir dans ses diapos, une page "Passive War Driving in Paris" où sont mentionnée une Livebox Sagemcom Fast5656_OFR et la NB6VAC de SFR qui y sont taguées "Not Patched", alors que trois autres Livebox (Fast5698_OFR, Fast5670_OFR et un répéteur) et une Bbox de Bouygues (F5696b) sont "Patched". Donc ça dépend des box et on n'a pour le moment pas plus d'infos là dessus.
Sachez aussi que couper le WPS ne protège pas forcément mais bon, ça ne coûte rien de le couper si vous ne l'utilisez pas. Autrement, coupez carrément le Wifi et utilisez votre propre routeur ( genre ces merveilleux Deco ) branché en Ethernet au cul de la box.
Et pour les bidouilleurs que vous êtes, Kaiser a publié sur GitHub un script de détection à utiliser avec une box en marche pour voir si elle est faillible ou pas. Ce script nécessite une interface Wi-Fi qui gère le mode moniteur (donc une Alpha ou ce que vous avez sur la main avec du mode monitor fonctionnel). Et bien sûr, c'est à lancer uniquement sur votre propre box et pas chez le voisin sinon vous irez en prison !! Argh !
Source : The Hacker News

Nvidia introduces three Nemotron AI models, including a 120B-parameter system and two smaller Bolt models designed for local AI agents and enterprise tasks.
The post Nvidia Launches Three Nemotron AI Models, Including Two for Local AI Agents appeared first on TechRepublic.
Faire tourner un modèle de langage en local sur son PC, avec llama.cpp, ça marche très bien, mais ça demande quand même de mettre un peu les mains dans le cambouis. Il faut aller chercher le binaire, trouver le bon fichier GGUF sur Hugging Face et lancer le serveur en ligne de commande.
Heureusement, léquipe de ggml-org, celle qui développe justement llama.cpp, souhaite soulager notre peine en nous proposant pour Windows 11 une petite app baptisée Llama (Ouais, c'est original comme nom ^^) qui se loge dans la zone de notification et qui fait tout le taf à votre place.
C'est en fait un portage pour Windows de Llama for Mac , qui est lui aussi dans la barre des menus de macOS. Côté install, suffit de récupérer le fichier .msixbundle dans les Releases du dépôt, vous double-cliquez dessus, et c'est parti mon kiki. Si vous avez déjà un llama.exe sur votre machine, l'app s'en servira, sinon elle en téléchargera un toute seule. Et bien sûr, le code est sous licence MIT, avec un petit copyright au nom de Hugging Face quand même.
Une fois que c'est en place, l'icône ouvre un petit panneau de commande avec une liste de modèles recommandés à télécharger en un clic. Vous pouvez aussi chercher n'importe quel modèle GGUF du Hub directement depuis cette liste, ou coller l'identifiant d'un dépôt. L'app vérifie également au passage s'il vous reste assez de place sur le disque avant de lancer le téléchargement ! (Moi j'ai 4 To et je suis toujours PLEIN, j'en ai marre ^^)
Bref... en cliquant sur un modèle, vous choisissez sa taille de contexte, et pour chaque option, l'app vous donne une estimation de la mémoire consommée, qu'elle récupère dans l'en-tête du fichier GGUF. C'est très pratique pour savoir avant de le lancer si ça va tenir dans votre fichue machine. Et comme les modèles sont stockés dans le cache standard de Hugging Face, bah ils sont partagés avec llama.cpp et les autres outils qui l'utilisent, ce qui évite d'avoir des doublons de plusieurs gigas sur le disque.
Mais le truc le plus sympa, je crois c'est le raccourci Alt+Espace qui, peu importe ce que vous êtes en train de faire, ouvre une fenêtre avec l'interface web du chat IA près à vous répondre, un peu à la manière de Spotlight sur Mac. Et quand vous la refermez, hé bien elle se planque simplement au lieu de se fermer ce qui fait qu'elle se réaffiche instantanément avec votre conversation dès que vous en avez besoin.
Par contre, dommage, ce raccourci est codé en dur et il n'y a aucun réglage pour en changer. Donc si une autre app squatte déjà Alt+Espace, comme PowerToys Run dont c'est le raccourci par défaut, hé bien Llama vous prévient mais ça n'ira pas plus loin. A moins que vous changiez le raccourci par défaut de PowerToys Run .
Côté vie privée, Llama n'envoie aucune data de télémétrie et vos prompts restent sur votre machine. Et comme l'app pilote un serveur llama.cpp qui expose une API REST, la fiche d'un modèle vous proposera même une requête curl toute prête afin de brancher vos autres outils dessus.
Attention si Smart App Control est activé sur votre PC, il se peut que Windows bloque llama.exe, qui n'est pas signé (contrairement au paquet MSIX de l'app). Dans ce cas, le serveur ne démarrera pas et l'app ne servira à rien. Si vous êtes concerné, il faudra donc patienter ou contourner Smart App Control.
À télécharger sur GitHub pour ceux qui veulent !

Est-ce que vous vous souvenez de ce petit lien "Learn more" dont je vous avais parlé il y a un mois environ et qui permettait d'ouvrir un compte local lors de l'installation de Windows 11 Home sans passer par l'invite de commandes ? Eh bien Bob Pony, l'utilisateur de X qui l'avait repéré, vient de déclarer que ça avait été "discrètement" patché côté serveur .
Pour ceux qui l'avait raté, le concept c'était que sur l'écran qui vous réclame un compte Microsoft, le petit lien "Learn more" présent dans le paragraphe sous les "Sign-in options" pouvait nous envoyer direct sur la création d'un compte local. Comme ça pas de base de registre à bidouiller, ni de Wi-Fi à suspendre...
Comme quoi, une simple erreur peut engendrer beaucoup de bonheur !
Alors, c'est finito pour de bon ?
Parce qu'un correctif côté serveur, ça ne s'évite pas, hein surtout que comme le rappelle Windows Latest , l'installation repose sur des composants web, ce qui veut dire que même garder une vieille ISO sous le coude ça ne servira à rien.
Maintenant pour continuer à vous créer un compte local, c'est possible avec le célèbre Rufus , où il y a juste une case à cocher et comme ça votre clé USB ne réclamera plus aucun compte.
Bref, si vous avez une installation prévue aujourd'hui, tentez quand même le lien pour voir et me dire car pour le moment, seul Bob Pony a confirmé cette régression.

Microsoft’s Surface Laptop Ultra starts at $2,599 with an Nvidia RTX Spark GPU, up to 128GB of memory, and support for running large AI models locally.
The post Microsoft’s $2,599 Surface Laptop Ultra Puts Nvidia RTX Spark Inside a Windows Laptop appeared first on TechRepublic.
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 !!
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
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.
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 korben@example.com
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 korben@example.com \
--allowed-mail bob@example.com \
--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 korben@example.com
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.
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 moi@exemple.fr.
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.

SQL Server on Azure Local is generally available. Review disconnected deployment requirements, separate licensing, and recovery planning before adopting it.
The post Microsoft Makes SQL Server on Azure Local Generally Available appeared first on TechRepublic.
Jev, je ne l'ai jamais utilisé mais Kev, en revanche, je l'ai branché dans mon outil de sélection de sujets de veille pour qu'il me dise notamment si un sujet correspond à ce qui me plaît ou pas. C'est en cours de test, donc je ne vais pas vous livrer de conclusion hâtive sur si ça fonctionne bien ou pas, mais si je vous en parle, c'est parce que Sylvain Peyronnet, le papa du moteur de recherche français Ibou , publie à son tour 3 modèles de la même famille, baptisés ArseneLupin, conçu également pour faire du décisionnel
Pour ceux qui ne suivent pas l'actualité IA, le nouveau truc à la mode en ce moment, c'est Jev, un modèle maison de
TypeSafe
qui est le premier de ce qu'ils appellent les modèles System One. Au lieu de générer du texte qu'il faut ensuite parser, ce reçoit un état (un texte, un ticket, un objet JSON) et des questions typées : oui ou non (noul), un choix parmi plusieurs options (choice) ou une note sur une échelle (score). Et il renvoie pour chacun de ces choix, des probabilités que votre code peut ensuite exploiter directement pour trier, faire du routage ou prendre des décisions. Par exemple, avec ça, on peut faire de la qualification de tickets de bug ou de l'anti-spam, ce genre de choses.
Alors forcément, suite à ça, des clones ouverts ont débarqué. Le premier que j'ai découvert, c'est Kev , de Jared Palmer, qui s'appuie sur Qwen3.5 et Qwen3.8, soit 0,8 à 27 milliards de paramètres, et laya qui part d'un encodeur ModernBERT-large pour 421 millions de paramètres au total.
Perso, avec Kev dans mon outil de veille, Pour le moment, j'ai un peu de mal à voir si c'est mieux qu'une décision prise par un Qwen 3.6 classique qui génère une réponse textuelle mais Kev a été entraîné sur des textes de 384 tokens au max, et les articles qui tombent dans ma veille dépassent largement ce gabarit...
ArseneLupin, c'est donc la version d'Ibou, annoncée par Sylvain la semaine dernière. Sa v1.1 repose donc sur Qwen3.5-4B, la mini sur Qwen3.5-0.8B et ArseneLupinstral sur Ministral 8B. Les poids sont sous licence Apache 2.0 et le code pour s'en servir et l'intégrer est fourni, mais pas le code d'entraînement ni les données.
C'est encore jeune, donc il n'y a pas eu de benchmark indépendant, mais Ibou en a fait et voici ce qu'ils obtiennent avec une classification d'intentions de recherche en dix catégories. Avec la 1.1, ils obtiennent 50,7 % de bonnes réponses, contre 39,7 % pour la mini et 43,9 % pour Jev 1.13.
Bref, ce sont leurs mesures, mais si elles sont justes, ça veut dire qu'Arsène Lupin est plus efficace que Jev.
Alors pour ce tuto, j'ai pris la v1.1 qui est la plus "balèze".
À la fin de cette section, vous aurez donc un serveur local qui crache du JSON accessible sur le port 8000. Il vous faut Python 3.11 ou une version plus récente et une 10aine de Go libre puisque le modèle complet pèse 9,3 Go en bfloat16.
J'exclus au téléchargement le dossier gguf, qui contient la version 8 bits de 4,5 Go destinée à llama.cpp. Pour démarrer, il faut donc créer un environnement virtuel, puis récupèrer le modèle, et installe le code de service avec la version de transformers qui va bien, c'est à dire la 5.17.0 :
python3 -m venv lupin && source lupin/bin/activate
pip install -U huggingface_hub
hf download IBOU-SEARCH/ArseneLupin-v1.1 --local-dir arsenelupin-v1.1 --exclude "gguf/*"
cd arsenelupin-v1.1
pip install ./code "transformers==5.17.0"
Par défaut, le fichier serve.yaml envoie le modèle sur une carte NVIDIA (cuda:0). Sur un Mac, il faudra donc le basculer sur le GPU d'Apple (mps), et sur une machine sans GPU, ce sera cpu. Je pense que je ne vous apprends rien, vous avez l'habitude,
Ensuite, on lance le serveur. Notez juste que sous Linux, le sed s'écrit sans les deux apostrophes après le -i. :
sed -i '' 's/cuda:0/mps/' serve.yaml
python -m arsenelupin serve --config serve.yaml --calibration calibration/default.json --port 8000
Le serveur ArseneLupin v1.1 à l'écoute sur le port 8000, poids chargés
Au bout de quelques secondes, le serveur écoutera sur 127.0.0.1:8000. Quant à la version GGUF, vous pouvez, si vous voulez, le faire tourner dans un llama.cpp ou équivalent à condition d'en avoir un assez récent qui connait l'archi de Qwen3.5.
Pour tester, je me suis inspiré de mon outil de veille. On donne au modèle le titre et le résumé d'un sujet et on lui demande si ça parle d'un outil qu'on peut installer, dans quelle rubrique il faut le ranger et à quel point ça pourrait intéresser des gens comme vous, c'est à dire des lecteurs technophiles / bidouilleurs.
Placez donc ça dans un fichier nommé veille.json, dans le dossier du modèle :
{
"state": {
"titre": "ArseneLupin, trois modèles de décision publiés par Ibou",
"resume": "Le moteur de recherche français Ibou publie sur Hugging Face trois modèles qui répondent par oui ou non, par un choix ou par une note, avec des probabilités. Les poids sont sous licence Apache 2.0 et le code de service est fourni."
},
"questions": {
"installable": {"type": "noul",
"instructions": "Le texte présente-t-il un outil que le lecteur peut installer lui-même ?"},
"rubrique": {"type": "choice",
"instructions": "Dans quelle rubrique ranger ce sujet ?",
"criteria": {"ia": "Intelligence artificielle et modèles de langage",
"dev": "Outils pour développeurs et infrastructure",
"securite": "Sécurité informatique, failles et vie privée",
"materiel": "Matériel, gadgets et bricolage électronique"}},
"interet": {"type": "score",
"instructions": "Ce sujet intéressera-t-il un lecteur technophile qui aime tester des outils ?",
"criteria": ["Pas du tout", "Un peu", "Beaucoup"]}
}
}
Puis dans un second terminal ouvert dans le même dossier, tapez la ligne de commande curl suivante pour lancer l'évaluation avec ArseneLupin.
curl -s http://127.0.0.1:8000/v1/systemone -H 'Content-Type: application/json' -d @veille.json | python3 -m json.tool
La réponse à la requête de veille : "ia" à 0,72, un oui/non hésitant à 0,53 et un score de 1,47
Comme vous pouvez le voir, pas une ligne de texte généré, chaque question revient avec ses probabilités. On voit donc que la rubrique "ia" l'emporte à 0,72, loin devant "dev" à 0,19, et le niveau "Beaucoup" ressort à 0,59 pour l'intérêt, ce qui donne un score moyen de 1,47 sur une échelle qui va de 0 à 2. Par contre, pour savoir si c'est un outil installable, le modèle hésite quand même un peu avec un timide 0,53 de probabilité pour le oui.
Il renvoie quand même une indication qui est plutôt importante à savoir là décision : "decision": true, car aucun seuil n'est appliqué côté serveur (c'est ce que dit le "decision_status": "unthresholded"). C'est donc à votre code de décider qu'en dessous de 0,7, par exemple, la décision revient à un humain plutôt que de partir dans la base de données automatiquement. Sur mon Mac Studio M4 Max, la requête a pris entre 2,4 et 2,8 secondes pour ces huit options.
J'ai fait un 2ème essai avec un commentaire de spam bien grossier : "Super article !!! Pour gagner 500 € par jour depuis chez vous, cliquez vite sur mon profil, places limitées." La v1.1 le classe en spam à 0,86 et lui colle un ton positif à 0,78, ce qui est vrai au premier degré. Et la version mini du modèle répond deux fois plus vite, en 0,8 seconde, mais descend à 0,76 sur le spam et hésite sur le ton... À voir donc si ça suffit pour vous d'utiliser le modèle mini ou pas, selon vos besoins.
Le code livré avec le modèle se lit facilement et la mécanique est plutôt simple à capter. En fait chaque option devient une question oui/non posée au Qwen affiné, du genre "ce candidat décrit-il la bonne réponse ?".
Ainsi, 4 catégories pour classer un contenu se résume en 4 questions sur le même texte accompagnée d'une petite tête de lecture (2 561 paramètres sur la v1.1) qui transforme le dernier état caché du modèle en score. Un softmax répartit ensuite ces scores en probabilités, et la confidence n'est rien d'autre que la plus forte d'entre elles...
Pour que ça reste rapide malgré toutes ces passes, le serveur lit une seule fois le texte commun aux options, puis calcule toutes les options simultanément.
En fait avec ArseneLupin, on reproduit le principe de Jev mais avec un LLM ouvert (Qwen) en ne lui faisant produire qu'un seul token, limité aux choix proposés. Ce qu'apporte Ibou, c'est donc un modèle LLM ultra affiné (Autant qu'un bon Saint Nectaire) pour ce type d'exercice de prise de décision.
Reste ensuite la confiance à accorder à ces probabilités. Dans le dossier calibration, vous verrez des températures ajustées selon les trois workflows d'exemple fournis par Ibou, et il y a également, dans le fichier default.json, une calibration par défaut. C'est celle-là qu'on a utilisée dans notre exemple, mais vous pouvez aussi régler vous-même votre propre température ajustée selon vos usages.
Maintenant, avant de lui confier quoi que ce soit, posez-vous un peu et donnez-lui une cinquantaine d'exemples que vous avez déjà classés à la main. Comme ça, vous pourrez comparer ArsèneLupin et le LLM que vous utilisez d'habitude pour savoir qui est le plus fiable. N'hésitez pas à y mettre aussi des textes plus ou moins longs parce que le serveur accepte jusqu'à 32 768 tokens par option. Ça tombe bien parce que ça me gênait un peu dans mon intégration avec Kev sur mon outil de veille. Donc je pense que je vais rapidement basculer sur ArsèneLupin pour ma veille en remplacement de Kev.
Et si vous venez de Jev, attention, la requête a la même forme mais pas la réponse !! Pour une question oui/non, Jev renvoie un champ noul là où ArseneLupin renvoie un p_yes, et pour une note, ArseneLupin range ses probabilités dans une liste quand Jev utilise un dictionnaire.
Cela veut dire qu'un client écrit pour l'API de TypeSafe ne lira pas du tout le résultat de ArseneLupin tel quel, donc prévoyez une petite couche de conversion avant de mettre les deux en concurrence sur vos data.

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 !

Apple’s M5 Ultra Mac Studio starts at $5,499. See what the extra $3,000 delivers and who actually needs its AI, memory, and GPU power.
The post Apple’s $5,499 Mac Studio Is Here: Meet Its Most Powerful Mac appeared first on TechRepublic.
The M5 Max Mac Studio starts at $2,499, while M5 Ultra costs $5,499. Here's what the extra $3,000 adds and which workloads can use it.
The post Mac Studio M5 Max vs M5 Ultra: Is the $3,000 Upgrade Worth It? appeared first on TechRepublic.
Apple’s M6 Mac mini starts at $899, while the M5 Pro costs $1,699. Here’s what the extra $800 adds and who should pay for it.
The post Mac Mini M6 vs M5 Pro: Is the $800 Upgrade Worth It? appeared first on TechRepublic.
Jusqu'à présent, personne ne l'avait remarqué, mais sur l'écran d'installation de Windows 11 Home, celui qui vous réclame un compte Microsoft avant de vous laisser aller plus loin, il y a un tout petit lien "Learn more" planqué au milieu d'un paragraphe. Personne ne clique jamais dessus mais Bob Pony, lui, l'a fait et magie-magie, Windows l'a propulsé directement sur la création d'un compte local.
Sur la page qui s'ouvre, on vous demande alors le nom de celui qui va utiliser cet ordi, puis derrière, c'est un mot de passe, trois questions de sécurité, et hop vous voilà sur le bureau avec votre compte local ! C'est top non ? Plus besoin de vous prendre la tête avec une invite de commandes, ou des clés de base de registre !
Plusieurs sites ont fait le test, moi je n'ai pas encore eu le temps, mais apparemment ça fonctionne très bien sur la version Home de Windows 11 mais je ne sais pas pour la version Pro.
Faut dire que ça fait un an que Microsoft ferme les autres portes du compte local. La clé de registre BypassNRO, puis la commande ms-cxh:localonly
dont je vous parlais l'automne dernier
, ont été rebouchées les unes après les autres dans les préversions, avec à chaque fois la même explication foireuse : Ces bidouilles laissaient soi-disant des gens sortir du process d'installation avec une machine qui n'était pas entièrement configurée. Sauf que ce lien qui mène exactement au même compte local, lui, bah visiblement il a échappé à Microsoft... lol.
Un truc à savoir quand même avant de choisir le compte local, et c'est Microsoft qui le dit : le chiffrement de l'appareil ne s'activera pas tout seul. Quand vous ouvrez la session avec un compte Microsoft, il boote et la clé de récupération va se loger dans ce compte alors qu'avec un compte local, il reste inactif. Ça peut bien sûr se régler en allant dans les Paramètres, Confidentialité et sécurité, Chiffrement de l'appareil, mais faut y penser avant le jour où votre portable partira sous le bras de quelqu'un d'autre pendant que vous tapez votre meilleure sieste dans le TGV...
Alors maintenant, combien de temps tiendra cette astuce ?
Aucune idée, mais on espère tous que Microsoft laissera ça tranquille. Et si le lien a disparu quand vous lirez ces lignes, sachez qu'il reste des chemins qui passent par le média d'installation notamment via Rufus, que je vous ai déjà présenté . Suffit de cocher une case et hop, ça vous fera une clé USB qui ne réclamera aucun compte.
Voilà, si vous avez une machine à installer ce week-end, c'est donc le bon moment de tester cette astuce !
Source : les tests de Windows Latest et de PC Gamer , et XDA pour la méthode Rufus.

Quand on déménage, il y a ce moment bizarre où la maison est encore à vous mais où vous n'y êtes plus. L'alarme doit continuer de tourner, les caméras aussi, sauf que la ligne Internet, elle, s'en va avec le reste. Et c'est exactement ce petit souci que ce routeur est venu arranger chez moi.
Le Deco BE25-5G (lien affilié) est un routeur mesh Wi-Fi 7 avec un modem cellulaire dans le ventre. Je l'ai posé dans mon ancienne maison, branché sur un onduleur, avec une carte SIM dedans... et c'est tout. Comme ça j'ai pas eu besoin de garder mon abonnement fibre ouvert pendant des mois pour trois caméras et ma centrale d'alarme.
La nano SIM Bouygues engagée sous le boîtier, numéro de série et QR code masqués
Pour la mise en route, y'a rien à raconter, et c'est un compliment. On glisse la nano SIM dans la fente sous l'appareil, on lance l'app Deco, on suit le process d'install et c'est plié. Et si vous avez déjà des Deco, c'est encore plus rapide puisque celui-ci se marie très bien avec tous les modèles de la gamme.
Du coup, j'ai ressorti certains de mes vieux Deco pour les mettre en satellite et pousser le signal jusqu'au fond du terrain, là où une caméra ne captait pas grand-chose. Ça a très bien fonctionné !
Le dos de l'emballage, avec le détail des ports et du tiroir nano SIM
Côté connectique, on y trouve deux ports 2,5 Gbps et un port 1 Gbps qui basculent entre WAN et LAN tout seuls, plus un port USB dont je n'ai rien fait mais sur lequel j'aurais pu brancher une clé ou un disque pour avoir un peu de stockage partagé. Ensuite, dedans, on trouve pas moins de 8 antennes 5G/4G/3G et trois antennes Wi-Fi. Hé oui, tout ça rentre dans le cylindre blanc de 118 × 118 × 198 mm et ne consomme que 25 W au maximum.
Le constructeur, lui, annonce 4,67 Gbit/s en descendant côté cellulaire, et 2 882 Mbit/s sur le 5 GHz plus 688 Mbit/s sur le 2,4 GHz côté Wi-Fi. Alors comme d'habitude, ces chiffres-là sont des plafonds de classe de modem et personne ne les verra jamais sur son écran. Mais ce que j'ai constaté, moi, c'est que ça a tenu durant tout mon déménagement, que les vidéos en live des caméras étaient clean et que je n'ai donc pas eu besoin d'y retourner en urgence.
TP-Link annonce quand même une connexion combinée, sans fil + filaire en même temps pour mutualiser la 5G et la fibre chez vous... sauf que la fonction n'est pas encore prise en charge par la version actuelle du firmware, donc faudra attendre encore un peu.
Le boîtier a aussi deux prises d'antenne externe à l'arrière, du coup si votre maison est dans un creux et que la 5G y arrive à peine, vous pourrez lui adjoindre des antennes en plus ! Ils ont vraiment pensé à tout !
Un mot encore pour ceux qui voudraient monter le même bricolage de surveillance alarme + caméra en remote. Derrière une SIM mobile, vous n'avez pas d'adresse IP publique, donc oubliez la redirection de port vers un enregistreur local. Mes caméras passaient donc par le cloud de leur constructeur et c'est pour ça que ça a fonctionné. Surveillez aussi votre forfait, parce que des caméras qui poussent de la vidéo en continu, ça peut avaler des gigas bien plus vite qu'on ne croit.
Reste le prix... 399,99 € sur la boutique officielle (lien affilié), en promotion donc (le prix d'origine étant de 429,99 €). C'est cher pour un routeur, c'est vrai mais nettement moins que le BE65-5G que j'avais testé , et si vous avez une maison à garder connectée parce que la fibre ne passe pas ou parce que vous n'en aviez pas spécialement besoin, c'est un super boîtier avec les dernières techno Wi-Fi, des tas de paramètres super cools (contrôle parental, QoS, portail captif, VPN local...etc) sur lequel tous les appareils de la maison pourront se connecter en totale transparence.

L'équipe Next-gen Kaldi de Xiaomi a sorti OmniVoice, un modèle de synthèse vocale qui parle 646 langues et qui est capable de "recopier" une voix à partir d'un extrait de huit secondes minimum. Et tout ça en local et gratuitement !
Le français y est d'ailleurs la cinquième langue du corpus d'entraînement, avec 23 675 heures d'audio de référence sur les 581 000 qu'ils ont avalées. Autant dire que le modèle a entendu du français toute sa vie, et ça s'entend au résultat.
Voilà donc comment cloner votre propre voix, du début à la fin. Comptez 3,3 Go de poids que la première génération ira chercher toute seule, donc prévoyez une connexion pour ce coup-là, et quelques minutes de manipulation une fois qu'ils sont sur votre disque.
Pour cela, il vous faut Python 3.10 à 3.13 (PyTorch 2.8 n'existe pas encore pour 3.14, vous vous prendriez un "No matching distribution found"), et un environnement isolé (sinon vous allez casser autre chose). Sur Mac, les deux lignes suivantes suffiront puisque le modèle utilise le GPU intégré via MPS :
python3 -m venv ~/omnivoice-env && source ~/omnivoice-env/bin/activate
pip install torch==2.8.0 torchaudio==2.8.0
pip install omnivoice num2words
Sur Linux et Windows, ça devra se faire avec une carte NVIDIA (sous Windows, l'environnement s'active avec omnivoice-env\Scripts\activate) sauf que PyTorch doit venir de l'index CUDA, donc remplacez la deuxième ligne par celle-ci :
pip install torch==2.8.0+cu128 torchaudio==2.8.0+cu128 --extra-index-url https://download.pytorch.org/whl/cu128
Notez que sans carte graphique du tout, ça marche quand même. J'ai rejoué la même installation dans un conteneur Linux en processeur seul, elle passe sans rien changer... mais il m'a fallu cinq fois la durée de l'audio en temps de calcul.
Une fois installé, pour savoir que c'est en place, tapez omnivoice-infer --help et là, la liste des options doit s'afficher, sans la moindre erreur d'import. Le num2words de la troisième ligne, lui, ne sert qu'au chemin Python dont je parle plus bas, alors gardez-le sous le coude.
C'est l'étape que tout le monde bâcle et c'est pourtant celle qui est décisive pour avoir un bon résultat. Le projet recommande entre 3 et 10 secondes, pas plus car au-delà, ça ralentit le calcul et ça dégrade le clonage. Prenez donc un passage où vous parlez sans blanc, sans "euh", sans musique derrière, et découpez-le proprement comme ceci avec ffmpeg (ou autre logiciel de votre choix) :
ffmpeg -i mon-enregistrement.m4a -ss 12 -t 8 -ac 1 -ar 24000 moi.wav
La qualité de cet extrait est très importante donc si vous enregistrez votre voix, mettez bien le micro près de la bouche, dans une pièce sans écho, et évitez les MP3 récupéré à partir de YouTube .
Écrivez ensuite dans un fichier ce que dit exactement l'extrait, mot pour mot. Vous pouvez sauter cette étape (le modèle transcrit alors tout seul avec Whisper), sauf qu'il téléchargera 1,6 Go de plus pour ça et qu'il se plante parfois sur un nom propre, ce qui abîme le clonage.
Avant de taper quoi que ce soit, relisez bien votre texte et réécrivez les chiffres en toutes lettres. La ligne de commande n'a aucune option de normalisation, donc "2345" sortira n'importe comment alors que "deux mille trois cent quarante-cinq" se lit tout seul. C'est du côté Python que la normalisation se fait, avec normalize_text=True, la langue passée en language="fr" et le num2words de tout à l'heure... sans la langue, votre texte français part chez le normaliseur anglais qui réclamera même une lib sans version précompilée pour les Mac Apple Silicon.
Voici la commande complète :
omnivoice-infer --model k2-fsa/OmniVoice \
--text "Bonjour, ceci est un test de clonage de voix en français réalisé avec OmniVoice." \
--ref_audio moi.wav --ref_text "$(cat moi.txt)" \
--language fr --num_step 32 --output ma-voix.wav
Vous devez voir passer un "Saved to ma-voix.wav" au bout de quelques secondes. Sur mon M4 Max, j'ai compté 4 à 6 secondes de calcul pour 5,4 secondes d'audio, et moitié moins avec --num_step 16 au prix d'un peu de netteté. Au passage, le facteur 40 fois plus rapide que le temps réel qu'annonce le projet sur son site, ça a été mesuré sur un H100 avec des noyaux d'accélération maison, et pas sur un ordi de bureau...
Si la ligne de commande vous rebute, vous pouvez aussi passer par la commande : omnivoice-demo --ip 127.0.0.1 --port 8001 qui permet de faire la même chose mais dans le navigateur, avec le bouton d'import pour l'extrait et un menu déroulant pour la langue. Pensez juste à lancer export GRADIO_ANALYTICS_ENABLED=False avant, parce que l'interface web appelle les serveurs de Gradio au démarrage et qu'on n'a pas envie de leur filer nos data à ceux-là.
L'audio, lui, ne bouge pas de votre machine.
L'extrait de référence de 8 secondes chargé à gauche, la langue calée sur French, et la sortie de 5 secondes à droite une fois le clonage terminé.
Et si vous voulez vraiment débrancher la machine du réseau, faites-le dans le bon ordre, sinon la commande de génération part chercher les poids et se vautre sur un httpx.ConnectError suivi d'un LocalEntryNotFoundError. Récupérez donc le modèle d'abord, dans un dossier bien à vous :
hf download k2-fsa/OmniVoice --local-dir ~/omnivoice-modele
Ensuite vous coupez tout et vous passez ce dossier à --model à la place du nom du dépôt. Ça marche même sur une machine qui n'a jamais vu Internet, il suffit d'y copier le dossier. Et si vous préférez garder le cache par défaut, un export HF_HUB_OFFLINE=1 fait la même chose. J'ai rejoué la génération avec toutes les sorties réseau refusées par le système, le fichier sort quand même en 8 secondes... donc non, votre voix ne part chez personne.
Maintenant, une fois que c'est fait, écoutez le fichier avant d'en faire quoi que ce soit, parce que le modèle avale parfois des morceaux de phrase. Sur mes 24 générations de la même phrase, 5 ont perdu ou déformé un mot. C'était presque toujours le premier ou le dernier... et ce n'est pas une surprise, c'est un bug connu de l'outil. Faut donc relancer parfois plusieurs fois pour avoir un résultat OK.
Dernier truc pour ceux qui passeront par Python : la voix se sauvegarde une fois pour toutes. model.create_voice_clone_prompt() puis .save("ma_voix.pt") produisent un fichier minuscule que les sessions suivantes rechargeront sans repasser par l'extrait ni par la transcription. Regénérez alors une phrase avec, et comparez à l'oreille : si c'est bien la même voix, vous pouvez ranger le WAV de référence.
Voici l'extrait que j'ai généré avec ma voix. Ces 6 secondes d'audio ont pris 14 secondes à la génération sur mon Mac Studio :
Si vous faites faire le boulot par Claude Code, Codex ou n'importe quel agent IA, voilà le brief à lui donner tel quel. J'y ai mis les pièges qui m'ont coûté un peu de temps :
Alors le code d'OmniVoice est bien sous licence Apache 2.0, mais les poids du modèle, eux, sont sous CC-BY-NC à cause du corpus qui a servi à les entraîner. Cela veut dire que tout usage commercial est interdit. Donc si vous avez prévu un projet afin de gagner de l'argent, regardez plutôt du côté de Chatterbox , qui est sous licence MIT, qui parle également français et qui "tatoue" même ses sorties (vu que maintenant c'est obligatoire avec la loi IA).
Pour l'usage perso, en revanche, rien ne vous arrête, et le règlement européen sur l'IA exclut explicitement de son champ l'activité personnelle non professionnelle.
Ce qui est cool avec Omnivoice, c'est que ce clonage de votre voix se fait à 100% en local et c'est bien tout l'intérêt de la manœuvre ! Et si l'idée c'est plutôt de faire lire vos ebooks par la machine, je vous invite à jeter un œil à MLX-Audio côté Mac.
Source : OmniVoice sur GitHub

Nvidia PAIR is a free open-source tool that distributes local AI workloads across PCs and Macs, letting idle hardware help run multi-agent tasks.
The post Nvidia Launches Free PAIR Tool to Share AI Workloads Across PCs and Macs appeared first on TechRepublic.


Apple’s new Mac Studio pairs M5 Max and M5 Ultra chips with up to 512GB of unified memory, targeting demanding local AI and creative workloads.
The post Mac Studio 2026: Apple Goes All In on Local AI With M5 Ultra appeared first on TechRepublic.
Apple may soon launch a new Mac mini with M5 Pro and M6 chips as local AI demand grows. Here’s what buyers should know before upgrading.
The post New Mac Mini Could Arrive Soon: What Apple May Be Planning appeared first on TechRepublic.
Faire tourner un modèle en local sur un Mac, c'est réglé depuis un moment. Ce qui l'est moins par contre, c'est de brancher un agent de code dessus, parce qu'à chaque reprise de session, le serveur doit malheureusement remouliner des dizaines de milliers de tokens de contexte avant de sortir le premier mot...
Ce calcul, ça s'appelle le cache KV, et la plupart des serveurs le gardent en mémoire. Du coup, quand le modèle se décharge, le cache part avec dans le grand vide...
C'est pourquoi oMLX a pris le parti d'écrire ce cache sur le disque, au format safetensors, car le contexte déjà envoyé une fois, prompt système et fichiers lus compris, se recharge depuis le SSD au lieu d'être recalculé, y compris après un redémarrage du serveur.
De son côté, LM Studio conserve lui aussi son cache MLX sur disque , mais dans un fichier temporaire qu'il efface quand le modèle se décharge. Les deux outils écrivent sur le disque, mais un seul conserve réellement son cache.
Côté raccordement, le serveur oMLX expose l'API OpenAI et l'API Anthropic ce qui permet par exemple à Claude Code de taper directement sur localhost. Et y'a même un tableau de bord qui nous dit quoi faire dans le terminal pour brancher Claude Code ou d'autres avec oMLX.
Sur oMLX, le cache disque est donc actif d'office et son plafond par défaut, parce qu'il en faut bien un, se calcule à 10 % de la capacité du disque qui l'héberge. Sur un SSD d'un téraoctet par exemple, ça fait cent gigaoctets qui peuvent partir en cache sans que personne n'ait rien demandé. Donc prévoyez un peu de place... Après rassurez-vous, ça se vide d'un clic sur un bouton dans le tableau de bord et la taille peut se régler.
Le deuxième piège est plus sournois puisqu'une installation par défaut via pip ne compile pas les kernels Metal, et les modèles GLM-5.2, MiniMax M3 et Qwen3.5 retombent alors sans prévenir sur un chemin générique... Donc je vous incite fortement à utiliser uniquement les DMG proposés qui contiennent déjà les kernels Metal compilés comme il faut.
Reste à savoir ce que ça donne vraiment dans un usage quotidien... Le cache attaque l'attente avant le premier mot mais pas la vitesse à laquelle les mots sortent ensuite donc tout dépend du modèle et de la machine que vous avez. Mais en tout cas, pour un usage avec des agents (coding par exemple), ce sera plus efficace d'utiliser oMLX que Ollama ou LMStudio.
Source : omlx.ai
![]()
![]()
Je viens d'apprendre qu'une carte Nvidia normalement dédiée au minage de cryptomonnaies, vendue avec 8 Go de mémoire en expose aujourd'hui 64 Go, sans que rien n'ait été remplacé ou soudé dessus... C'est ça la magie de Nvidia, la mémoire était bien là depuis le début, mais était juste maintenue en sommeil par le firmware.
Cette carte, la CMP 170HX est sortie il y a 5 ans pour miner de l'Ethereum. Elle est bâtie sur le GA100, le même silicium 7 nm que l'accélérateur A100 que Nvidia vend aujourd'hui autour de 3 500 dollars en version 40 Go. Et la mémoire HBM2e qu'on y trouve est physiquement présente sur la carte, quoi qu'affiche la fiche technique. Alors certes, débrider une carte Nvidia par logiciel n'a rien de neuf puisqu'on transformait déjà des GeForce en Quadro en 2013.
Mais cette fois, le déverrouillage exploite un bug de chargement de signature dans le BootROM du Falcon, le microcontrôleur de sécurité qui garde le démarrage de la puce. Et ce dernier se fait grâce à un outil nommé cmpunlocker , publié sous licence GPL.
Si vous voulez vous lancer, il vous faudra du Linux x86-64, un accès root et le pilote libre nvidia-open en version 610.43.0x. Votre carte 8 Go passera ainsi à 64 Go, une carte 10 Go à 40 Go, et les unités de calcul bridées reviendront naturellement avec. Et surtout, ce patch survit au redémarrage !
Le PCIe, lui, ne se déverrouille qu'à moitié. Passer de Gen1 à Gen2 est logiciel, mais la largeur reste coincée à quatre lignes parce que Nvidia a laissé 24 condensateurs de couplage vides sur le circuit imprimé. Aller au-delà du x4 veut donc dire les souder à la main et ça c'est pas donné à tout le monde.
Reste que ça donne environ 1 Go/s vers la carte. À titre d'exemple, un utilisateur du forum développeurs de Nvidia a réussi à charger un modèle 70B quantifié en une quarantaine de secondes, contre une dizaine avec la modification matérielle et le Gen2 x16. Pour de l'inférence sur une seule carte, ce goulot ne se paie donc qu'au chargement.
Le même utilisateur mesure un taux de 27,3 tokens par seconde en décodage sur un modèle Qwen2.5-72B, pour 150 à 180 watts, et explique que lors de ses tests, le GPU a réclamé un reset autour de 95% d'occupation mémoire, sur de très grandes fenêtres de contexte. Rien de gênant donc. Deux réserves par contre, et elles ne sont pas décoratives.... La première c'est que l' ECC figure toujours dans la liste des problèmes non résolus du projet, avec le NVLink et le PCIe Gen4, alors que c'est précisément le mécanisme qui pourrait nous dire si la mémoire déverrouillée tient dans la durée. Et la seconde, c'est que le palier des 80 Go a été testé, mais rejeté car instable.
Sur la question qui fâche maintenant, à savoir celle du silicium mis au rebut qui serait bridé car défectueux, ValdikSS, dans un fil sur Hacker News , écrit n'avoir trouvé jusqu'ici aucune carte dont la RAM soit réellement défectueuse. Le bridage ressemble donc à de la segmentation commerciale plus qu'à du recyclage de puces ratées, mais pour le moment, personne n'a fait tourner ces 64 Go assez longtemps pour le prouver.
Reste le prix... La 170HX se trouvait peu de temps avant ça, autour de 250 dollars sur eBay mais depuis que l'exploit circule, elle dépasse les 1 000 $... Bref, le verrou a sauté, et le prix est en train d'exploser !
Source : Tom's Hardware

Apple Maps ads are now available to eligible businesses in the US and Canada. Learn where they appear, who qualifies, and how campaigns and credits work.
The post Apple Maps Ads Launch in the US and Canada: What Businesses Need to Know appeared first on TechRepublic.
Si vous avez eu une boîte à goûter M.A.S.K. dans les années 80 pour transporter vos BN, alors celle de RadioactiveArtist va vous plaire. Dans sa boite à goûter, pas de Princes ni de Balisto... lui, il embarque un Raspberry Pi 5, un écran tactile de 7 pouces et une IA qui tourne sans internet.
Le clin d'œil est calculé puisque M.A.S.K., c'était ce dessin animé de 85-86 dont les objets du quotidien planquaient tous une seconde vie. Fermé, l'engin reste donc une boîte à goûter d'époque. Mais ouverte, elle devient un cyberdeck complet, avec clavier et enceintes noyés dans la partie basse + un écran qui se redresse sur sa propre charnière.
Un cyberdeck, pour ceux qui débarquent des âges farouches (vous l'avez ?), c'est un ordinateur portable assemblé à la main dans un boîtier détourné, fait pour être réparé et modifié plutôt qu'acheté.
Dedans, y'a donc un Pi 5 avec 16 Go de RAM et une microSD de 128 Go. L'alimentation passe par un HAT UPS Geekworm, la carte d'onduleur qui se clipse sur le Pi, nourrie par 4 accus 18650. En façade, des lecteurs de cartes, des ports USB 3 et un jack casque, plus un hub audio USB Waveshare qui pilote les enceintes. Par contre, on ne sait rien de son autonomie...
L'Ethernet a été une vraie plaie apparemment puisqu'aucun adaptateur du marché ne rentrait dans l'espace disponible. Il a donc poncé à fond un connecteur RJ45 nu jusqu'à ce qu'il clipse dans le port. Les charnières, elles, se sont révélées bien plus dures que prévu, et les pattes du circuit imprimé de l'écran n'étaient pas faites pour encaisser cette tension. Une plaque ABS récupérée sur une vieille caisse de transport a réglé le problème.
Et la boîte ressort intacte !
Puis je sais pas si vous avez vu dans la vidéo, mais il y a aussi un LLM là-dedans. Un modèle de 3 milliards de paramètres via Ollama, qui répond sans la moindre connexion. L'écran de boot, l'écran de login et les icônes maison, eux, ont été codés avec Claude Code, qu'il a installé sur la machine le temps de la configuration.
Si le format vous parle, le Hackberry Pi CM5 dont je vous ai parlé joue dans la même cour, et les cyberdecks faits maison ont droit à leur guide sur le site.
Bref, à moitié jouet, à moitié machine de terrain, et zéro trou dans la boîte ça, c'est du respect pour l'objet !!


Odysseus, c'est le workspace IA que PewDiePie a balancé sur GitHub fin mai. Chat, agents, recherche web, email, calendrier, notes et documents, tout est réuni dans un superbe cockpit auto-hébergé dans lequel les modèles et l'historique peuvent rester sur VOTRE machine. Vous avez aussi un éditeur Markdown avec historique de versions, une génération d'images intégrée, et un mode Compare pour opposer deux modèles côte à côte en aveugle (exclusion faite des services tiers liés à la recherche web, l'email et le calendrier, évidemment...).
J'ai voulu l'installer sur mon Mac, mais j'ai quand même rencontré un petit piège qui a failli transformer l'expérience en échec... Voici donc comment le faire tourner correctement sous Mac + quelques idées de ce que vous allez pouvoir faire avec ce truc.
Odysseus évolue vite. La branche main est stable et testée, mais la branche dev peut casser n'importe quand. Privilégiez la branche stable en la clonant explicitement :
git clone https://github.com/odysseus-dev/odysseus.git
cd odysseus
git checkout main
Sur Apple Silicon, Docker ne peut pas accéder au GPU Metal. Les modèles tournent sur le CPU, et ça rame comme pas permis. Du coup, sur Mac, on est obligé d'installer ça en natif.
Ouvrez un terminal et lancez ça :
git clone https://github.com/odysseus-dev/odysseus.git
cd odysseus
./start-macos.sh
Le script installe alors les dépendances et démarre le serveur. Sur mon Mac, AirPlay squattait le port 7000, donc l'interface s'est ouverte automatiquement sur http://127.0.0.1:7860. Ensuite, au premier lancement, il faut renseigner un nouveau mot de passe pour le compte admin.
Si vous accédez à Odysseus depuis une autre machine (VPS ou serveur distant), ouvrez un tunnel SSH plutôt que d'exposer le port directement sur Internet :
ssh -L 7860:127.0.0.1:7860 user@votre-serveur.com
Ensuite, accédez simplement à http://127.0.0.1:7860 en local. C'est plus sécurisé que d'ouvrir le port sur le public.
Pour du rapidos sans que ça devienne stupidos, j'ai choisi pour mes tests Qwen3-30B-A3B. Ce modèle n'active qu'une partie de ses paramètres à chaque réponse, ce qui colle bien à la RAM unifiée d'un gros Mac.
La première fonctionnalité assez cool dans cet outil, c'est le Cookbook qui permet de télécharger des modèles adaptés à notre config. Ce dernier a correctement reconnu mon M4 Max et ses 128 Go mais s'est ensuite planté comme une merde sur llama.cpp avec cette option --flash-attn auto invalide. Après avoir retiré le paramètre, le serveur restait aux abonnés absents tandis que l'interface l'affichait toujours comme actif. Bref, j'ai laissé tombé llama.cpp.
Le Cookbook reconnaît bien le M4 Max et propose des modèles adaptés. Le lancement, lui, a planté.
L'autre option qui s'est offerte à moi, ça a été Ollama ( je vous ai montré comment l'installer par ici ). Vous récupérez le modèle qui vous intéresse avec et vous lancez le serveur ouvert sur le réseau local :
ollama pull qwen3:30b-a3b
OLLAMA_HOST=0.0.0.0:11434 ollama serve
Dans les réglages d'Odysseus, ajoutez ensuite http://localhost:11434/v1. Et hop, ça fonctionne !! La version 1.0.2 propose aussi maintenant MLX dans le Cookbook, mais Ollama reste le chemin qui a vraiment tenu bon durant mes tests. Vous aurez peut-être plus de chances que moi.
L'ajout manuel de l'endpoint Ollama a été le chemin le plus fiable.
Bonus : Si vous n'avez pas de GPU ou que vous préférez la fiabilité, vous pouvez aussi connecter une API externe comme OpenAI ou OpenRouter. Dans les réglages, ajoutez simplement votre clé API et Odysseus basculera sur ces modèles cloud. C'est moins gratuit que du local, mais ça marche sans galère.
Alors, cet outil fait plein de choses et on peut l'utiliser vraiment pour ce qu'on veut, mais pour ma part, je vous ai isolé trois cas d'usage compatibles avec mon activité.
Premier scénario, la tournée de veille du matin. Je lui donne les liens reçus durant la nuit, il les classe par sujet, repère les doublons et propose trois angles courts. Je garde les sources dans un document local, avec les objections et les points à vérifier. Et comme vous l'avez vu sur mes captures d'écran, le chat sait déjà faire du brainstorming puisqu'il m'a sorti trois angles exploitables en quelques secondes...
Trois angles d'articles en 29 secondes, avec un brouillon versionné ouvert à droite.
Deuxième scénario, un dossier par article. J'y range le brief, les liens primaires, les citations, les captures et les versions du texte. L'éditeur Markdown récupère le titre depuis le premier H1 et conserve l'historique. Avec deux modèles configurés, le mode Compare permet d'opposer deux intros ou deux plans côte à côte sans envoyer le brouillon chez un fournisseur.
Troisième scénario, le secrétaire de rédaction local. Il surveillerait une boîte dédiée aux alertes de sécurité, préparerait la liste des sujets urgents et poserait des rappels dans le calendrier. Sur le papier, c'est exactement le type de corvées chiantes qu'un agent devrait pouvoir absorber mais en pratique, jamais de la vie, je ne lui laisse faire des actions automatiques comme envoyer des mails, ou gérer mon calendrier. Pour moi, c'est pas encore assez safe.
J'ai demandé à l'agent de retrouver un document et de le résumer. Il a dépensé près de 1 800 jetons à deviner comment appeler manage_documents, sans jamais lancer l'outil de recherche. De son côté, le calendrier a terminé sur un Could not extract JSON puis la recherche web a trouvé le bon dépôt GitHub, mais le modèle en a choisi un faux.
Le pompon, c'est la fonctionnalité Deep Research. Après 4 minutes de boulot, ça m'a généré 13 pages issues de 6 sources retenues. L'outil a donné la bonne conclusion au document, mais ensuite, a totalement inventé une vidéo, un numéro de marque et plusieurs statistiques. Donc pour l'utiliser dans un cadre journalistique, sans contre-vérification intégrale, ça ne sera pas possible.
Le rapport affirme que le site est vide alors qu'il contient un guide complet. Jolie hallucination, présentée comme une preuve.
Bon, je suis content de l'avoir testé mais Odysseus ressemble encore à un super cockpit dont plusieurs boutons ne sont pas encore reliés au moteur. Le chat via Ollama et les documents sont utilisables, mais le Cookbook, les agents, le calendrier et la recherche factuelle restent trop fragiles. Mais attention, n'allez pas croire que je critique le travail de PewDiePie, car le projet est encore très jeune, donc tous ces petits défauts sont normaux. Le potentiel d'Odysseus est énorme, mais pour le moment, je ne suis pas prêt de lui confier la gestion de mes sources, ou la rédaction d'un brouillon d'article sans perdre des heures à tout vérifier.
Voilà, le code est sur GitHub sous licence AGPL . Je vous laisse découvrir ça !
Merci à Remouk pour le partage et pour finir, je vous laisse avec cette vidéo de Renaud Dékode qui a aussi testé Odysseus :

Cisco’s new Antares models help security teams narrow vulnerable code searches locally, but low benchmark scores expose important adoption limits.
The post Cisco Antares Models Bring Local AI to Vulnerability Triage appeared first on TechRepublic.
bHive, c'est une app Mac qui lit l'intérieur de vos fichiers au lieu de se contenter de leur nom, et qui sait maintenant répondre à des questions dessus. Vous lui demandez "qu'est-ce que dit mon bail sur la résiliation anticipée ?", elle va fouiller vos PDF et vous sortir la réponse en clair, tout ça en local sur votre machine, sans rien envoyer nulle part.
Vous pointez bHive vers des dossiers que vous avez déjà, et elle lit ce qu'il y a dedans. Vos documents, les PDF, les images dont elle fait l'OCR, et depuis la 2.0 l'audio et la vidéo, transcrits directement sur le Mac. Ensuite vous cherchez en décrivant ce que vous voulez, plutôt qu'en essayant de vous souvenir du nom que vous aviez collé au fichier. Rien ne bouge, rien n'est copié dans une bibliothèque, vos fichiers restent exactement où ils sont, ils sont tout simplement indexés dans un RAG.
La vraie nouveauté de cette version, c'est "Ask bHive". Vous posez une question, l'app trouve les fichiers concernés, les lit, et vous répond en langage clair. Elle vous montre alors quels fichiers elle a utilisés, donc vous pouvez les ouvrir et vérifier vous-même et surtout, quand elle ne sait pas, elle le dit, au lieu d'inventer un truc qui sonne juste. Ça paraît con dit comme ça, mais c'est avec ça que la plupart des assistants IA vous plantent.
Bon, moi, je n'en ai pas vraiment besoin de cet outil parce que j'ai mis en place mes propres RAG, mais je me dis que si j'avais trouvé ça avant, je ne me serais pas fait chier.
Côté moteur, tout tourne en local, et le modèle intégré à macOS marche tout de suite, donc vous n'avez rien à télécharger. Si vous voulez de la recherche plus fine, il y a bien sûr un modèle plus costaud à récupérer, de 515 Mo.
Il y a aussi une vue "santé de la bibliothèque", histoire que vous sachiez ce qui n'est pas cherchable et pourquoi. Fichiers déplacés, disque externe débranché, format illisible, OCR raté, éléments encore dans la file d'attente. En gros, un tableau de bord de confiance au lieu de vous laisser deviner si la recherche couvre vraiment tout. Vous pouvez aussi sauvegarder vos collections, tags et notes dans un fichier pour les restaurer plus tard.
Je vous avais déjà parlé de Cardinal , qui rend la recherche de fichiers instantanée sur Mac sauf que Cardinal cherche par nom, là où bHive lit ce qu'il y a à l'intérieur et sait vous répondre avec beaucoup plus de richesse. On est une gamme au-dessus selon moi.
Après, bHive 2.0 réclame macOS 26 et une puce Apple Silicon donc si vous êtes resté sur macOS 15 comme un homme de cro-magnon, vous devrez rester sur la vieille version 1.3.1 qui continue de tourner, mais sans toutes ces nouveautés... sniiif.
Voilà, c'est gratuit, et ça respecte vos données puisque tout reste en local.

Balaji Bikshandi avait un rêve ! Il voulait booter sa machine directement sur un LLM sans avoir à passer par le moindre environnement de bureau ! Et il y est parvenu avec son outil BMASS , qui s'installe sur une clé USB de 8 Go, et qui embarque Alpine Linux, llama.cpp et un modèle Qwen3 0.6B évidemment quantisé.
Vous allumez l'ordi portable, Alpine démarre depuis la clé et vous tombez sur un prompt BMASS>. Et voilà à partir de là, vous pouvez causer à votre ordinateur en langage naturel. Ensuite, quand vous demandez à BMASS de faire des trucs, celui-ci injecte la commande qui va bien dans une balise
Operator: Which operating system is this?
Assistant: <shell>cat /etc/os-release</shell>
Tout le code de BMASS tient en 399 lignes de Python, et nécessite de faire tourner un llama-server en background sur le port 8080 avec 2048 tokens de contexte et 2 threads. Et ensuite lui fait le pont entre le modèle et le shell. Y'a rien de sorcier donc mais comme ça tourne sur du CPU, que c'est hors-ligne, et que ça peut se mettre sur des vieilles machines, c'est plutôt cool...
Voilà je vous laisse avec la vidéo que Balaji a filmée, ça montre le démarrage complet de son IA bootable :
Ah et petite subtilité qui va vous plaire, le code de BMASS contient une regex baptisée FALSE_EXECUTION_CLAIM dont le boulot est de détecter quand le modèle prétend avoir exécuté une commande alors qu'il n'a rien lancé du tout. Le runtime lui renvoie alors une correction pour lui dire qu'aucune commande n'a été exécutée lors de ce tour. Faut dire que la 0.6B de Qwen hallucine tellement parfois, qu'il lui fallait obligatoirement un garde-fou.
Donc, voilà, côté sécu c'est super léger... y'a juste une regex qui bloque les sudo, doas, pkexec et autres su, mais c'est tout. Pas de conteneur, encore moins de namespace et surtout pas de liste blanche, donc si vous vous lancez, ce sera à déployer uniquement pour rigoler sur une vieille machine sans importance, parce que si demain, le modèle décide de lancer un rm -rf, faudra pas venir chialer ^^.
Petit service au passage si vous voulez tester, la doc d'installation vous fait copier le prompt système dans /opt/bmass/config/system-prompt.txt, sauf que le launcher le cherche dans /opt/bmass/system-prompt.txt.
Dans le genre modèle local qui tient dans presque rien, j'en ai parlé avec Llamafile qui fait tourner un LLM depuis un fichier unique. Et si les bidouilles minimalistes vous amusent, il y a aussi ce mini-PC Linux piloté entièrement en morse .
Perso, je doute que ça serve à grand-chose. Mais le concept est marrant !

Si vous cherchez un logiciel de dictée vocale sérieux sur Mac, vous avez sûrement remarqué que le marché ressemble à un désert. Nuance a débranché Dragon pour Mac en octobre 2018, la dictée intégrée de macOS dépanne pour 2 SMS mais s'essouffle sur un vrai document, et la plupart des services actuels envoient votre voix mouliner sur un serveur à l'autre bout du monde. Et quand vous êtes avocat, médecin, journaliste ou juste quelqu'un qui dicte des trucs confidentiels, bah ça pique un peu.
Alors comme vous le savez, j'ai fini par coder ma propre solution, et bonne nouvelle, Kassis débarque aujourd'hui sur le Mac App Store ! Jusqu'ici, mon app de saisie vocale était réservée à mes abonnés Patreon (je vous en parlais ici à sa sortie), mais vous pouvez maintenant l'installer en 2 clics et la tester gratuitement, sans compte, sans carte bleue.
Le principe reste le même : vous laissez le doigt appuyé sur un raccourci clavier (⌥ + Espace par défaut), vous parlez, vous relâchez, et hop, le texte atterrit pile là où se balade votre curseur. Dans Mail, Slack, Word, votre terminal ou n'importe quelle autre app macOS. Moi, je m'en sers vachement pour discuter avec Claude Code, notamment. Ça fait gagner un temps de dingue et surtout votre voix ne quittera jamais votre Mac. Puis une fois les modèles téléchargés, ça pourra même marcher sans connexion.
Je l'ai pensé pour un usage professionnel, donc que ce soit le secret médical, les dossiers clients, les sources d'une enquête journalistique... Absolument rien ne part dans le cloud. Et contrairement à d'autres solutions, il n'y a même pas besoin de vous créer un compte.
Côté moteurs, vous avez le choix entre 5 modèles de reconnaissance vocale. Tout d'abord, Parakeet qui est ultra rapide et qui est mon préféré au quotidien. Mais également Whisper d'OpenAI, un classique un peu plus costaud, mais très fiable. Et puis des modèles un peu plus confidentiels comme Canary de Nvidia (le grand frère de Parakeet) ou encore Cohere qui est vachement précis. Sans oublier le moteur d'Apple intégré à macOS 26 qui utilise le Neural Engine pour retranscrire votre voix instantanément !
La détection de langue est également automatique parmi 99 langues, donc vous dictez par exemple en français, en anglais ou en japonais sans avoir à toucher un réglage.
Et Kassis ne fait pas que de la dictée ! L'outil sait également faire de la transcription audio en texte à partir d'un fichier audio ou vidéo que vous glissez-déposez sur la fenêtre. Avec ça, il vous ressortira en texte dans le presse-papier tout ce qui a été dit dans le son ou la vidéo, avec l'identification des locuteurs (qui parle et quand). C'est super pratique pour les réunions enregistrées, les interviews, les podcasts, les mémos vocaux ou encore les rushs vidéo.
Le texte qui sort est nickel, et vous pouvez le coller tel quel. Les "euh" et les hésitations dégagent tout seuls, la ponctuation et les majuscules tombent où il faut (typographie française comprise, avec ses espaces avant les points d'interrogation), et y'a même un dictionnaire de substitutions qui apprend vos termes techniques, vos noms propres et vos abréviations. Et les noms de marque que les moteurs massacrent d'habitude ? Une correction phonétique optionnelle se charge de les rattraper.
Et le texte transcrit, vous pouvez également le retravailler en local à l'aide de 7 styles de reformulation (professionnel, concis, structuré, décontracté...), ou une traduction dans 13 langues, toujours sans cloud. Genre vous marmonnez votre brouillon en français, vous relâchez la touche, et c'est un email propre en anglais prêt à partir.
Perso, je m'en sers tous les jours pour dicter mes emails, mes articles et mes prompts, et visiblement je ne suis pas le seul accro, puisque la version 1.1 doit également beaucoup aux retours des utilisateurs de la première heure. Par contre, les possesseurs de vieux Mac Intel, désolé, c'est mort... il vous faudra une puce Silicon.
Côté tarifs, la version gratuite offre donc 2 000 mots pour vous faire une idée et Kassis Pro passe en illimité pour 7,99 € par mois ou 49,99 € par an, avec 7 jours d'essai gratuit sur la formule annuelle. Les allergiques à l'abonnement ont également le choix d'opter pour une licence à vie à 129,99 €, et mes soutiens Patreon gardent leur accès direct, comme avant. L'app est dispo sur l'App Store du monde entier, avec une fiche traduite en 15 langues (même en japonais, 音声入力 !).
Bref, si votre Mac vous sert à écrire, foncez essayer Kassis sur le Mac App Store , la version gratuite suffit pour vous faire une idée.
Kassis fait partie des nombreux logiciels que je développe sous le nom Korben et que vous pouvez tous retrouver sur ma page Korben Logiciels .

Frank Denis , c'est le monsieur qui fait tourner un bon morceau d'Internet sans que personne le sache : libsodium, dnscrypt-proxy, Pure-FTPd, c'est lui. Et dernièrement, il s'est attaqué aux agents de codage IA avec Swival , un outil pensé pour les petits modèles qui tournent en local sur votre machine.
Le truc de Frank c'est d'écrire du logiciel réputé incassable depuis 25 ans. Si vous chiffrez vos requêtes DNS, y'a des chances que ça passe par son dnscrypt-proxy , et si vous utilisez du chiffrement dans à peu près n'importe quelle app moderne, libsodium n'est jamais bien loin. Du coup, quand ce profil-là sort un agent de codage en Python, licence MIT, gratuit, je pense que ça vaut le coup de s'y arrêter 2 minutes.
Il a codé cela parce que les outils d'agentique existants l'ont sérieusement gonflé. C'est beau, c'est neuf, c'est lavé avec Mir Laine mais.... ça plante !! Et l'autre reproche qu'il leur fait c'est concernant la confidentialité. En effet, utiliser un agent, c'est forcément voir partir on ne sait où nos données personnelles... nos clés API, nos URLs internes, nos noms de projets... tout ça est allègrement bouffé par le fournisseur de modèle qui derrière s'en sert pour tout un tas de choses pas cool. C'est notamment pour cela que Swival embarque une option --encrypt-secrets qui détecte les credentials dans les messages et les chiffre avant qu'ils quittent votre machine. Une denrée rare chez les agents de codage, et ça c'est du pur Frank Denis !
Y'a aussi la gestion du contexte, qui est le gros morceau. Les agents classiques sont conçus pour des modèles frontière avec des fenêtres géantes. Sauf que votre LLM local, lui, doit souvent se débrouiller avec 32K de contexte, et là tout déborde très vite. Swival, lui, prend le truc à l'envers. Chaque sortie d'outil est plafonnée direct à la source : 50 Ko max par fichier lu, 100 résultats de grep, 100 entrées par listing. Et une fois que l'agent a fini de fouiller votre code, un système de snapshots vire ses 12 000 tokens de lectures pour les remplacer par un résumé de 200 tokens.
Et c'est pas fini. Rajoutez là-dessus une compaction automatique en 7 niveaux progressifs (du simple ménage au grand débarras), plus des notes de travail qui survivent à tout ça. Résultat, un agent qui tient des sessions à rallonge sans partir en vrille. La doc montre d'ailleurs Swival en train d'avaler une refactorisation multi-fichiers avec Qwen3-Coder-Next dans 32K sous LM Studio sans broncher...
Et pour brancher tout ça, vous avez le choix. 11 backends quand même ! LM Studio par défaut (zéro config, il repère tout seul votre modèle chargé), llama.cpp pareil, HuggingFace, OpenRouter, Google Gemini et Vertex AI. Envie de lourd ? ChatGPT Plus ou AWS Bedrock. Et pour les curieux, les Apple Foundation Models en expérimental, un provider générique compatible OpenAI (ollama, vLLM, mlx_lm.server...) et même une commande externe de votre choix.
Pour trouver un modèle qui tienne dans votre RAM, Hugging Face sait filtrer selon votre matos et une fois que vous avez fait votre choix, l'installation tient en une ligne (via uv, Python 3.13 minimum) :
uv tool install swival
Ensuite, il suffit de taper, par exemple : "Refactore la gestion d'erreurs de src/api.py" et l'agent se met au travail pour peu que vous ayez déjà un LMStudio ou un llama.cpp qui tourne avec un modèle chargé...
Ah j'oubliais, si vous êtes sous Mac vous pouvez même l'installer avec Homebrew :
brew install swival/tap/swival
Ensuite, au niveau des commandes, il y a aussi, par exemple, une commande /audit qui vous permet de faire de la chasse aux failles de sécurité dans votre code. Tout cela avec des agents isolés chacun dans des worktrees séparés et qui sont obligés de reproduire chaque bug avant de l'inscrire dans le rapport.
Et côté sécurité, vous avez deux sandboxes au choix. Soit Agent FS d'un côté (l'agent bosse sur une copie de vos fichiers, votre projet reste intact) ou nono (non, pas le petit robot) de l'autre (avec barrières au niveau du noyau, blocage réseau compris). Sans oublier la mémoire persistante entre vos sessions, le support MCP et un mode serveur pour interconnecter vos agents entre eux.
Voilà donc de quoi venir jouer dans la cour de ZCode côté z.ai et compagnie...
Voilà, je me suis dit que ça allait vous intéresser, donc si vous voulez zieuter le code, direction GitHub , sinon, toute la doc se trouve sur le site officiel .
Merci Friendly_0day pour le lien !

Simon Willison, le créateur de Datasette et co-créateur de Django, vient de porter un modèle d'inpainting d'image directement dans le navigateur. Sa démo vous permet de choisir une photo, de peindre sur la zone à faire disparaître et ensuite le modèle IA reconstitue ce qu'il manque. Et ce qui est merveilleux avec cette appli c'est que tout tourne sur votre carte graphique en local, comme ça vos données restent chez vous.
Le modèle s'appelle Moebius, dispose de 0,22 milliard de paramètres, et a été développé par une équipe de l'université Huazhong en Chine. À l'origine c'est un modèle PyTorch, que Willison a converti au format ONNX pour le faire tourner via ONNX Runtime Web sur le backend WebGPU, une nouvelle API qui donne aux pages web un accès direct au GPU. Et ce qu'on obtient, c'est un modèle de diffusion qui s'exécute à 100% côté client dans Chrome ou Safari.
Lors de la première utilisation, l'outil télécharge 1,27 Go de poids depuis Hugging Face, ce qui est énorme pour une page web. Mais c'est un one-shot car ensuite, le navigateur range tout ça dans son Cache Storage, et les fois d'après il ne re-télécharge rien.
Je l'ai installé et testé et ça fonctionne vraiment très très bien. J'ai sélectionné quelques tuiles comme un bourrin et ça me les a enlevées très proprement en quelques dizaines de secondes (une fois le modèle initial téléchargé évidemment).
C'est du vrai inpainting génératif en tout cas et pas un truc qui recopie les pixels d'à côté.
Willison raconte dans le README que la conversion PyTorch vers ONNX et l'appli web complète ont été réalisées par Claude Code avec le modèle Claude Opus 4.8, et qu'il n'a "*pas regardé une seule ligne de code *". Il s'est juste contenté de tester dans le navigateur et de signaler ce qui clochait. Hé ouais c'est comme ça maintenant, les temps changent ;)
C'est open source sous licence Apache 2.0, la démo est en ligne, et le code est sur GitHub si vous voulez le lancer chez vous. Testez, et effacez ce gars avec son coup de soleil sur le crâne qui gâche votre plus belle photo de vacances, je ne vous juge pas ^^.
Source : Hackaday

We work with partners globally to promote AI literacy through Experience AI, our programme created in collaboration with Google DeepMind. With resources available in 19+ languages and a network of partners in over 38 countries, a key part of our work is translating and localising our materials so as many young people around the world as possible build the confidence to engage with AI critically and responsibly.

But localisation introduces a unique hurdle: sometimes, languages are divided into ‘small languages’ and ‘big languages’.
As a speaker of Croatian, a ‘small language’, I think about this divide often. What makes a language small? A small language has a small number of speakers and is usually not considered a key market. Practically, this means resources for translation are often directed towards ‘big languages’. This makes sense from an impact perspective: translating into languages with more speakers maximises reach.
That is why, as a localisation coordinator at the Foundation, I am delighted that we partnered with Croatian organisation Suradnici u učenju to ensure that for Experience AI, Croatian is not treated as a small language — it is simply a language.
But translating into Croatian can present hurdles. When I got my first computer in Croatia, the user interface was in English. As a result, I never learned how to say “copy/paste” in Croatian. Those types of menus and tools had simply not been translated yet when I lived there. This happens a lot, especially with software and fast-emerging technologies like AI. Native speakers have no other choice but to use English words: the English words enter the language, and sometimes they stay.
As a result, translating key Experience AI terms into Croatian wasn’t easy. Even terms like ‘AI’ went through several rounds of discussion. Should we use the English ‘AI’ (artificial intelligence) or the Croatian ‘UI’ (umjetna inteligencija)? How should we pronounce ‘AI’ or ‘UI’ in spoken language?

Sometimes, it can be hard to know what the right thing to do is. While the English terms have been normalised, the Croatian word can seem foreign and out of place. When making a decision about how we translate terms for Experience AI resources, we also have to think about fairness and accessibility. Is it fair to assume that all young people and educators understand English words? If we assume incorrectly, we are preventing some learners from fully accessing and understanding our materials.
That’s why our in-country partners are a big part of our translation process. When we aren’t sure about whether we are making the right choice for educators and learners, we can rely on their expertise. They are not only native speakers, but also subject matter experts. For Croatian specifically, Suradnici u učenju did a very thorough review of the translation.
Beyond AI terminology, localisation also meant aligning resources with the terminology and conventions already used in Croatian schools and curricula. This ensured that the resources felt familiar to teachers and reflected the language they already use in classrooms, textbooks, and educational guidance.

As Lidija Kralj, from Suradnici u učenju explained:
“It was very important that an Informatics subject expert worked together with a Croatian language expert, and that both of us are teachers. We discussed whether to use the English abbreviation ‘AI’ or the Croatian ‘UI’, and ultimately felt it was our responsibility as educators to use Croatian terms where they already exist. We also wanted to be consistent with terminology that teachers already know from textbooks and the Croatian education system.
This combination — a subject expert, a language expert, and a Raspberry Pi Foundation localisation expert who understands our language — helped us create resources that feel natural and ready for classroom use. The response from participants in our first Experience AI course in Croatian has already shown us how much teachers value having fully localised materials.”

We opted for the approach where, if a Croatian word exists, we will use the Croatian word. Personally, I enjoyed seeing words like ‘offline activity’ slowly disappear from our resources and get replaced with Croatian words like “aktivnost bez računala” (activity without a computer).
As a result, the Croatian translation of our resources now flows very naturally, is accessible, and doesn’t read like a translation. You can check out our Croatian resources online.
We work with partners worldwide to bring AI literacy education to millions of young people. Discover all Experience AI partners here.
And to learn more about our resources and to see what other languages we translate into, check out the Experience AI website.
The post Empowering global AI literacy: Translating Experience AI resources into Croatian appeared first on Raspberry Pi Foundation.




Ce serait marrant de détecter quelqu'un dans une pièce voisine, sans utiliser de caméra ou de capteur infrarouge. En fait, c'est possible avec juste du Wifi et c'est ce que nous prouve Talking Sasquach qui vient de se bricoler un petit boitier capable de faire ça.
Je vous rassure, l'idée n'a rien de neuf. Notre corps est plein d'eau, et l'eau ça renvoie et ça absorbe les ondes radio. Du coup, dès que vous bougez un peu votre popotin, bah ça perturbe les signaux Wi-Fi qui traversent la pièce.
Et si vous êtes trop gros, PAF vous passez en zone blanche ! (et pas en sauce blanche !)
Non, ça je l'ai inventé, vous pouvez vous détendre. Mais pour le reste, j'en parlais déjà en 2009 , avec des chercheurs de l'Utah qui reconstituaient carrément une image des gens de l'autre côté du mur, ondes radio à l'appui.
Sauf que là, plus besoin d'un labo puisque tout tient dans la main. Le cœur de l'engin est un M5Stack Cardputer ADV (c'est un ESP32-S3 avec un mini-écran, un clavier et une batterie intégrés) auquel il a collé un second écran TFT dans un boîtier imprimé en 3D. Ça donne un petit look cyberdeck bi-écran à l'appareil et tout ça pour une cinquantaine de dollars!
Sur les 2 coeurs de l'ESP32, y'a un qui gère l'affichage animé du radar tandis que l'autre mouline en continu les données captées par le Wifi. En fait le boitier lit ce qui s'appelle le CSI (Channel State Information) qui est un genre de signature de la façon dont le signal wifi rebondit partout autour de vous. Il surveille alors les variations d'amplitude et de phase sur des dizaines de trames et quand ça dépasse, BOOM, un blip vient s'allumer sur l'écran du radar, comme dans "À la poursuite d'Octobre rouge" ^^.
Après, contrairement à d'autres projets fake que j'ai pu voir passer, vous ne verrez personne à poil avec ça. C'est juste une interférence qui est pointée et pas une silhouette qui est dessinée finement et encore moins une triangulation de votre position.
Le seul garde-fou que Talking Sasquach a mis en place sur son radar, c'est qu'il faut d'abord se connecter au réseau wifi pour capter des choses. Mais en réalité, il n'y était pas obligé et ça peut fonctionner sans avoir à demander un accès à une box internet.
Le code est dispo sur GitHub sous licence MIT, et c'est écrit avec le framework Arduino si vous voulez reproduire le bidule.

Les amis, il faut que je vous parle de GLM 5.2 . Je l'utilise en ce moment même à travers Z.ai, et c'est la première fois qu'un modèle open weights me donne satisfaction sur ce que je lui demande de faire. Et dieu sait que j'en ai testé de ces putains de modèles !
GLM 5.2, c'est le dernier-né de Z.ai, le lab chinois connu avant sous le nom de Zhipu AI. Il est sorti en ce mois-ci (en juin), et c'est un gros bébé avec ses 744 milliards de paramètres en Mixture-of-Experts (MoE), dont à peu près 40 milliards qui s'activent pour chaque token, ainsi qu'une fenêtre de contexte qui monte à 1 million de tokens via la déclinaison glm-5.2[1m]. Le tout publié, comme toujours, sous licence MIT, avec les poids téléchargeables sur HuggingFace.
Bref, j'y croyais pas trop, mais j'ai quand même pris le petit abonnement Z.ai et j'ai lancé mes outils habituels et codé quelques nouvelles features sur mes logiciels. Et Ô surprise, il s'en sort très très bien pour mes usages (je dis bien pour mes usages !). J'ai eu aucun bug, pas de discussion à l'infini qui tourne autour du pot, ni de fin de conversation qui part en caractères chinois comme me faisait souvent Qwen.
Après, le truc chouette, c'est que je l'ai branché directement dans Claude Code. Si ça vous intéresse, je me suis fait un petit launcher spécifique. C'est cadeau :
#!/usr/bin/env bash
export ANTHROPIC_BASE_URL="https://api.z.ai/api/anthropic"
export ANTHROPIC_AUTH_TOKEN=VOTRE_CLE_API
export ANTHROPIC_DEFAULT_SONNET_MODEL="glm-5.2[1m]"
export ANTHROPIC_DEFAULT_OPUS_MODEL="glm-5.2[1m]"
export CLAUDE_CODE_AUTO_COMPACT_WINDOW="1000000"
claude "$@"
Vous le sauvegardez sous le nom de votre choix, par exemple "glm". Puis vous faites un :
chmod +x glm
Et ensuite vous le lancez comme ceci :
./glm
L'idée, c'est que comme l'API de Z.ai est compatible Anthropic, il suffit de pointer Claude Code vers leur endpoint, de glisser votre clé, et il cause à GLM 5.2 comme il causerait à Claude. Mes skills, mes scripts, tout marche pareil, c'est le feu !
Je regrette juste une chose, c'est de ne pas pouvoir le faire tourner en local chez moi. Parce que le bestiau, il est TROP gros. Même raboté et quantifié en 2-bit pour la maison , il vous bouffe dans les 240 Go de RAM. Chez moi, j'ai pas le matos, et vous probablement pas non plus. Donc pour le moment, l'API, c'est la seule porte d'entrée réaliste et abordable.
Que ce soit Qwen, Llama, Kimi, DeepSeek, peu importe ce que j'ai testé en local, pour mes usages un peu chiadés, à chaque fois je suis super déçu. Alors celui-là, pour ce que je lui demande, il tient très bien la route.
Maintenant, je vais pas vous vendre ça non plus comme un Claude Killer mais j'ai quand même trouvé un benchmark qui confirme mon ressenti. Sur le leaderboard Arena.ai dédié au code front-end, GLM 5.2 pointe à la deuxième place, juste derrière Fable 5. Et comme tout ce qui le précède est propriétaire, ça en fait le premier modèle open weights à ce niveau du classement.
Donc c'est pas la meilleure IA du monde, hein, mais c'est la première open source qui me donne un résultat qui me convient. Et vous savez tous à quel point je suis chiant et exigeant avec ce genre d'outil. En tout cas, c'est la première fois que je me dis que l'IA open source pourrait vraiment entrer dans mon flux du quotidien, et pas juste rester un joujou pour classer des trucs ou faire du slop sur des blogs de SEO. Maintenant, entre nous, j'attends surtout que Fable 5, ou son équivalent, revienne mettre le feu !!
Si ça vous tente d'essayer, il y a donc le GLM Coding Plan de Z.ai, qui démarre à 18 dollars par mois et qui est surtout taillé pour le code. Il se branche sur Claude Code, Cline et une vingtaine d'outils du même acabit. Petit conseil au passage, ce lien vers le Plan GLM est un lien affilié certes, mais il vous offre 10 % de réduc si vous l'utilisez, et ça me file un petit truc aussi, donc tout le monde y gagne.
Voilà, si vous codez avec autre chose jusqu'ici, ça vaut le coup d'y jeter un œil par curiosité.
Source : Z.ai

Vous avez une petite carte graphique, un vieux Mac ou juste un bon processeur, et vous cherchez LE modèle d'IA parfait qui pourra tourner en local sans que ça rame ?
Hugging Face vient d'ajouter le filtre qui manquait à sa page Models : un sélecteur de matériel qui ne vous proposera que les modèles réellement compatibles avec votre machine.
Vous renseignez votre config (une RTX 3060, un processeur AMD, une puce Apple Silicon M2…) dans les réglages de votre compte, et le catalogue ne gardera plus que ce qui passe pour un GPU, un CPU ou une puce Apple précis.
Fini l'époque, donc, où il fallait ouvrir chaque fiche, chercher la VRAM requise, sortir la calculette et croiser les doigts au moment du lancement.
Ce filtre d'Hugging Face repose sur la taille des fichiers proposés, notamment les versions quantifiées au format GGUF, ces modèles compressés qui font tourner de grosses IA sur des machines modestes, et sur la RAM ou la VRAM de votre config déclarée. Cette base hardware est constituée de ce que possède réellement la communauté des 300 000 membres qui ont accepté de déclarer leur matériel.
Une fois le bon modèle repéré, vous récupérez les commandes via le bouton "Use this model" présent sur chaque fiche, puis vous lancez tout ça avec les outils habituels de l'IA locale, du genre llama.cpp, Ollama ou LM Studio. Et pour ceux qui veulent aller plus loin sur Apple Silicon, il existe également des serveurs d'inférence maison pour remplacer l'API d'OpenAI par votre propre Mac .
Maintenant, si vous avez un chip un peu exotique, un accélérateur NPU ou une carte à peine sortie, il faudra parfois patienter, voire passer par le forum pour réclamer son ajout dans la base, mais bon, je chipote !

Anthony Sgro vient d'open-sourcer un truc que tout utilisateur de VPN devrait avoir sous la main. C'est extension pour Safari, Chrome et Firefox (et pas Faille-Fox, déso) qui s'appelle GeoSpoof et qui part d'un constat tout bête que la plupart des gens ignorent.
En fait, votre VPN change masque bien votre adresse IP réelle (s'il est bien configuré, hein), d'accord, super, mais votre navigateur, lui, continue tranquillement de tout balancer aux sites web et notamment le lieu où vous vous trouvez vraiment.
Venez pas chez moi, c'est pas mon adresse...
Et il a mille façons de le faire. Y'a d'abord l'API de géolocalisation qui balance vos coordonnées GPS si vous l'autorisez, mais surtout y'a tout le reste, beaucoup plus sournois comme votre fuseau horaire, par exemple. Vous êtes connecté à un serveur VPN à New York mais votre navigateur répond Europe/Paris quand un script lui demande l'heure, et hop, le site comprend en une milliseconde que vous bluffez. Pareil avec l'objet Intl.DateTimeFormat, avec le Date du système, avec WebRTC qui adore fuiter votre vraie IP locale.
Vous pouvez avoir le meilleur VPN du monde, si ces signaux-là pointent tous vers chez vous pendant que votre IP dit le contraire, et vous êtes encore plus repérable qu'un mec sans VPN. C'est exactement ce qu'un VPN ne fait pas tout seul et c'est pour ça que votre abonnement à Youtube Premium, Netflix, ou Disney+ à 30 centimes acheté en Turquie ou je ne sais où, fini par se faire flagger.
GeoSpoof colmate donc ce trou en venant rebrancher directement ces APIs dans le navigateur sur du contenu factice. L'extension s'injecte au tout début du chargement de la page, avant que le JavaScript du site ait eu le temps de tourner et ensuite quand un script demande votre position, votre heure ou votre fuseau, il reçoit la localisation que VOUS avez choisie, et tout est cohérent. Géoloc, timezone, dates, WebRTC, tout raconte la même histoire et y'a plus de signal contradictoire qui dépasse.
Le mode que je trouve le plus pratique, dans GeoSpoof c'est surtout la synchro VPN automatique. L'extension repère l'IP de sortie de votre VPN, et elle aligne toute seule votre localisation navigateur dessus. Si vous changez de serveur, et que vous passez de Tokyo à Montréal, hé bien elle resynchronise sans que vous n'ayez à toucher à quoi que ce soit.
Sinon vous pouvez aussi y aller à la main, chercher une ville précise ou taper vos coordonnées directement. Pour vérifier que ça marche vraiment, l'auteur a même monté une page de test sur geospoof.com/verify , et l'extension passe les outils classiques de fingerprinting comme CreepJS ou BrowserLeaks.
Petit détail qui prouve le soin du travail, les overrides sont déguisés pour répondre [native code] quand un script essaie de vérifier s'ils ont été trafiqués. Héhé, malin !
Là où Anthony Sgro est honnête, c'est qu'il ne vous vend pas l'invisibilité totale. C'est écrit dans la doc que GeoSpoof ne change PAS votre IP. Sans un VPN derrière, votre adresse continue donc de pointer vers chez vous, et le bénéfice restera limité face aux sites qui recoupent l'IP.
Ça ne bypasse pas non plus la détection côté serveur, votre historique de compte ou votre moyen de paiement vous trahiront toujours. Et le mode le plus agressif, qui passe par le protocole de debug de Chrome pour verrouiller le fuseau jusque dans les workers, reste détectable par les outils qui cherchent spécifiquement ce genre de bidouille. C'est juste un outil de cohérence à utiliser en complément du meilleur VPN auquel vous vous êtes abonnés ^^.
Ça tourne sur Firefox, Chrome, Brave, Edge et même Safari sur iOS et macOS via l'App Store. Tout est sous licence MIT, et y'a pas de tracking ni de collecte de données dedans. C'est rare de voir des extension d'une si bonne qualité de finition, encore bravo à Anthony !!
Puis si vous bidouillez déjà votre vie privée avec un truc comme Fingerprint Defender , GeoSpoof complètera le tableau parfaitement sur la partie localisation.
Bref, un VPN sans ça, c'est une porte blindée avec une fenêtre grande ouverte à côté. Allez jeter un œil, ça prend 2 min à installer !

Je ne suis pas très client des livres audio parce que mon cerveau, en général, part faire des trucs dans son coin et je me retrouve à rien écouter du tout. Je préfère un petit podcast où ça rigole qu'une œuvre littéraire qui demande de la concentration.
Mais je sais que vous appréciez beaucoup les livres audio et il arrive très souvent qu'un bouquin n'ait pas sa version audio. Un vieux roman qui n'est plus édité, un PDF technique, une fanfiction de 800 pages, un article de korben.info ou juste un truc que personne chez Audible ne prendra le temps d'enregistrer parce que ça n'intéresse que vous.
Mais youpi, Finrandojin, un internaute, en a eu marre d'attendre l'audiobook de ses rêves et a codé Alexandria, un générateur de livre audio qui tourne 100% en local sur votre ordi.
Vous balancez un fichier .txt, .md ou .epub, dans l'appli, puis un LLM découpe le texte et annote chaque ligne avec le personnage qui parle et la manière dont il le dit, puis le moteur Qwen3-TTS joue le tout en local comme une vraie troupe de doubleurs professionnels. Et le résultat est assez propre, même si ça ne vaut pas encore un vrai enregistrement fait par un vrai humain. M'enfin, faute de mieux, pourquoi pas !
Et surtout, ce LLM qui fait le découpage, vous le branchez où vous voulez. En local via LM Studio ou Ollama, ou dans le cloud avec OpenAI ou n'importe quelle API compatible. Ensuite, une fois le script annoté, Alexandria vous propose 9 voix pré-entraînées avec contrôle de l'émotion et du ton.
Vous pouvez aussi cloner une voix à partir de 5 à 15 secondes d'échantillon, ou carrément en fabriquer une à partir d'une simple description écrite. Vous tapez par exemple "Une voix masculine chaude et grave, au ton calme et posé" (c'est ma voix quoi...lol) et hop, il vous la fabrique.
La fonctionnalité de génération de personnas fait également gagner un temps de dingue puisqu'en un clic, le LLM analyse le bouquin, invente une description de voix pour chaque personnage, génère l'audio de référence et assigne tout automatiquement.
Et pour les obsédés du détail, il y a même un éditeur web où vous regénérez n'importe quelle ligne individuellement, du training LoRA pour vous fabriquer des voix persistantes, et un export en MP3 en pistes séparées pour bidouiller ça ensuite dans Audacity, ou en M4B chapitré qui rentre direct dans Audiobookshelf, Apple Books ou VLC. Et tout ça bien sûr, dans une dizaine de langues, français compris.
Alexandria exigera par contre une carte graphique avec 8 Go de VRAM au minimum, 16 et plus si vous voulez du débit correct. Et si vous êtes sur Mac, mauvaise nouvelle, l'accélération MPS d'Apple Silicon n'est pas encore supportée, donc ça tournera en mode CPU, donc ce sera lent. Mais c'est pas très grave, vous lancez la génération, et vous retournez lire d'autres articles sur mon site pour passer le temps.
Même galère aussi pour les gens qui ont de l'AMD sous Windows. Les chanceux par contre, ce sont les possesseurs de NVIDIA sous Windows ou Linux et les AMD sous Linux. Maintenant si vous tenez juste à faire parler votre Mac sans y passer trois heures par chapitre , vous serez mieux servi ailleurs qu'avec Alexandria.
Pour l'installation, le plus simple passe par Pinokio en deux clics, et si vous n'avez pas le GPU qui va bien, il y a un notebook Google Colab pour tourner sur un T4 gratuit dans le navigateur. Comptez quand même un téléchargement de 3,5 Go pour les modèles TTS à la première utilisation, ils ne sont pas inclus dans l'install.
Vous l'aurez compris, c'est du DIY un peu gourmand en GPU, mais pour tous vos ebooks à écouter qui n'auront jamais de narrateur, ça ouvre les perspectives ! Le code est sous licence MIT et je vous invite quand même à tester avec un chapitre avant de vous lancer dans un roman entier.

Apple’s reported Mac Studio memory limits could change how developers and IT teams evaluate the desktop for local AI workloads.
The post Apple’s Mac Studio Memory Limits Narrow Its AI Workstation Pitch appeared first on TechRepublic.
Monter une vraie IA à la maison, c'est vite une galère. Vous achetez une super machine puis vous collez dessus toute votre liste au père Noël (Chat local, reco vocale, génération d'image, RAG et compagnie) et vous voilà à empiler des dockers à n'en plus finir. Eh bien Light Heart Labs en a eu marre de ces bricolages et nous a pondu Dream Server, un outil qui câble tout ce petit monde à votre place !
Une seule commande et c'est parti mon kiki (Linux et macOS) :
curl -fsSL https://raw.githubusercontent.com/Light-Heart-Labs/DreamServer/main/dream-server/get-dream-server.sh | bash
Ou Windows :
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
git clone https://github.com/Light-Heart-Labs/DreamServer.git
cd DreamServer
.\install.ps1
Ça va lancer le script qui va ensuite tout paramétrer tout seul et choisir le modèle d'IA qui collera le plus à votre matériel, et cela que vous ayez une RTX 4090, un Mac M4 avec mémoire unifiée ou encore une puce AMD Strix Halo voire un vieux PC sans GPU.
Edit : un lecteur m'a remonté un piège si vous êtes sous Linux configuré en français (ou n'importe quelle locale qui écrit les décimales avec une virgule). Le script génère tout seul les valeurs de votre fichier .env en suivant le format de nombres de votre système, et il vous colle des 16,0 au lieu de 16.0. Du coup l'install se vautre avec une erreur dans le genre COMFYUI_CPU_LIMIT: expected number, got '16,0'. La parade, confirmée par un des auteurs, c'est de relancer l'installeur en forçant la locale C (celle qui met des points à la place des virgules) :
LC_ALL=C ./install.sh
Ensuite, pendant que le LLM se télécharge à fond les ballons, un autre petit modèle de 1,5 milliards de paramètres en backup afin que vous puissiez quand même "discuter" avec votre Dreamserver.
Le rôle de Dreamserver c'est donc juste de prendre toutes les briques de l'IA pour vous en faire un truc clé en main. Open WebUI pour le chat, llama-server pour l'inférence, Whisper et Kokoro pour la voix, ComfyUI pour les images, Qdrant pour le RAG, SearXNG pour la recherche web sans mouchard, et bien sûr n8n pour brancher tout ça à vos automatisations.
Et une fois que c'est en route, suffit de lancer la commande dream et là vous pourrez tout faire.
Par exemple dream status pour visualiser l'état des services et du GPU, dream model swap T3 pour changer de "palier" sur votre matos, dream enable n8n pour activer une extension ou encore dream mode hybrid pour avoir de l'inférence en local avec possibilité de basculer sur une IA dans le cloud via une API.
Dreamserver reste un orchestrateur, et pas un moteur IA magique, donc si vous adorez tout assembler vous-même, vous n'avez clairement pas besoin de ça. Par contre, si vous vous en foutez, et que vous voulez juste votre IA qui tourne ce soir, ça vous fera gagner des heures de bidouille.
Faut dire qu'à mesure que l'IA devient une infrastructure de base, dépendre à 100% d'un abonnement cloud qui peut tripler ses tarifs ou couper votre accès du jour au lendemain, ça craint un peu. Donc je pense qu'on est tous bien contents d'avoir des solutions clé en main comme celle-ci.
Si ça vous tente, c'est sur le dépôt de Dream Server .


Le célèbre Géoportail s’apprête à tirer sa révérence. L’IGN regroupe désormais ses services sur cartes.gouv.fr, une plateforme unique, modernisée et pensée pour le mobile, qui se positionne comme une alternative souveraine et collaborative à Google Maps et Street View.
Reliance’s AI roadmap puts Jio CallAgent inside the telecom network while tying India-scale AI ambitions to Jamnagar compute, local-language services, and enterprise compliance questions.
The post Mukesh Ambani’s Reliance AI Roadmap Puts Jio CallAgent Inside the Network appeared first on TechRepublic.

