Lateo.net - Flux RSS en pagaille (pour en ajouter : @ moi)

🔒
❌ À propos de FreshRSS
Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierInformatique & geek

Meeting Recorder - Vos visios transcrites en local sous Omarchy

Par : Korben ✨

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 !

Comment mesurer et dégonfler l'index de recherche de Windows

Par : Korben ✨

Après avoir lu cet article de XDA , j'ai voulu savoir ce que pesait vraiment l'index de recherche sur mon Windows 11 tout neuf. En vrai pas grand chose... A peine quelques Mo. Puis j'ai déposé un dossier de travail assez gros dedans, et l'index a grossi comme prévu... mais ensuite quand j'ai supprimé ce dossier, l'index lui n'a jamais remaigri.

Cette base de données, c'est elle qui répond quand vous tapez trois lettres dans le menu Démarrer pour avoir des suggestions d'app et de fichiers. Tout est contenu dans le fichier Windows.db sous Windows 11 et Windows.edb sous Windows 10, et malheureusement, ce fichier peut grossir jusqu'à devenir problématique.

Ce que Windows indexe par défaut, et ce qu'il en lit

Windows 11 propose 2 périmètres. Le mode Classique, celui qui est actif si vous n'avez rien touché, et qui s'occupe de vos dossiers Documents, Images et Musique, plus le Bureau. Et le mode "Amélioré", qui lui, parcourt l'ensemble du PC.

Ça peut se régler dans les paramètres :

Le mode Classique est celui d'origine : Documents, Images, Musique et le Bureau.

Mais ce qui est mal expliqué dans la doc de Microsoft, c'est que Windows n'indexe pas QUE les noms de fichiers. Et oui, quand les fichiers contiennent du texte, leur contenu est également indexé, ce qui vous permet de rechercher par mots-clés présents dans le contenu du fichier.

Et comme le périmètre est défini par un emplacement et jamais par un volume, tout ce qui atterrit dans Documents entre dans l'index. Que ce soit vos 3 lettres de motivation ou un dossier projet contenant 40 000 fichiers... Windows ne fait pas la différence.

3 profils sont donc aux premières loges : ceux qui ont basculé sur le mode Amélioré, ceux dont le dossier Documents pointe en réalité vers leur OneDrive ou un autre dossier synchronisé, et ceux qui rangent leurs projets ou leurs machines virtuelles dans Documents.

Si vous n'êtes dans aucun des trois, la suite vous dira en trente secondes que tout va bien, vous verrez ^^

Mesurer votre index en deux gestes

Le nombre d'éléments dans cet index se lit sans aucun droit particulier. Suffit d'aller dans Paramètres, puis Confidentialité et sécurité, puis Rechercher. Le compteur "Indexé" est en haut de la page, et c'est aussi là que se trouve le choix du périmètre.

La taille du fichier, elle, demande une console administrateur. Ouvrez donc PowerShell en tant qu'administrateur et collez :

[math]::Round((Get-Item "$env:ProgramData\Microsoft\Search\Data\Applications\Windows\Windows.db" -Force).Length / 1MB, 2)

Vous obtiendrez alors un nombre en mégaoctets. Mais pour savoir s'il est réellement gros, c'est le compteur d'éléments qui fait la différence, plus que le poids. Je m'explique...

Microsoft donne des repères dans sa doc. Moins de 30 000 éléments c'est OK chez un utilisateur ordinaire. Pour un gros utilisateur, rien de choquant de monter jusqu'à 300 000 éléments. Par contre, au-delà de 400 000, des problèmes de performances peuvent commencer à apparaître. Et si vous vous demandez jusqu'où vous pouvez aller, sachez que le plafond technique est à un million d'éléments, après quoi l'indexeur se plantera comme une merde ou fera grimper le processeur, la mémoire et le disque dans les nuages.

La même commande sans les droits administrateur répond "Accès refusé".

L'essai : 3 000 fichiers qui partent, un index qui reste

J'ai monté une petite expérience pour l'occasion dans une machine virtuelle Windows 11 Pro 25H2, avec quatre cœurs et 8 Go. Départ à 462 éléments et 6,71 Mo. J'y ai déposé ensuite 3 000 fichiers texte, soit 15,94 Mo de contenu, et j'ai regardé l'index monter à 3 466 éléments pour 18,66 Mo. La base pèse donc presque aussi lourd que les fichiers qu'elle vient d'avaler !! C'est du texte brut partout, ce qui est le pire cas possible pour elle puisqu'il faut en indexer le contenu.

Ensuite j'ai supprimé les 3 000 fichiers et le compteur d'éléments est bien redescendu à 465, celui du départ, mais Windows.db lui, était toujours à 16,81 Mo. Alors que mes 465 éléments tenaient dans 6,71 Mo une heure plus tôt.... Bref, l'index a libéré ses entrées, mais pas son espace, la place étant réservée pour la prochaine fois...

Reprendre la main sans casser la recherche

Alors pour reprendre la main sur son espace disque, le bon geste, c'est l'exclusion ciblée. Allez dans Paramètres, Confidentialité et sécurité, Rechercher, puis "Ajouter un dossier exclu".

Les cibles qui valent le coup sont celles qui changent sans arrêt ou qui ne pèsent rien dans une recherche. Je pense aux dossiers de dépendances d'un projet, aux dossiers de compilation, aux caches, aux disques de machines virtuelles, au .git, aux bibliothèques de jeux et j'en passe...

Vous saurez ainsi tout de suite si ça a marché. Remontez en haut de la même page de réglages et regardez le compteur "Indexé". Il devrait diminuer du nombre de fichiers que contenait le dossier, sans que vous ayez rien d'autre à faire.

En revanche, n'excluez pas Documents ou le Bureau d'un seul bloc, et ne coupez surtout pas le service. En effet, ce bon vieux menu Démarrer ne cherche que dans l'index et Outlook classique s'appuie aussi dessus pour retrouver vos mails. Un dossier exclu devient invisible à la recherche et, ce serait dommage de ne plus pouvoir retrouver un mail, par exemple.

Le second truc à faire, c'est la reconstruction, car c'est elle qui récupère l'espace. Ouvrez les Options d'indexation avancées depuis la même page de réglages, cliquez sur Avancé, puis sur Reconstruire dans la section Dépannage. Windows prévient alors que les résultats seront incomplets pendant l'opération, mais on s'en fout, et c'est normal puisqu'il repart de zéro !! Microsoft conseille d'ailleurs de laisser l'indexeur travailler jusqu'à 24 heures, alors ne lancez pas ça cinq minutes avant d'avoir besoin de retrouver un fichier.

Le bouton Reconstruire est planqué sous Dépannage, dans les Options avancées.

Sur ma machine, l'index gonflé à 16,81 Mo est ainsi redescendu à 1 Mo, pour exactement les mêmes 465 éléments. Quatre minutes de reconstruction plus tard, et le fichier ne pesait plus que six pour cent de sa taille d'avant. Une fois que c'est fait, vous pouvez relancer la commande PowerShell. Si le chiffre n'a pas bougé d'un poil, c'est que votre index était déjà à sa taille utile, et dans ce cas, bon courage, ça veut dire que votre problème d'espace disque est ailleurs.

Source : XDA Developers

Medieval manuscripts are "biological time capsules" for deadly sheeppox virus

Sheeppox is a highly contagious, often fatal viral disease that was largely eradicated from much of European livestock in the 20th century. But there is still the occasional regional outbreak, such as the one that afflicted many flocks of sheep in Greece last year. In order to reconstruct how the virus has evolved over the last 3,500 years, scientists extracted and sequenced sheeppox DNA preserved in the animal skins used for the parchment of numerous medieval manuscripts. They reported their findings in a new paper published in the journal Science Advances.

“The recording of ancient DNA of pathogens has completely changed our understanding of infectious disease in the past, and here we show that parchment can also preserve animal pathogen DNA. It is possible that archives and libraries around the world also contain the genetic traces of disease outbreaks in animals in the past,” said co-author Louis L’Hôte, a graduate student at University College Dublin. “These genomes help us understand how these pathogens evolved and how they impacted past societies—such as sheeppox virus, which we show has been affecting Eurasian sheep herds for at least three and a half millennia.”

Per the authors, the earliest known written evidence of sheeppox infection dates to the first century CE, when Roman accounts described outbreaks of skin lesions ("pustules") in the animals. There are more frequent mentions of deadly outbreaks of "pockes" or "variola" in sheep by the Middle Ages, recorded in various agricultural texts and accounting documents in France, Spain, and England. There seemed to be a decline in outbreaks in 17th-century France, although frequent outbreaks re-emerged in the 18th and 19th centuries, often with high mortality rates in the flocks. Great Britain did not experience a sheeppox resurgence until 1847.

Read full article

Comments

Speakr - Interrogez toutes vos réunions enregistrées

Par : Korben ✨

Vous avez un dossier plein d'enregistrements de réunions, d'entretiens ou de notes vocales que vous avez dictées en marchant, et vous ne les avez jamais réécoutés. Forcément, réécouter doit se faire en temps réel, et un fichier baptisé REC_20260812_143301.m4a ne permet pas forcement de savoir de quoi ça cause... Alors que faire ?

Hé bien le projet Speakr s'attaque exactement à ce problème. Vous y déposez vos fichiers, ou vous enregistrez directement depuis le navigateur en captant le micro, le son du système, ou les deux mélangés. Et en sortie, vous récupérez un texte en clair, cherchable, découpé par intervenant, avec un résumé et les actions à retenir.

Et si vous cliquez sur une ligne du texte transcrit, la lecture se lancera à cet instant précis. Mais Speakr va encore plus loin grâce à sa fonctionnalité Inquire. Grâce à ça, plus besoin de farfouiller dans un enregistrement. Vous posez simplement une question à toute la bibliothèque d'un coup du genre "qu'est-ce qu'on avait décidé sur le tarif, et qui n'était pas d'accord ?".

Un mode agent optionnel, encore en bêta, va même lire les enregistrements concernés un par un avant de répondre, avec des liens numérotés qui ouvrent chaque extrait à la seconde citée. Et chacun décide si ses résumés et ses notes privées sont lisibles par cet agent.

Reste la question qui fâche, parce que le projet se vend comme un truc auto-hébergé, donc privé. Et en creusant un peu, je me suis rendu compte qu'il y avait quand même des choses qui sortaient de la machine. Il y a d'abord la transcription, qui envoie l'audio au moteur qui le transforme en texte. Et celui du texte ensuite, qui expédie la transcription au modèle qui écrit les résumés, les titres et les réponses du chat.

Et dans la configuration de base, les deux usages IA pointent chez un tiers : une clé OpenAI pour l'audio, une clé OpenAI (ou OpenRouter) pour le texte. Votre serveur, lui, ne stockera que des fichiers...

Alors, il faudra bien penser, si vous voulez que ça reste en local, à brancher Ollama à la place d'OpenAI et OpenRouter. Mais couper celui de l'audio se paiera car pour réussir à transcrire de l'audio, il vous faudra quand même une bonne carte graphique et un gros modèle Whisper comme expliqué dans le guide d'installation .

Sans carte, ça tourne quand même, rassure-vous, mais ce sera plus lent.

Pour le reste, c'est du Docker avec SQLite ou PostgreSQL, 2 Go de RAM annoncés pour l'application seule, et tout ce qu'on attend d'un truc qui s'utilise à plusieurs : comptes, authentification unique, partages, API et webhooks signés.

C'est sous licence AGPLv3, doublée d'une licence commerciale pour ceux qui ne veulent pas s'y contraindre.

Niveau outils semblables, il y a Scriberr, dont je vous ai déjà parlé , transcrit en local sans jamais rien envoyer dehors, mais son auteur vient d' annoncer une pause dans le développement . On a aussi l'application Meetily , qui elle, vise le poste de travail plutôt que le serveur d'équipe, et réserve la séparation des voix à son offre payante. Et si c'est de la dictée en direct sur Mac dont vous avez besoin plutôt que d'exploiter des enregistrements déjà faits, j'ai codé Kassis pour ça, qui reste en local lui aussi.

Alors finalement, pourquoi ne pas donner sa chance à Speakr ?

Un script pour virer les produits sponsorisés d'Amazon

Par : Korben ✨

Allez, on va faire un jeu. Cherchez un disque dur externe sur Amazon et regardez où pointe le premier lien de la page. Bingo, ça part sur une adresse en /sspa/click, autrement dit un emplacement publicitaire. Et c'est pas le mieux noté, c'est pas le moins cher, non, c'est juste celui qui a payé le plus pour être là.

Et moi, ce qui me saoule vraiment, c'est que les filtres n'y peuvent rien.

Pour remédier à cela il faut sortir l'artillerie. J'ai d'abord pensé à faire un filtre uBlock Origin, puis à me coder une extension Firefox, avant de me rappeler que Tampermonkey tournait déjà dans mon navigateur.

Direction le repo Greasy Fork, donc, où traîne un script qui fait exactement ça . Une cinquantaine de règles CSS, qui dégagent du DOM les résultats sponsorisés de la recherche, les carrousels promo, les encarts publicitaires de la fiche produit, l'upsell Prime et les bannières de marque.

On passe ainsi de ça :

À ça :

Et ça fonctionne super sur toutes les versions d'Amazon, y compris Amazon.fr.

Trois réglages attendent dans le menu du gestionnaire de scripts. Un compteur qui affiche en bas de page ce qui a été retiré et pourquoi, une journalisation console pour les curieux, et une option qui redirige les pages de navigation vers la vraie liste de résultats.

Attention quand même à ce qui saute en plus des pubs. Le bloc "Les gens qui ont acheté ça, ont aussi acheté ça". Le script s'attaque aussi à Rufus, l'assistant d'achat maison et côté installation, il vous faut Tampermonkey, Violentmonkey ou Greasemonkey. Sur Firefox, ça s'arrête là. Par contre sur Chrome, depuis la version 138, il faut en plus activer un switch "Allow User Scripts" sur la fiche de l'extension, coupé par défaut sur toute extension fraîchement installée.

Voilà, j'espère que ça vous aidera à avoir un Amazon un peu plus propre. Maintenant, n'oubliez pas, Amazon, c'est le mal, donc si vous avez les moyens de payer 2x plus cher la même chose et que vous aimez passer votre vie dans les transports ou en bagnole à faire une espèce de chasse au trésor à travers toute la ville, pour trouver le produit qu'il vous faut, le mieux reste encore et toujours d'acheter dans des magasins physiques. Lol.

OneDrive Photos - Ce que vous pouvez vraiment virer aujourd'hui

Par : Korben ✨

Vous rentrez de soirée à moitié bourré, vous ouvrez Paramètres, Applications, Applications installées, et vous cherchez OneDrive Photos pour le virer... Mais il n'y est pas ! Rassurez-vous, ce n'est pas à cause des effets de l'alcool car l'application est pourtant bien sur la machine, avec son icône moche dans le menu Démarrer et son interface photo qui s'ouvre très bien quand on clique dessus... ALORS POURQUOI NE PEUT ON PAS VIRER CETTE COCHONNERIE ???

Hé bien Microsoft a reconnu avoir distribué cette nouvelle interface "photo" plus largement que prévu sur Windows 11 sans anticiper que des gens auraient envie de le virer. Le déploiement était involontaire, mais le résultat est quand même arrivé sur votre disque et vu la réputation de OneDrive côté dark patterns , l'envie de nettoyer tout de suite se comprend...

Mais rassurez-vous, je vais vous aider !

Étape 1 - Trouver ce qui est réellement installé

OneDrive Photos n'est pas une application séparée, c'est le binaire OneDrive.App.exe livré à l'intérieur du client de synchronisation OneDrive.

Voilà pourquoi Windows ne lui donne aucune entrée de désinstallation.

Son emplacement dépend en réalité du mode d'installation du client. En installation par utilisateur, il atterrit dans votre profil. En installation pour toute la machine, il va dans Program Files. Cette commande ci-dessous teste donc les deux et affiche la version trouvée.

Get-ChildItem "$env:LOCALAPPDATA\Microsoft\OneDrive","$env:ProgramFiles\Microsoft OneDrive","${env:ProgramFiles(x86)}\Microsoft OneDrive" -Filter OneDrive.App.exe -ErrorAction SilentlyContinue | Select-Object FullName,@{n='Version';e={$_.VersionInfo.FileVersion}}

Étape 2 - Supprimer les raccourcis

Ce que Windows vous laisse supprimer facilement par contre, ce sont les raccourcis. Ils se posent au niveau de la machine et dans votre profil, donc menu Démarrer et bureau. Par contre, ouvrez PowerShell en administrateur sinon, vous ne pourrez pas les virer.

"$env:ProgramData\Microsoft\Windows\Start Menu\Programs","$env:APPDATA\Microsoft\Windows\Start Menu\Programs","$env:PUBLIC\Desktop","$env:USERPROFILE\Desktop" | ForEach-Object { Get-ChildItem $_ -Filter "OneDrive Photos.lnk" -ErrorAction SilentlyContinue } | Remove-Item -Verbose

Le script affiche alors chaque raccourci retiré. Tapez ensuite "OneDrive Photos" dans le menu Démarrer, et vous verrez plus rien ne remonte.

Pourquoi ça ne suffit pas ?

Mais vous l'avez compris, le binaire, lui, n'a pas bougé. Vous avez nettoyé le point d'entrée, mais pas désinstallé l'application. Un double-clic sur OneDrive.App.exe rouvrira l'interface photo comme avant, et une mise à jour du client peut très bien rétablir le raccourci...

Et non, il n'existe aucune clé de registre ni stratégie de groupe pour bloquer proprement cette application, même sur un parc géré. Pas d'interrupteur à débrancher comme avec RemoveWindowsAI face à Copilot . Les scripts qui circulent suppriment des .lnk, rien d'autre.

Alors comment on fait ? Hé bien on passe à l'étape 3 !

Étape 3 - Retirer OneDrive en entier

Car la seule suppression réelle aujourd'hui, c'est de désinstaller le client OneDrive en entier, ce qui n'a de sens que si vous ne vous en servez pas. Le dossier d'installation part avec, donc le binaire photo aussi. Avant de lancer quoi que ce soit, si vous utilisez les fichiers à la demande, faites donc un clic droit sur les dossiers qui comptent et cochez "Toujours conserver sur cet appareil".

winget uninstall --id Microsoft.OneDrive

Le même résultat s'obtient depuis Paramètres > Applications installées > Microsoft OneDrive > Désinstaller. La synchronisation locale s'arrête là, mais vos données restent en ligne et rien n'est supprimé côté Microsoft.

Pour vérifier le résultat, relancez alors la commande de l'étape 1. Plus aucun chemin affiché, le binaire a quitté les emplacements contrôlés. Si un chemin encore là, c'est qu'un client OneDrive traîne toujours, souvent dans un autre profil utilisateur.

Ensuite, pour revenir en arrière, il faudra réinstaller OneDrive depuis le site officiel de Microsoft. Mais si la synchro de vos fichiers revient, sachez que l'interface photo aussi. Les deux voyagent ensemble comme des bro incels soudés à la vie à la mort.

Alors que faire ?

Hé bien faudra attendre septembre..

Car oui, youpi, Microsoft annonce pour septembre 2026 un contrôle qui retirera OneDrive Photos seul, sans couper la synchronisation. Donc si vous tenez à OneDrive, attendre quelques semaines vous coûtera moins cher qu'une désinstallation complète.

Source

Customize Ars your way with an Ars Pro subscription

Having it your way is one of the benefits of being an Ars Pro subscriber. You get all of the great content you come to Ars for every day, but you get to choose how you parse it. Some readers want the classic blog-style homepage. Others want as many headlines as possible packed onto one screen. Some want a wider text column; others would happily never see another story about a topic they don’t follow.

We've got you covered.

Both Grid and List views are available for all readers, but subscribing to Ars unlocks two additional layout options. Our old-school Classic view reprises the original site layout from 1998, the year the Ars Orbiting HQ launched.

Read full article

Comments

Apple Raises Apple Music and Apple One Prices

Apple Music now costs $11.99 per month in the US, while Family and selected Apple One plans are also rising. Here is what subscribers will pay.

The post Apple Raises Apple Music and Apple One Prices appeared first on TechRepublic.

Kassis - Transcrivez vos audios et dictez vos textes sur Mac

Par : Korben ✨

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 .

Un compteur de visiteurs sur votre site, sans payer un centime

Par : Korben ✨

Vous avez peut-être remarqué un petit point rouge tout en bas de mon site, avec un nombre à côté. Il s'agit du nombre de personnes passées sur le site durant la dernière heure.

Je voulais remettre ce truc depuis un bail, bien à l'ancienne comme dans les années 2000 mais sur un site statique, qui plus est sans tracker de stats JS type Google Analytics ou Matomo, et sans cookies de tracking, c'était pas franchement une option... jusqu'à maintenant !

Le compteur, en vrai, tout en bas de korben.info.

La solution évidente sur des sites statiques, c'est souvent un petit Worker Cloudflare qui compte les visiteurs et servirait le chiffre, mais ça se facture à chaque requête. À 390 000 pages vues par jour, ça grimpe vite à des dizaines de millions d'invocations par mois, soit dans les 6 à 7 dollars. C'est pas super cher mais pour un compteur qui n'est utile qu'à satisfaire mon égo tout en sachant s'il y a du monde aujourd'hui, ça ne sert strictement à rien ! Donc le Worker, je l'ai écarté direct.

Du coup j'ai fait ça à l'ancienne. Un petit script Python tourne sur la machine qui héberge le site, une fois par minute. Il pose une seule question à Cloudflare, à savoir combien d'adresses IP distinctes ont chargé une page durant la dernière heure (ou demi-heure, ou quart d'heure ou 5 min, c'est vous qui paramétrez), il écrit la réponse dans un minuscule fichier live.json de quelques centaines d'octets, et c'est tout. Ce fichier, Cloudflare le sert ensuite depuis son cache comme il servirait une image, gratuitement. Zéro Worker, zéro base de données, zéro abonnement, j'ai exactement le même résultat sans dépenser une thune.

Maintenant, faut que je sois clair sur ce que ce chiffre raconte. C'est le nombre de navigateurs distincts ayant chargé une page durant la dernière heure, hors trafic interne de Cloudflare. C'est un "*combien de monde est passé récemment *", pas un "combien lisent là tout de suite".

Et les bots là-dedans ?

En fait, les bots pourris , ceux qui scrapent en boucle, se font bloquer en amont par le Super Bot Fight Mode de Cloudflare, donc ils n'arrivent même pas jusqu'à mon site. Restent les gentils bots, du genre de Googlebot et compagnie, que je laisse passer exprès, parce que les bloquer reviendrait à me flinguer mon référencement. Sur les 7 derniers jours, Cloudflare classe à peine 4% comme bots vérifiés. Donc c'est une goutte d'eau, surtout qu'ils tournent sur une poignée d'IP. Donc oui, mon compteur avale deux ou trois crawlers au passage, mais je ne voulais pas vous mentir en écrivant "zéro bot". Mais l'essentiel c'est que les nuisibles, eux, ne soient pas comptabilisés.

J'ai aussi dû gérer un petit piège car l'API de Cloudflare plafonne sa réponse à 10 000 lignes. Et comme sur une heure entière de trafic ça peut se remplir vite, si je crève ce plafond, la requête sous-compterait sans rien dire. Donc le script lève un flag et le compteur affiche "10 000 personnes ou plus" plutôt qu'un faux nombre. Quand j'y serai aux 10 000 et plus, je pense que je réduirai alors le delta temps en passant de 1h à 30 min...etc.

Côté vie privée, c'est carré également. Cloudflare renvoie à mon serveur une liste JSON des IP passées dans l'heure, mon script en compte le nombre de distinctes, et efface cette liste de sa mémoire dans la milliseconde qui suit. Aucune IP n'est stockée, aucune n'atterrit dans un log, aucun fichier avec les IPs n'est créé sur le disque... Il ne reste qu'un entier. Comme je vous le disais, pas de cookie , pas de traceur, et rien qui touche votre navigateur . Et comme le compteur ne s'affiche jamais en dessous de 10 personnes, impossible d'isoler qui que ce soit.

Maintenant, si vous voulez le même chez vous, sachez que j'ai tout balancé en open source sur GitHub , sous licence MIT, donc servez-vous. Voici les pré-requis :

  1. votre site doit être derrière Cloudflare, le plan gratuit suffit largement.
  2. vous générez un token API Cloudflare avec le droit de lecture sur les analytics.
  3. vous posez le script live_count.py sur votre serveur et vous le lancez une fois par minute (ou toutes les 5 ou 10 min) via un cron.
  4. vous ajoutez le bout de JavaScript et son span dans vos pages, tout se règle par des attributs, aucun script inline, donc ça passe même avec une politique de sécurité stricte.

Le seul truc sur lequel ne pas vous louper, c'est de mettre un temps de cache court à live.json. Si c'est trop long, tous vos visiteurs verraient un chiffre périmé.

Voilà. Un petit compteur maison simili-live sans tracking et qui ne me coûte rien, c'est le bonheur !

EmuDevz - Le jeu où vous codez votre émulateur NES

Par : Korben ✨

Afska, le développeur derrière une flopée d'outils pour Game Boy Advance, a eu avec son studio [r]labs une idée géniale ! Ça s'appelle EmuDevz, et c'est un jeu vidéo dans lequel vous devez coder votre propre émulateur NES. Et pas en cliquant sur des boutons comme un loser, hein mais en pissant du vrai code pour le processeur, la puce graphique et la puce audio de la console de Nintendo.

L'émulation, normalement, c'est un truc réputé aride où vous passez des semaines le nez dans la nesdev wiki à piger comment le 6502 gère ses cycles d'horloge. Et pourtant, là, tout devient clair et facile puisque vous avez un éditeur de code intégré façon shell Unix, et vous implémentez le CPU, le PPU et l'APU dans l'ordre que vous voulez. Puis au fil de votre progression, vous débloquez des ROMs et des homebrews à faire tourner dans l'émulateur que vous venez de pondre. Et pour vérifier que votre code tient la route, le jeu fournit même des tests unitaires, des tests vidéo et des tests audio.

Mais le truc qui m'a scotché dans ce "jeu", c'est le debugger. Dans celui-ci, vous avez droit à un visualiseur de mémoire, un log d'instructions, les nametables, la CHR, les sprites, les palettes, les canaux APU affichés un par un, le monitoring du contrôleur... l'arsenal complet du mec qui développe pour de vrai, mais emballé dans une interface gaming. Y'a même un tuto interactif pour apprendre l'assembleur 6502 si vous débarquez sans rien connaître...

Voilà, c'est génial pour apprendre des concepts liés à l'émulation et au développement de jeux retro. On savait déjà qu'il était possible d' apprendre Prolog grâce aux Pokemon ou de recréer une carte 3dfx de zéro et voilà que maintenant, on nous propose carrément de dompter l'émulation de la NES.

Puis surtout, une fois que vous maitriserez un peu plus, le mode libre de EmuDevz vous permettra de commencer à coder des émulateurs pour d'autres systèmes. Ah et y'a même une bande son retro-synthwave dans l'appli pour se mettre dans l'ambiance.

Et je vous l'ai dit ou pas que c'était open source, trouvable sur Steam mais surtout jouable directement depuis votre navigateur ???

La vie est belle ! Et bonne canicule à tous 🥵 !

Source

Favicon - Un site web planqué dans 212 octets

Par : Korben ✨

Si vous ne connaissez pas, un favicon, c'est cette mini icône pixelisée que vous pouvez voir dans l'onglet de votre navigateur qui en général est le logo du site que vous visitez. Hé bien le dev Tim Wehrle a réussi à y faire tenir un site web entier en stockant tout son HTML dans les 212 octets de l'image.

L'astuce est toute con vous allez voir... Une image, c'est des pixels. Et chaque pixel a 3 valeurs : rouge, vert, bleu, soit 3 octets. Du coup il prend son HTML, le découpe octet par octet, et colle chaque octet dans une couleur. Premier octet dans le rouge, le suivant dans le vert, puis le bleu, et on continue ainsi de suite. Et voilà comment il arrive à stocker 208 octets de HTML dans un carré de 9 pixels sur 9. Et au final, le truc ressemble à des confettis random.

Pour relire tout ça ensuite, un peu de JavaScript suffit. Le navigateur charge l'image, la passe dans un canvas, relit chaque pixel, recolle les octets et réaffiche la page. Il n'y a donc rien à installer et pour tester ça par vous-même, il a même mis une démo ici où vous pouvez regarder l'encodage / décodage se faire sous vos yeux ébahis.

Maintenant, n'espérez pas faire tenir votre site e-commerce là dedans hein puisque la capacité plafonne à 239 octets. Et sans le bout de JavaScript qui décode, le favicon tout seul ne servira à rien. Et ce n'est pas de la stéganographie non plus puisqu'on ne planque rien dans une vraie image. La data c'est l'image...

Mais c'est le genre de hack inutile que j'adore ! Le code est sur GitHub si vous êtes curieux et il raconte toute sa démarche sur son blog .

Tanko - Lire des mangas dans le terminal en scred

Par : Korben ✨

Si vous passez votre vie dans un terminal et que vous avez réussi un jour à quitter tout seul Vi / Vim, voici une application qui va vous intéresser. Il s'agit de Tanko , signé Alexandro Mendez, un outil en ligne de commande qui permet de lire et télécharger vos mangas préférés directement depuis un terminal. C'est, en gros, le même concept que youtube-dl mais pour les scans japonais.

Pour installer Tanko, ouvrez un terminal et entrez la commande suivante : pnpm install -g tanko (npm marche aussi). Une fois que c'est fait, y a plus qu'à lancer tanko. Plus besoin d'aller sur les sites en question, vous entrez vos critères de recherche et hop, vous lisez votre chapitre directement. Les chapitres que vous téléchargez en PDF atterrissent dans $HOME/tanko/downloads/.

Après, Tanko affiche les vraies pages en image, à condition d'utiliser un terminal moderne comme Kitty, Ghostty ou WezTerm qui gèrent les protocoles graphiques (Kitty graphics, Sixel). Mais surtout dans un terminal basique, genre le terminal intégré de VS Code ou le bon vieux CMD de Windows, Tanko basculera en mode ASCII Art.

J'suis sûr que vous voyez où je veux en venir... Votre boss passe derrière vous, voit des caractères bizarres défiler dans VS Code, et repart convaincu que vous compilez un truc alors que pendant ce temps-là vous suivez peinard le dernier chapitre de One Piece... niark niark niark.

Côté fonctions, vous avez l'historique de lecture, un menu de config, les notifications et le support de plusieurs sources de scans. Attention quand même, certaines sources scrappent les sites via un navigateur, donc il faudra installer Firefox avec npx playwright install firefox. Après c'est pas non plus obligatoire et vous pouvez vous contenter des sources qui n'en ont pas besoin.

L'outil est cool mais après en ce qui me concerne, lire un manga en ASCII Art c'est marrant 30 secondes, mais pour de la vraie lecture je vous conseille vraiment d'opter pour l'un des terminaux avec support des images que je vous ai cités plus haut.

Et si votre but c'est juste d'aspirer des tonnes de scans, le vieux mangal est plus complet, même s'il est archivé depuis avril 2025 et que plus personne ne le maintient... sniiif. Dans le même style, ça me rappelle aussi Lue qui vous lit vos ebooks en audio dans le terminal et si vous préférez un truc avec une vraie bibliothèque, jetez plutôt un œil à Kavita .

Et enfin, roulements de tambours, pour savoir où trouver vos scans sans finir en correctionnelle, j'avais fait un guide sur le manga et le scantrad .

Bref, c'est gratuit, mais à consommer avec modération pendant les heures de boulot, bande d'ennemis du capitalisme ^^ !!

Anthropic "pauses" token-based billing for its Claude Agent SDK

Last month, Anthropic announced a billing change that would have substantially increased costs for heavy users of its automation-focused Claude Agent SDK, including many third-party apps. On Monday, though, Anthropic abruptly announced it had paused those pricing changes just as they were set to take effect, allowing Agent SDK users to continue drawing from the more generous usage limits in their existing Claude subscriptions.

The plan, as announced on May 13, would have treated usage of the Claude Agent SDK (including via third-party apps and the programmatic "claude -p" command) separately from "standard" Claude usage via the chat interface or the official Claude CLI. At the time, Anthropic said that, as of June 15, that kind of outside SDK usage would be billed at Anthropic's prevailing API rates, with subscribers receiving a simple monthly usage credit equal to their subscription price.

That would have been a major change from the current setup, where Agent SDK use is limited only by the standard weekly caps applied to a user's current Claude subscription tier. Those generous limits allow power users to squeeze a lot more usage out of those paid subscriptions than they would get by paying the same price for API fees. One analysis suggests that Claude Opus users start saving money from their subscription after just two to three messages per day, and that their subscription could be worth many multiples of its monthly cost in API usage.

Read full article

Comments

Ableton Extensions SDK - Codez vos propres outils pour Live

Par : Korben ✨

Je suis trop content parce qu'avec son nouveau SDK pour extensions , Ableton nous permet enfin d'écrire nos propres outils pour son DAW Live en JavaScript. L'intérêt c'est que ces extensions peuvent lire et modifier vos Sets : pistes, clips, notes MIDI, paramètres, automations... et comme ça votre projet se transforme en un truc qu'on peut trafiquer avec du code (et donc avec de l'IA car ça repose sur des technos web standard ^^ niark niark).

En pratique, une extension peut renommer tous vos clips d'un coup, transformer une photo en mélodie MIDI, découper un beat tout seul, ou carrément faire tourner un petit jeu dans Live. Vous faites un clic droit dans le Set, ça s'exécute, et hop, c'est plié !

Par contre, ça ne remplace pas Max for Live puisque Max tourne en temps réel en agissant sur le son des synthés et des effets alors que les Extensions, elles, se lancent d'un clic droit, font leur boulot, puis s'arrêtent. Ce n'est donc pas du temps réel. C'est juste fait pour automatiser et bidouiller la structure d'un projet mais c'est ce qui fait que les deux se complètent bien.

Screenshot

Pour vous lancer, il faut Node.js, être à l'aise avec le terminal, et toute la doc est sur GitHub . Ableton a même sorti une vidéo qui montre comment créer sa première extension de bout en bout.

J'ai testé en le branchant avec Claude Code, et je lui ai demandé de me faire un morceau french electro du thème d'Indiana Jones et voilà ce que ça m'a sorti from scratch (j'ai juste mis un kit rock pour les drums car sinon, y'avait pas de son sur la piste) :

Maintenant, c'est réservé à Live 12 Suite (Beta), soit le haut de gamme du logiciel, donc sur Standard ou Intro, c'est mort. Ensuite c'est de la bêta, donc c'est pas encore 100% complet... Et n'oubliez pas que c'est du JavaScript tiers qui s'exécute dans Live avec un accès à votre projet, donc ça peut toujours faire des dégâts. Évitez donc d'installer un truc random trouvé sur Discord, car ce serait un peu comme quand vous lanciez des VBScript reçus par mail à la grande époque de Windows 98. Surtout que du code pondu par une IA peut aussi cacher quelques saloperies sans que ça se voie, donc vérifiez toujours d'où ça vient et lisez le code.

Quoi qu'il en soit, si vous êtes sur Live 12 Suite, foncez tester et surtout amusez-vous bien !

FROST - Quand un site web peut vous tracker grâce à votre SSD

Par : Korben ✨

FROST, c'est le nom d'une nouvelle attaque qui transforme votre SSD en mouchard. Des chercheurs de l'université de Graz, avec Daniel Gruss au générique (un des cerveaux derrière Spectre et Meltdown), ont montré qu'un simple site web peut deviner quels autres sites et applis vous avez ouverts et cela juste en mesurant les micro-ralentissements de votre disque. Oui, je sais c'est geudin !

Le principe ?

Quand vous ouvrez la page piégée, elle crée discrètement un gros fichier sur votre disque via une API du navigateur baptisée OPFS ( Origin Private File System ), présente aujourd'hui dans tous les navigateurs modernes. C'est ce fichier qui sert de sonde.

Le JavaScript passe son temps à lire dedans et chronomètre chaque lecture au poil de cul et dès qu'une autre appli ou un autre onglet sollicite le SSD, ça crée un embouteillage minuscule sur le disque... que le code peut repérer sous forme de ralentissement.

Sauf que des variations de timing, ça reste du bruit illisible pour un humain. Du coup les chercheurs ont balancé toutes ces mesures dans un réseau de neurones (un CNN, le même genre de bidule qui reconnaît des choses sur des photos).

Entraîné sur des tonnes de traces, le modèle apprend alors la signature de chaque appli et de chaque site web et voilà comment à partir de ça, il devine ce que vous avez ouvert !

Sur un Mac, dans les tests présentés cette semaine, le truc retrouve le bon site parmi un top 50 dans près de 9 cas sur 10, et grimpe à plus de 95% pour reconnaître les applications ouvertes. Le tout sans la moindre action de votre part, à part avoir cliqué sur le lien. C'est totalement invisible.

Mais avant de débrancher votre PC, renvoyer votre box internet et vous lancer à temps complet dans la culture de chanvre, faut relativiser, car cette attaque a plusieurs limites... Le hic numéro un, c'est que le fichier-sonde doit être énorme, genre 1 Go ou plus, et un site qui se met à bouffer autant de place sur votre disque, ça se remarque vite. Le hic numéro deux, c'est que ce fichier doit être sur le même SSD que le navigateur sinon l'attaque est aveugle.

Les chercheurs ont fait tourner l'attaque complète sur un Mac M2, et démontré que la brique de base fonctionne aussi sous Linux (sans dérouler la classification complète), mais n'ont pas testé Windows. Et surtout, personne n'a encore vu FROST exploité dans la nature.

Perso, je trouve que cette attaque est trop bancale / incertaine pour faire du tracking de masse, en tout cas aujourd'hui...

Pensez donc à fermer les onglets dont vous ne vous servez plus comme ça, y'a moins d'activité à mesurer et pour les plus paranoïaques, vous pouvez toujours vous mettre à surveiller les fichiers OPFS créés par des sites web inconnus. Après comme tout repose sur du JavaScript, bloquer le JS sur les sites pas nets (avec un NoScript ou équivalent) ça coupe aussi l'attaque à la racine.

Les chercheurs proposent aussi aux éditeurs de navigateurs de plafonner la taille de ces fichiers OPFS. Ce serait dans la lignée de ce que fait par exemple Firefox avec le pistage, qui a récemment musclé son anti-fingerprinting .

Bref, pas de panique, personne ne fouille votre SSD en douce mais la technique reste intéressante. Les détails techniques complets sont dans le papier de recherche , qui sera présenté à la conférence DIMVA en juillet. Bonne lecture !

Source

pstop - Le vrai htop natif pour Windows

Par : Korben ✨

Y'a des gens trop habitués à Linux, qui tapent htop par réflexe alors que sous Windows, la commande ne fait rien. Pour que ça fonctionne, faut installer WSL, configurer un sous-système Linux entier, et tout ça juste pour surveiller quelques processus... C'est un peu overkill comme on dit.

Mais heureusement, pstop arrive pour corriger ça !

Pstop est un moniteur système TUI pour Windows PowerShell, écrit en Rust, qui pèse ~1 Mo et qui tourne nativement sur Windows 10 et 11 sans aucune dépendance !

L'interface s'organise en quatre onglets : l'onglet principal avec CPU, mémoire et liste des processus, puis des onglets dédiés aux I/O disque, au réseau et au GPU. Le CPU y est affiché par cœur avec un code couleur pour distinguer le temps user, système et virtuel ce qui est très pratique je trouve pour repérer d'un coup d'œil si c'est votre code ou le kernel qui vous pompe les ressources.

Le réseau s'adapte en auto-scaling à la bande passante utilisée, et la liste des processus peut s'afficher en arborescence pour voir les relations parent/enfant. Par contre, l'onglet GPU sera vide si vous n'avez pas de GPU dédié.

Côté navigation, y'a F3 pour chercher, F4 pour filtrer, F2 pour changer de thème, F9 ou k pour tuer un processus....etc. Bref, les raccourcis F1-F10 suivent la convention htop, donc si vous avez la mémoire musculaire d'htop sous Linux, vous retrouverez vos marques immédiatement. Bon après, les vim keys sont disponibles aussi en option si vous êtes des geudins.

Pour l'installer :

# Via winget (le plus simple)
winget install marlocarlo.pstop

# Via cargo
cargo install pstop

Le projet est développé par le même dev derrière psmux, le tmux natif pour Windows que j'avais déjà couvert ici. Finalement, on dirait bien qu'il a décidé de rééquiper le terminal Windows en profondeur, et franchement c'est une bonne nouvelle pour tous ceux qui bossent sous PowerShell !

Par contre, pstop est Windows-only, x86_64 uniquement pour l'instant (pas d'ARM) et si vous cherchez un outil cross-platform pour Linux ou macOS, btop++ reste bien sûr l'option de référence.

C'est sous licence MIT, en open source sur GitHub !

GitHub will start charging Copilot users based on their actual AI usage

GitHub has announced that it will be shifting to a usage-based billing model for its GitHub Copilot AI service starting on June 1. The move is pitched as a way to "better align pricing with actual usage" and a necessary step to keep Copilot financially sustainable amid surging demand for limited AI computing resources.

GitHub Copilot subscribers currently receive an allocation of monthly "requests" and "premium requests," which are spent whenever they ask Copilot for help from an AI model. But those broad categories cover many different AI tasks with a wide range of total backend computing costs, GitHub says.

"Today, a quick chat question and a multi-hour autonomous coding session can cost the user the same amount," the Microsoft-owned company wrote in its announcement. And while GitHub says it has "absorbed much of the escalating inference cost behind that usage" to this point, lumping all "premium requests" together "is no longer sustainable."

Read full article

Comments

Scrapling - Le scraper Python qui se répare tout seul

Par : Korben ✨

Le scraping web, c'est un combat permanent contre les sites qui changent leur HTML toutes les deux semaines. Vous vous emmerdez à coder vos sélecteurs CSS, ça marche pendant un mois, puis le site refait son design et hop, votre script s'eteint en silence. C'est pourquoi Karim Shoair (alias D4Vinci sur GitHub) a sorti Scrapling, un framework Python qui s'adapte tout seul quand le DOM bouge.

La clé c'est adaptive=True sur n'importe quel sélecteur. Vous lui dites "je cherchais .product", Scrapling sauvegarde alors la signature de l'élément (texte, attributs, position dans l'arbre), et la prochaine fois que le site a renommé sa classe, il retrouve l'élément via similarité.

Concrètement ça donne ça :

from scrapling.fetchers import StealthyFetcher
StealthyFetcher.adaptive = True
page = StealthyFetcher.fetch('https://example.com', headless=True)
product = page.css_first('.product', adaptive=True) # Retrouve l'élément même si la classe a changé

Le truc marche grâce à un algo de similarité maison qui compare la structure DOM autour de l'élément. L'auteur lui-même a écrit un long post Medium intitulé " Creating self-healing spiders with Scrapling in Python without AI ", et ça résume bien la philosophie : pas de modèle IA mais juste des heuristiques solides !

La doc précise que adaptive=True ne sauvegarde que le premier élément de la sélection. Du coup si vous récupérez 50 produits d'un coup avec .css('.product'), seul le premier sera adapté. Faudra donc soit utiliser css_first comme dans l'exemple, soit boucler manuellement et appeler adaptive sur chaque élément. C'est bon à savoir...

Y'a également 3 fetchers selon le besoin. Fetcher pour les requêtes HTTP rapides avec spoofing TLS, StealthyFetcher qui passe Cloudflare Turnstile via un navigateur furtif (Camoufox sous le capot), et DynamicFetcher qui lance un Chromium ou un Chrome via Playwright pour les sites lourds en JS. Du coup vous pouvez démarrer léger en HTTP et basculer vers un navigateur uniquement quand un site bloque, sans réécrire votre code.

Côté perfs, le README annonce du lourd : 2 ms pour extraire 5000 éléments contre 1584 ms pour BeautifulSoup avec lxml. Sauf que Parsel et Scrapy font aussi 2 ms. Donc le gain vient du moteur lxml utilisé en direct, ce qui veut dire que si vous étiez déjà sur Scrapy, vous ne gagnerez pas en vitesse brute. Mais si vous traînez encore du BS4 partout, le saut sera énorme !

Sur le terrain anti-bot, ça se compare bien à Botasaurus dont je vous avais parlé. La différence c'est que Scrapling embarque un ProxyRotator natif et propose un blocage d'ads/trackers (~3500 domaines) activable via block_ads=True ou automatique en mode MCP, ce qui simplifie la vie quand vous tournez sur un serveur (où les IPs des datacenter se font régulièrement filtrer). Botasaurus, lui, vous laisse gérer la rotation à la main.

Détail sympa pour les bidouilleurs : y'a également un serveur MCP est intégré (pip install "scrapling[ai]"). Du coup Claude ou Cursor peuvent piloter Scrapling directement pour extraire des données, en réduisant la consommation de tokens car l'IA ne voit pas tout le HTML brut, juste ce qui est extrait. Pour les agents qui scrappent en boucle, c'est cool.

Notez que les sponsors Platinum du projet sont tous des fournisseurs de proxies (DataImpulse, BirdProxies, Evomi, etc.). C'est logique vu l'usage du framework, mais gardez en tête que pour bypasser un Cloudflare sérieux à grande échelle, vous aurez besoin de proxies résidentiels payants, donc d'eux. L'outil est gratuit, mais le contournement industriel ne l'est pas.

Pour installer, c'est pip install "scrapling[fetchers]" puis scrapling install pour récupérer les binaires navigateur. Une image Docker existe aussi (pyd4vinci/scrapling) et y'a même un shell interactif (scrapling shell) pour debugger vos sélecteurs en live.

Bref, c'est carrément pas mal pour ceux qui scrapent régulièrement. Alors si BS4 vous fait pleurer, allez voir par ici .

Et merci à Letsar pour le lien !

Truecaller Faces New Pressure in India as Growth Matures

Truecaller has hit 500 million monthly users, but slower growth in India, CNAP rollout, and ad pressure are testing whether its next phase can be as strong as its first.

The post Truecaller Faces New Pressure in India as Growth Matures appeared first on TechRepublic.

tar-vfs-index - Monter du .tar.gz dans le browser sans l'extraire

Par : Korben ✨

Distribuer des paquets binaires en WebAssembly, c'est galère. Vous téléchargez le .tar.gz, vous le gunzippez, vous l'extrayez en mémoire... et ça rame sévèrement !! Mais youpi, Jeroen Ooms (qui contribue à webR et bosse chez ROpenSci) vient de publier tar-vfs-index , un petit npm package qui casse cette malédiction des enfers en sautant carrément l'étape extraction.

L'astuce est toute bête ! Au lieu d'extraire l'archive, on génère un fichier d'index qui liste la taille et l'offset de chaque fichier dans le tar. Du coup le navigateur n'a plus qu'à monter le blob du tar comme un système de fichiers virtuel, et chaque lecture devient alors un simple slice du blob à la bonne position. Pas d'extraction donc, mais juste du slicing à la demande !

Sous le capot, ça repose sur 3 propriétés alignées. 1/ le format tar est un layout plat : une suite de headers de 512 octets suivis des données du fichier, le tout contigu et adressable à l'octet près. 2/ Emscripten propose un backend filesystem appelé WORKERFS, prévu pour servir les lectures d'un Blob sans le copier dans le heap WASM. Et 3/ les navigateurs ont une API native, DecompressionStream , qui gunzippe efficacement pendant le téléchargement.

Concrètement, vous installez le truc avec npm install tar-vfs-index (y'a aucune dépendance externe) puis vous lancez npx tar-vfs-index archive.tar.gz. Et hop, le package vous sort un JSON dans ce genre :

{
 "files": [
 { "filename": "mypackage/DESCRIPTION", "start": 512, "end": 548 },
 { "filename": "mypackage/R/code.R", "start": 1536, "end": 1563 }
 ],
 "remote_package_size": 3072
}

Les valeurs start et end sont tout simplement les offsets dans les données tar décompressées, et remote_package_size indique la taille totale (pour que WORKERFS sache combien préallouer). Ensuite, côté navigateur, ça donne du JavaScript du genre :

const [metaRes, dataRes] = await Promise.all([
 fetch('archive.tar.gz.json'),
 fetch('archive.tar.gz'),
]);
const metadata = await metaRes.json();
const blob = await new Response(
 dataRes.body.pipeThrough(new DecompressionStream('gzip'))
).blob();
FS.mkdir('/pkg');
FS.mount(WORKERFS, { packages: [{ metadata, blob }] }, '/pkg');

Le cas d'usage qui a motivé tout ça, c'est webR , le portage du langage R en WebAssembly. Les paquets R sont distribués en .tar.gz et avant cette astuce, charger un paquet voulait dire copier des trucs partout. Maintenant le temps et la mémoire de chargement reviennent à peu près au coût du téléchargement et du gunzip, ce qui est nettement plus léger qu'une extraction complète en RAM. Et ça marche pour n'importe quel bundle distribué en tar.gz : assets de jeu, datasets pour du machine learning, runtimes Python via Pyodide, bref tout ce qui ressemble à une archive lourde côté navigateur !

Y'a également un mode --append qui colle l'index directement à la fin du tarball (le format tar autorise ce genre de bidouille). Ça donne donc un .tar.gz autonome qu'un loader peut monter sans aller chercher un fichier de métadonnées séparé !

Bref, c'est plutôt joli comme façon de faire et ça vaut le coup d'œil si vous trimballez du tar.gz dans du WebAssembly.

Source

Microsoft removes Call of Duty from Game Pass, lowers subscription pricing

Microsoft announced Tuesday that subscribers to its Game Pass service will see significant price reductions starting today. But those subscribers will also be losing included day-one access to Activision's popular Call of Duty series from now on.

In the US, the price of a Game Pass Ultimate subscription will drop to $22.99 a month (from $29.99, down roughly 23 percent), while the more limited PC Game Pass will drop to $13.99 a month (from $16.49, down roughly 22 percent). Going forward, neither subscription will include launch day access to new Call of Duty games, which will not be available on Game Pass until the following holiday season. Previous Call of Duty games will continue to be available to Game Pass subscribers, though.

"Game Pass Ultimate has become too expensive for too many players," recently named Xbox CEO Asha Sharma said in a social media post accompanying the announcement, echoing sentiments shared in an employee memo leaked to The Verge last week. "We’ll keep learning and evolving Game Pass to better match what matters to players."

Read full article

Comments

NZXT agrees to let customers keep their rental PCs in class-action settlement

PC hardware company NZXT and its billing partner, Fragile, have agreed to a $3,450,000 settlement in response to a class-action complaint regarding NZXT’s Flex PC rental program.

NZXT announced Flex in August 2024, saying that it would charge customers $59 to $169 a month to rent an NZXT gaming desktop (as of this writing, Flex prices are $79 to $279 per month). At the time, NZXT said that the PCs would be “new or like new.” Subscribers had the option to receive an upgraded rental PC every two years.

The program was met with criticism. Renting a PC can quickly become more costly than buying one, depending on the rental, and YouTube channel Gamers Nexus claimed in November 2024 that customers received less powerful components than expected and that NZXT advertised the rental PCs with inaccurate benchmark results. There was also concern about what NZXT did with customer data left on returned computers.

Read full article

Comments

EmDash - Cloudflare refait WordPress from scratch

Par : Korben

Cloudflare qui sort un successeur open source à WordPress le 1er avril, je vous avoue que ça sentait le poisson d'avril à plein nez. Sauf que non !! EmDash est bien réel, son code est sur GitHub sous licence MIT, et ça s'installe en une commande toute simple !

L'idée de base pour Cloudflare, c'est de dire que WordPress a plus de 20 ans et bien qu'il alimente 40% du web, son architecture de plugins est un emmental (Le gruyère n'a pas de trou les amis ^^). En effet, 96% des failles de sécurité viennent des extensions et pas du noyau PHP ni des thèmes et en 2025, on a quand même explosé le record de failles dans l'écosystème WP.

Du coup Cloudflare, grand prince (Matthew ^^ Ok, je sors...) a tout repris de zéro en TypeScript et avec l'aide de nombreux agents IA. Et de ce que j'ai compris, le gros morceau de ce projet, visiblement, c'est l'isolation des plugins.

Car sur WordPress, une extension a accès à toute la base de données et au système de fichiers (d'où l'importance de bien les choisir ). Alors que sur EmDash, chaque plugin tourne dans son propre isolat avec un modèle de capacités déclaratives. En gros, le plugin annonce dans un fichier manifeste JSON ce dont il a besoin, genre read:content ou email:send, et il ne peut rien faire d'autre. S'il veut accéder au réseau, il doit même préciser le hostname exact. Comme ça fini les extensions qui aspirent vos données en douce. Par contre, ça veut aussi dire que vos plugins WordPress actuels ne marcheront pas tels quels...

Côté stack, c'est comme je disais du TypeScript de bout en bout avec Astro 6.0 en frontend (pour les thèmes) et Node.js derrière. L'auth passe également par des passkeys par défaut (enfin, plus de mots de passe !) et y'a même un système de paiement natif via le standard ouvert x402 pour monétiser du contenu.

Et le truc qui va vous rassurer si vous êtes allergique au cloud : c'est auto-hébergeable. En fait, le CMS peut tourner sur Cloudflare Workers, mais aussi sur n'importe quel serveur Node.js avec SQLite. Les abstractions sont portables, avec Kysely pour le SQL et l'API S3 pour le stockage. Du coup vous pouvez brancher PostgreSQL, Turso, AWS S3, ou tout bêtement des fichiers en local. Le bonheur !

Le truc cool pour les bidouilleurs, c'est que chaque instance expose un serveur MCP (Model Context Protocol) et une CLI pour piloter le CMS par script. Y'a aussi des Agent Skills pour que les agents IA puissent créer du contenu, gérer les médias et modifier le schéma sans toucher au dashboard. C'est clairement pensé pour l'ère des agents IA.

Et pour ceux qui veulent migrer depuis leur WordPress, c'est prévu pour vous faciliter la tâche puisqu'il y a le support d'export WXR classique ou via un plugin dédié qui crée un endpoint sécurisé protégé par mot de passe. Que ce soient les médias, les custom post types...etc tout est transférable en quelques minutes. Par contre, attention les shortcodes et les blocs Gutenberg custom ne passeront pas tels quel, faudra faire des ajustements.

Car oui c'est une v0.1.0 preview, donc on peut le dire, une bonne grosse beta qui bave mais je trouve ça super cool car le drama WP Engine vs WordPress a montré que l'écosystème était fragile, et c'est bien de réintroduire un peu de diversité. Par contre, remplacer un CMS qui fait tourner 40% du web, c'est hyper ambitieux et ça se fera pas en un trimestre. Car la vraie force de WordPress, c'est sa communauté, ses milliers de plugins et de thèmes, et ça pour le moment, y'a pas grand chose sur EmDash.

M'enfin, si vous voulez tester c'est npm create emdash@latest et c'est parti mon kiki. Ah et y'a aussi un playground sur emdashcms.com pour vous faire une idée sans rien installer. Pour ma part, je testerai ça dès que j'aurais 5 min, mais pour le moment, je ne me vois pas quitter WordPress car EmDash n'a pas (encore) ce petit truc en plus qui me ferait changer... On verra d'ici quelques temps.

Source

Entire Claude Code CLI source code leaks thanks to exposed map file

The entire source code for Anthropic's Claude Code command line interface application (not the models themselves) has been leaked and disseminated, apparently due to a serious internal error. The leak gives competitors and armchair enthusiasts a detailed blueprint for how Claude Code works—a significant setback for a company that has seen explosive user growth and industry impact over the past several months.

Early this morning, Anthropic published version 2.1.88 of Claude Code npm package—but it was quickly discovered that package included a source map file, which could be used to access the entirety of Claude Code's source—almost 2,000 TypeScript files and more than 512,000 lines of code.

Security researcher Chaofan Shou was the first to publicly point it out on X, with a link to an archive containing the files. The codebase was then put in a public GitHub repository, and it has been forked tens of thousands of times.

Read full article

Comments

❌