Vue lecture

Aurora OS.js – Un OS virtuel et jeu de hacking directement dans votre navigateur

Et si l'OS lui-même ÉTAIT le jeu ?

C'est exactement le concept derrière Aurora OS.js , un projet open source complètement barré qui simule un système d'exploitation complet dans votre navigateur... avec des mécaniques de jeu de hacking intégrées.

Le truc, c'est que ce n'est pas juste une démo technique. Aurora OS.js embarque un vrai système de fichiers virtuel avec stockage persistant, un terminal avec des commandes type Linux (ls, cd, cat, mkdir...), un gestionnaire de fenêtres, un bloc-notes avec coloration syntaxique, et toute une architecture modulaire pour les applications. Bref, ça ressemble à un vrai OS, ça se comporte comme un vrai OS, mais ça tourne dans un onglet de votre navigateur.

Côté technique, les développeurs n'ont pas fait dans la demi-mesure. C'est à base de React 19, Electron 39, TypeScript 5, Tailwind CSS v4, et des animations fluides grâce à Framer Motion. Et le tout nécessite Node.js 24 minimum, ce qui montre qu'on est clairement sur des technos de pointe.

Le projet suit une roadmap en trois étapes. La version actuelle (v0.7.7) se concentre sur les fondations et l'utilisabilité. La v1.x apportera le gameplay solo de hacking. Et la v2.x ? Du multijoueur persistant où vous pourrez hacker d'autres joueurs. Ça va être trop incrrrr !

Si vous aimez les expériences dans le navigateur ou les projets qui repoussent les limites du web , Aurora OS.js mérite clairement un coup d'œil. Y'a une démo live sur GitHub Pages pour tester directement (user: guest / mdp: guest). Et comme c'est sous licence AGPL-3.0, vous pouvez fouiller le code et même contribuer si le cœur vous en dit.

Source

  •  

Frockly - Vos formules Excel enfin visibles et manipulables

RyuU12358 n'est pas un personnage de manga cyberpunk... Non, c'est un développeur japonais qui a eu une idée toute bête. Il s'est demandé si on pouvait VOIR la structure des formules Excel au lieu de les lire comme on lirait un roman écrit en russe ?

Parce que bon, les formules de tableur imbriquées, c'est le cauchemar de pas mal de monde. Vous savez, ce genre de truc : =IF(AND(SUMIF(A:A,B2,C:C)>100,VLOOKUP(D2,E:F,2,FALSE)="OK"),CONCATENATE(G2," - ",H2),"Erreur").

Et encore, j'ai pris un exemple gentil.

Demo Frockly : une formule Excel décomposée en blocs ( Source )

Le problème, comme le souligne très justement le créateur, c'est pas que ces formules sont complexes. C'est que leur structure est planquée à l'intérieur d'une seule ligne de texte, du coup, à chaque fois qu'on doit les modifier, on repart de zéro pour comprendre comment tout s'imbrique.

Rien que d'y penser, ça me donner la flemme...

Mais c'est là qu'intervient Frockly , un éditeur web qui transforme vos formules en blocs visuels façon Scratch qu'on peut manipuler comme des Lego. Vous collez votre formule monstrueuse, et hop, elle se décompose en morceaux logiques reliés entre eux. Ça ressemble un peu à Flyde pour la programmation visuelle , mais adapté au monde des tableurs.

L'outil propose plusieurs modes de visualisation comme replier certaines parties pour avoir une vue d'ensemble, zoomer sur un noeud précis, ou remonter à la racine pour comprendre la hiérarchie.

Et le truc cool, c'est qu'on peut aussi construire ses formules de A à Z en assemblant des blocs. Plus besoin de compter les parenthèses comme un comptable sous pression. On connecte les fonctions entre elles, et Frockly génère la formule textuelle qu'on peut ensuite copier-coller dans Excel ou un autre tableur.

Y'a même un système de formules nommées (internes à Frockly) pour réutiliser des morceaux de logique, et un import expérimental de fichiers xlsx qui fonctionne côté client. Bon, on est sur une version 0.5, donc faut pas s'attendre à un truc parfaitement stable non plus...

Notez quand même que Frockly ne remplace pas Excel. C'est un outil qui tourne entièrement dans votre navigateur (pas d'upload serveur), ne calcule rien, ne modifie pas vos fichiers, et ne prétend surtout pas être un tableur. C'est en réalité un espace de travail intermédiaire pour comprendre et refactorer, point barre. L'idée c'est d'organiser vos formules ici, puis de retourner dans votre tableur avec une version plus claire.

Le tout est développé en TypeScript, tourne dans le navigateur, et le code est disponible sur GitHub. Bref, si vous avez déjà pesté devant une formule Excel incompréhensible héritée d'un collègue qui a quitté la boite il y a 3 ans, ce petit outil pourrait bien vous sauver quelques heures de migraine.

Source

  •  

Le chat préféré des gens qui ont la même adresse IP

Vous bossez dans un open space et vous avez envie de papoter avec vos collègues sans que tout le monde entende votre conversation ? Ou alors vous êtes étudiant sur un campus et vous voulez lancer un petit chat éphémère avec les gens autour de vous ?

Ça tombe bien, ipchat.org a une approche assez sympa pour ça.

En fait, ce site regroupe automatiquement tous les utilisateurs qui partagent la même adresse IP publique (celle vue par le serveur). En gros, si vous êtes au bureau derrière le même routeur, vous devriez vous retrouver dans le même salon. Pas besoin de créer de compte ni de lien d'invitation, vous débarquez sur le site, vous choisissez un pseudo (ou vous laissez le générateur aléatoire s'en charger) et hop, vous pouvez commencer à causer.

Côté technique, ça utilise du Server-Sent Events pour le temps réel et une API REST derrière. Les messages sont conservés 24 heures avant de disparaître côté applicatif même si évidemment, ça n'empêche pas le serveur de loguer des trucs de son côté, hein. On n'en sait rien.

Après si je vous en parle, c'est parce que je trouve le concept plutôt sympa. C'est un peu le retour aux sources des chats IRC d'antan, version ultra-simplifiée ou de ce bon vieux Net Send... Y'a un côté nostalgique et en même temps pratique. Si vous voulez organiser un apéro improvisé avec les collègues sans spammer le Slack officiel y'a qu'à balancer l'URL et tout le monde se retrouve dans le même chat sans rien installer.

Après c'est pas hyper sécurisé comme concept parce que vous l'aurez compris, toute personne qui rejoint le même salon (même IP publique) peut lire les messages. Donc évitez d'y balancer des trucs confidentiels ou des ragots sur votre chef (enfin... sauf si vous êtes sûr qu'il n'est pas connecté de gros con ^^). Et petit détail, si vous utilisez un VPN ou si votre FAI fait du CGNAT , vous pourriez vous retrouver avec des inconnus dans votre salon. Encore des rencontres charnelles en perspective !

Bref, encore un petit outil marrant pour animer vos pauses café.

  •  

QUESTER1 - Le robot humanoïde qui tient dans un sac à dos

Et si je vous disais qu'un robot humanoïde, un vrai, avec contrôle de force sur tout le corps et des articulations dignes des gros modèles, ça tient maintenant dans un sac à dos ? Vous ne me croiriez pas et pourtant, je viens de découvrir sur Reddit cette vidéo où AGIBOT présente le QUESTER1 (ou Q1 pour les intimes), un petit bonhomme de 80 centimètres qui a de quoi faire réfléchir pas mal de monde dans l'industrie...

Bon, je vous vois venir... "Encore un robot jouet chinois". Sauf que non. Le truc qui change tout ici, c'est la technologie QDD (Quasi Direct Drive) qu'ils ont réussi à miniaturiser jusqu'à obtenir des articulations plus petites qu'un œuf. Et pas des articulations au rabais, hein mais d'un contrôle de force complet et de réactivité haute performance, c'est à dire le même niveau que les grands humanoïdes qui font 1m70.

En septembre dernier on découvrait que certains robots Unitree présentaient des failles Bluetooth . Avec du code fermé c'est pas surprenant alors qu'ici AGIBOT fait le choix inverse en ouvrant volontairement son SDK et son HDK. Le code, les interfaces, les modules d'extension... tout est accessible. Même les composants structurels externes sont open source, ce qui veut dire que vous pouvez imprimer en 3D vos propres coques et donner à votre Q1 l'apparence que vous voulez. Tête interchangeable incluse ! Le délire !

Mais pourquoi faire si petit ?

Bah justement, c'est là que ça devient fort car en théorie, réduire les dimensions de moitié divise le poids par 8 (les joies de la physique en 3D). Du coup, le robot encaisse mieux les chutes, les erreurs coûtent moins cher, et l'itération est beaucoup plus rapide pour les développeurs. Pour la recherche et l'éducation, c'est donc le format idéal puisqu'il tient dans un grand sac à dos.

Côté fonctionnalités, le Q1 n'est pas qu'une plateforme de dev puisqu'il intègre une IA personnalisée qui lui permet de répondre à des questions, d'enseigner l'anglais avec une prononciation correcte (et une patience infinie, contrairement à votre ancien prof de lycée), ou même de danser avec plus de précision que vous.

C'est le futur qui débarque et le plus cool c'est qu'à l'avenir, ils vont proposer une plateforme no-code qui permettra de créer des comportements facilement. Pour les makers, les chercheurs et les étudiants en robotique, c'est donc potentiellement une belle porte d'entrée vers l'humanoïde à taille humaine... enfin presque.

  •  

Comment j'ai viré Algolia et recréé le Google de 1998 sur mon site

Bon, faut qu'on parle un peu du moteur de recherche de mon site. Ceux qui l'ont déjà utilisé savent de quoi je parle : c'était pas terrible. Enfin, « pas terrible » j'suis gentil. C'est un espèce d'overlay avec des résultats certes fiables mais c'était vraiment pas pratique.

Et en plus de ça, comme j'ai un site statique généré avec Hugo, je passais par Algolia pour la recherche. Si vous ne connaissez pas, Algolia c'est un service cloud qui indexe votre contenu et vous fournit une API de recherche ultra-rapide. Sur le papier c'est génial et dans la pratique aussi d'ailleurs sauf que voilà, ça coûte des sous. Et mon site rencontre un franc succès ces derniers temps (merci à vous !), donc j'ai de plus en plus de visiteurs, donc de plus en plus de recherches, donc une facture Algolia qui grimpe gentiment chaque mois.

Du coup je me suis dit : « Et si je trouvais une solution de recherche pour sites statiques ? » Parce que oui, ça existe et c'est comme ça que j'ai découvert Pagefind.

Pagefind c'est donc un moteur de recherche statique open source développé par CloudCannon qui fonctionne comme ceci : Au moment du build de votre site, Pagefind parcourt tout votre HTML généré et crée un index de recherche qu'on peut interroger avec un peu de JS. Y'a donc plus d'API, et tout se fait localement sur le navigateur des internautes.

Bref, ça avait l'air très cool alors évidemment, je me suis lancé dans l'aventure et comme j'aime bien me compliquer la vie, j'ai décidé de pas juste intégrer Pagefind tel quel. Non non. J'ai voulu recréer l'interface du Google de 1998 parce que à quoi bon avoir son propre site web si on peut pas s'amuser un peu ^^.

Laissez-moi donc vous raconter cette aventure.

Le problème avec Algolia

Leur service est excellent, je dis pas le contraire, la recherche est rapide, les résultats sont pertinents, l'API est bien foutue mais voilà, y'a le modèle de pricing puisque Algolia facture au nombre de requêtes de recherche.

Plus les gens cherchent sur votre site, plus vous payez et quand vous avez un site qui fait plusieurs millions de pages vues par mois, bah... ça chiffre vite. En gros je dépasse très vite les 10 000 recherches offertes chaque semaine et ensuite ça chiffre. C'est pas la mort, mais c'est un coût récurrent débile pour un truc qui pourrait être gratuit.

En plus de ça, y'a la dépendance à un service externe. Si Algolia tombe, ma recherche tombe. Et si Algolia change ses prix, je vais devoir subir. Même chose si Algolia décide de modifier son API... il faudra que j'adapte mon code. Bref, c'est le cloud dans toute sa splendeur... C'est pratique mais on n'est jamais vraiment chez nous.

Pagefind à la rescousse

Pagefind résout donc tous ces problèmes d'un coup. C'est un outil en ligne de commande qui s'exécute après votre générateur de site statique (Hugo dans mon cas, mais ça marche avec Jekyll, Eleventy, Astro, ou n'importe quoi d'autre).

Concrètement, vous lancez :

npx pagefind --site public

Et Pagefind va :

    1. Scanner tous vos fichiers HTML dans le dossier public/
    1. Extraire le contenu textuel (en ignorant la nav, le footer, les pubs si vous lui dites)
    1. Créer un index de recherche optimisé
    1. Générer des fichiers JavaScript pour interroger cet index côté client

Et le résultat c'est un dossier pagefind/ qui contient tout ce qu'il faut. Ensuite; à vous de servir ces fichiers statiquement avec le reste de votre site, et la magie pourra opérer !

L'index pour mes 18 000 articles fait environ 1,5 Go. Ça peut paraître beaucoup, mais Pagefind est malin car il découpe l'index en fragments et ne charge que ce qui est nécessaire pour la recherche en cours. Du coup en pratique, une recherche typique télécharge quelques centaines de Ko, et pas plus.

L'intégration technique

Pour intégrer Pagefind dans mon workflow Hugo, j'ai donc été cherché le binaire, je l'ai mis sur mon serveur et je l'ai appelé dans un cron comme ça, je rafraichi l'index de recherche 1 fois par jour (et pas à chaque génération du site).

0 4 * * * /home/manu/pagefind/pagefind --site /home/manu/public_html --output-path /home/manu/public_html/pagefind >> /var/log/pagefind.log 2>&1

J'ai aussi créé un fichier de configuration pagefind.yml pour affiner le comportement :

root_selector: "[data-pagefind-body]"
exclude_selectors:
 - "header"
 - ".site-header"
 - "footer"
 - ".sidebar"

L'astuce ici c'est d'indexer uniquement les div ayant la class data-pagefind-body='true' et d'exclure les éléments qui ne font pas partie du contenu éditorial afin de ne pas indexer ce qui se trouve dans le header, les natives, le footer...etc.

Côté JavaScript, Pagefind utilise les imports ES6 dynamiques. Ça veut dire que le moteur de recherche n'est chargé que quand l'utilisateur lance effectivement une recherche :

async function initPagefind() {
pagefind = await import('/pagefind/pagefind.js');
await pagefind.init();
}

Et pour faire une recherche :

const search = await pagefind.search("linux");
// search.results contient les IDs des résultats
// On charge le contenu de chaque résultat à la demande
for (const result of search.results) {
 const data = await result.data();
 console.log(data.url, data.meta.title, data.excerpt);
}

C'est bien fichu parce que search.results retourne immédiatement les références des résultats, mais le contenu réel (titre, extrait, URL) n'est chargé que quand vous appelez result.data(). Du coup vous pouvez implémenter une pagination propre sans télécharger les données de milliers de résultats d'un coup.

Le délire rétro - Recréer Google 1998

Maintenant que j'avais un moteur de recherche fonctionnel, fallait l'habiller. Et c'est là que j'ai eu cette idée un peu débile : Pourquoi pas recréer l'interface du Google de 1998 ?

Pour les plus jeunes qui lisent ça, Google en 1998 c'était une page blanche avec un logo, un champ de recherche, et deux boutons : « Google Search » et « I'm Feeling Lucky« . Pas de suggestions, pas de carrousels, pas de pubs... Juste un champs de recherche. C'était la belle époque !

J'ai donc créé une page de recherche avec deux vues distinctes. La page d'accueil avec le logo centré et le champ de recherche au milieu, exactement comme le Google originel.

Et la page de résultats avec le logo en petit en haut à gauche et les résultats en dessous.

Pour le code CSS, j'ai voulu être fidèle à l'époque. Times New Roman comme police par défaut, les liens en bleu souligné qui deviennent violet une fois visités. Et surtout, les boutons avec l'effet 3D des interfaces Windows 95 :

.search-button:active { border-style: inset; }

Ce border: outset et border-style: inset au clic, c'est exactement ce qui donnait cet effet de bouton en relief qu'on avait partout dans les années 90. Pour moi, ça fait toute la différence pour l'authenticité. Même le logo, je l'ai volontairement « dégradé » pour qu'il soit de la même qualité que le logo Google d'origine.

La pagination « Koooooorben »

Vous vous souvenez de la pagination de Google avec « Goooooogle » en bas de page ? Le nombre de « o » correspondait au nombre de pages de résultats. J'ai fait pareil, mais avec « Koooooorben ».

let logo = 'K'; for (let i = 0; i < oCount; i++)
{
logo += o;
} logo += 'rben'; }

Plus il y a de résultats, plus il y a de « o ». C'est complètement inutile mais ça me fait marrer à chaque fois que je le vois.

Le bouton « J'ai de la chance »

Ah, le fameux « I'm Feeling Lucky » de Google, j'ai voulu l'implémenter comme à l'époque ! Si vous tapez une recherche et cliquez sur « J'ai de la chance », vous êtes envoyé sur le premier résultat. Classique. Mais si vous cliquez sur le bouton avec le champ vide sur la home de la recherche, vous êtes envoyé sur un article aléatoire parmi les +18 000 du site.

Pour ça, j'ai utilisé une astuce : le sitemap. Mon Hugo génère un fichier sitemap.xml qui contient toutes les URLs du site et je peux aller piocher dedans en JS :

const articles = [...xml.querySelectorAll('loc')] .map(loc => loc.textContent) .filter(url => {
// Exclure les pages qui ne sont pas des articles
const path = new URL(url).pathname;
return !path.startsWith('/categories/') && !path.startsWith('/page/') && path !== '/';
});
const randomUrl = articles[Math.floor(Math.random() * articles.length)];
window.location.href = randomUrl;
} }

Un seul fetch, un peu de parsing XML natif, et hop c'est le grand retour de la fonctionnalité « article aléatoire » qui vous manquait, je le sais !

Tri et nombre de résultats

Je vous ai aussi mis une listbox qui vous permet d'afficher 10, 25 ou 50 résultats ainsi qu'un tri par pertinence ou data. Et ça aussi Pagefind sait parfaitement le navigateur.

Mode sombre et accessibilité

Même si l'interface est rétro, j'ai quand même ajouté quelques fonctionnalités modernes. Le mode sombre respecte les préférences système, et j'ai intégré la police OpenDyslexic pour les personnes dyslexiques.

Le truc important c'est de charger ces préférences avant le rendu de la page pour éviter le fameux flash. J'ai donc un petit script qui lit les préférences dans le localStorage et applique les classes CSS immédiatement :

function() {
 if (localStorage.getItem('theme') === 'dark') {
 document.documentElement.classList.add('dark-mode');
 }
 if (localStorage.getItem('dyslexic-font') === 'true') {
 document.documentElement.classList.add('dyslexic-mode');
 }
});

Gestion de l'historique navigateur

Un détail qui peut sembler anodin mais qui est super important pour l'expérience utilisateur c'est la gestion du bouton retour du navigateur.

Quand vous faites une recherche, l'URL change selon votre requête du genre /recherche/?q=linux&p=2. Du coup si vous partagez cette URL à un collègue, la personne arrivera directement sur les résultats de recherche. Et si vous utilisez le bouton retour, vous reviendrez alors à la recherche précédente.

window.addEventListener('popstate', () => {
const query = new URLSearchParams(location.search).get('q');
if (query) doSearch(query);
else showHomePage();
});

Liens vers d'autres moteurs

Et si vous ne trouvez pas votre bonheur dans mes +18 000 articles (ce qui serait quand même étonnant ^^), j'ai ajouté des liens pour relancer la même recherche sur Google, DuckDuckGo, Qwant, Brave et Ecosia. Bref, un petit service bonus pour mes visiteurs, exactement comme le proposait Google à l'époque.

Le bilan - Algolia vs Pagefind

Après 1 semaine d'utilisation, voici donc mon verdict ! Côté portefeuille d'abord, Algolia me coûtait entre 60 et +100 euros par mois et maintenant pour Pagefind, c'est zéro euros ! Et les performances sont également au rendez-vous. Algolia c'était rapide et bien là, ça l'est encore plus. Seul compromis à noter, l'index Algolia se mettait à jour en temps réel, alors que Pagefind nécessite une reconstruction au moment du build.

La conclusion

Voilà, j'ai maintenant une recherche qui marche vraiment bien, qui me coûte 0€ par mois, et qui a un look rétro qui va en surprendre plus d'un...

Alors est-ce que c'était nécessaire de passer autant de temps sur le design rétro ? Hé bien absolument pas. Mais est-ce que ça valait le coup ?

Franchement, oui !! C'est mon site, je fais ce que je veux, et si ça peut faire sourire quelques visiteurs nostalgiques des débuts du web, c'est du bonus. D'ailleurs un grand merci aux Patreons qui me soutiennent car sans eux, je n'aurais pas pu passer mon dimanche là dessus ^^

Et puis surtout, ça m'a permis de découvrir Pagefind qui est vraiment un excellent outil. Donc si vous avez un site statique (ou n'importe quel type de contenu textuel) et que vous cherchez une solution de recherche gratuite et performante, je vous le recommande chaudement. La documentation est claire, l'intégration est simple, et le résultat est top !

Allez, maintenant vous pouvez aller tester la nouvelle recherche sur le site . Et si vous cliquez sur « J'ai de la chance » sans rien taper... bonne découverte !

  •  

ShaderBeam - Retrouvez la clarté CRT sur vos écrans LCD et OLED

J'sais pas si vous vous rappelez mais quand on jouait à nos jeux préférés sur un de ces vieux écrans CRT, l'image était nette ! Une clarté de mouvement quasi parfaite, avec très peu de traînées... C'était chouette ! Hé bien y'a un dev qui a décidé de recréer ça sur nos écrans modernes avec un outil open source qui s'appelle ShaderBeam .

En fait, le souci de nos LCD et autres OLED, c'est que chaque pixel reste allumé pendant toute la durée d'une frame (c'est ce qu'on appelle le sample-and-hold ). Alors que sur un CRT, le faisceau d'électrons balayait l'écran ligne par ligne, donc chaque pixel ne s'allumait qu'une fraction de seconde. C'est ça qui donnait cette sensation de netteté en mouvement. C'est précisément ce comportement que ShaderBeam tente de reproduire via un shader GPU.

Le projet vient de sortir en version 0.1 beta et c'est développé par Mausimus, le même gars qui a créé ShaderGlass (un overlay pour appliquer des shaders sur Windows). Et son nouveau bébé utilise la technologie de simulation CRT de Blur Busters , développée par Mark Rejhon et Timothy Lottes.

Si vous testez, vous verrez, les résultats peuvent être assez bluffants selon votre config. Sur un écran 120Hz, vous pouvez réduire le flou de mouvement jusqu'à 50% pour du contenu 60fps. À 240Hz, on peut monter à 75% de réduction. Et si vous avez un monstre à 480Hz, c'est jusqu'à 87,5% de blur en moins. Autant dire que ça peut commencer à se rapprocher de l'expérience CRT d'antan.

Le gros avantage par rapport au Black Frame Insertion classique (le BFI que proposent certains écrans), c'est que ShaderBeam peut flicker moins selon les réglages. Au lieu d'alterner brutalement entre image et noir, le shader simule la phosphorescence qui s'estompe progressivement. Résultat, ça peut être plus agréable pour les yeux sur du contenu 60fps.

Par contre, y'a quelques contraintes. Déjà vous avez besoin d'un écran qui monte au minimum à 100Hz, et 240Hz ou plus c'est vraiment l'idéal. Ensuite, le dev recommande d'utiliser un deuxième GPU (votre iGPU intégré fait l'affaire) pour faire tourner ShaderBeam pendant que votre carte graphique principale gère le jeu. Ça peut aider à éviter les problèmes de désync dans la plupart des jeux.

Pour l'installer, ensuite c'est assez simple. Vous téléchargez le zip depuis GitHub, vous lancez l'exe, et l'overlay se met par-dessus vos jeux en fullscreen. Y'a des raccourcis clavier pour afficher l'interface de config (Ctrl+Shift+B), et vous pouvez ajuster plein de paramètres selon votre écran et vos préférences. Attention, il est recommandé de désactiver HAGS, VRR et HDR pour de meilleurs résultats.

Bon, c'est encore une beta, donc attendez-vous à quelques bugs et attention si vous êtes photosensible car ça peut créer des flashs rapides. Mais pour les nostalgiques du CRT qui veulent retrouver cette clarté de mouvement sur leurs écrans modernes, c'est vraiment un projet à suivre. D'ailleurs, Blur Busters propose une démo interactive si vous voulez voir le principe en action avant de télécharger.

Source

  •  

Scriberr - La transcription IA qui reste chez vous

Vous avez déjà fait transcrire une interview ou un podcast par un service en ligne ? Vous savez, ces trucs qui vous demandent de créer un compte, de filer votre carte bleue, et d'accepter que vos fichiers audio soient envoyés sur des serveurs quelque part dans le cloud américain pour être analysés par des IA qu'on ne connaît pas. Le tout pour 100 balles par an si vous avez de la chance, et beaucoup plus si vous dépassez le quota ridicule de 20 heures par mois...

Hé bien y'a une alternative qui va vous plaire : Scriberr ! C'est une app de transcription audio complètement open source et surtout, qui tourne 100% en local sur votre machine. Pas de cloud, pas de données qui se baladent, pas d'abonnement mais juste vous, avec votre serveur (ou votre laptop si vous avez un GPU correct), et vos fichiers audio qui restent bien au chaud chez vous.

Scriberr utilise des modèles de reconnaissance vocale de pointe comme NVIDIA Parakeet, Canary ou les fameux modèles Whisper. Du coup la qualité de transcription est vraiment au niveau des services payants, voire meilleure sur certains accents ou langues moins courantes. Et cerise sur le gâteau, vous avez l'alignement temporel au niveau du mot, ce qui veut dire que vous pouvez savoir exactement à quelle seconde chaque mot a été prononcé.

Mais le truc qui m'a vraiment tapé dans l’œil avec cet outil, c'est la détection automatique des locuteurs. Vous savez, cette fonctionnalité qu'on appelle "diarization" dans le jargon et qui permet d'identifier qui dit quoi dans une conversation. Comme ça, fini les transcriptions où tout le monde parle mais on ne sait pas qui c'est. Là, Scriberr vous découpe tout proprement avec des étiquettes pour chaque intervenant.

Et comme si ça suffisait pas, y'a aussi l'intégration avec Ollama ou n'importe quelle API compatible OpenAI. Du coup vous pouvez non seulement transcrire vos enregistrements, mais aussi leur poser des questions, générer des résumés, ou carrément avoir une conversation avec le contenu de vos transcriptions. Genre vous demandez "c'est quoi les points clés de cette réunion ?" et hop, l'IA vous fait un résumé. Pratique pour les feignasses comme moi qui détestent se retaper 2 heures de réunion pour retrouver une info.

Côté installation, c'est du Docker classique ou alors Homebrew si vous êtes sur Mac. Un petit

`brew tap rishikanthc/scriberr && brew install scriberr`

et c'est parti mon kiki. Pour Docker, y'a des images pour CPU et GPU (CUDA), et ça supporte toutes les générations de cartes NVIDIA depuis les GTX 1000 jusqu'aux RTX 50 series toutes récentes.

Le premier lancement peut prendre quelques minutes parce que ça télécharge les modèles de reconnaissance vocale, mais une fois que c'est fait, les relances suivantes sont quasi instantanées. Y'a même un Folder Watcher qui surveille un dossier et transcrit automatiquement tout ce qui arrive dedans, parfait si vous voulez brancher ça sur un workflow automatisé avec n8n ou autre.

Bref, si vous êtes podcaster, journaliste, chercheur, ou juste quelqu'un qui a régulièrement besoin de transcrire des trucs sans vouloir filer ses données à Google ou payer un abonnement, Scriberr c'est exactement ce qu'il vous faut. C'est du self-hosting comme on l'aime, c'est à dire open source, respectueux de la vie privée, et qui fait le taf sans chichi.

Merci à Letsar pour le partage !

Source

  •  

IDEmacs - Emacs qui se prend pour VSCode pour convertir les débutants

Si vous avez toujours voulu essayer Emacs mais que la courbe d'apprentissage vous fait peur, IDEmacs est fait pour vous ! Ce projet transforme Emacs en clone de VSCode avec les mêmes raccourcis clavier, la même interface graphique et les mêmes fonctionnalités out-of-the-box, comme ça vous n'avez plus besoin de vous taper une configuration durant trois jours avant de pouvoir écrire une ligne de code !

Cool, hein ?

L'idée c'est donc de permettre aux développeurs habitués à des IDE modernes de passer à Emacs sans devoir réapprendre tous leurs réflexes. Les raccourcis clavier reprennent ceux de VSCode comme Ctrl+C pour copier, Ctrl+V pour coller, Ctrl+F pour chercher. C'est basique mais indispensable quand vous venez d'un autre éditeur.

Côté interface, IDEmacs intègre Treemacs pour avoir un explorateur de fichiers dans la sidebar comme sur VSCode. Y'a aussi Centaur Tabs pour les onglets, un thème Dark Plus qui ressemble à celui de Microsoft, et le support des curseurs multiples. Bref, visuellement vous êtes en terrain connu.

Du coup, c'est pour qui exactement ?

Hé bien le projet cible trois types d'utilisateurs : les développeurs qui veulent migrer vers Emacs depuis un autre IDE, les débutants en Lisp ou Scheme qui ont besoin d'Emacs pour bosser, et les non-programmeurs qui cherchent juste un éditeur de texte puissant sans se prendre la tête avec la config.

D'ailleurs, contrairement à la plupart des starter kits Emacs, IDEmacs ne cache pas les éléments graphiques par défaut. Les menus, barres d'outils et scrollbars sont visibles donc vous pouvez configurer le tout via l'interface graphique plutôt qu'en écrivant du Elisp à la main.

La config proposée inclut une vingtaine de packages tels que Vertico, Consult et Marginalia pour l'autocomplétion, Magit pour le contrôle de version, Sly et Geiser pour le développement Lisp et Scheme, plus des outils comme expand-region, multiple-cursors et smartparens pour l'édition avancée.

Pour installer IDEmacs, il vous faudra donc Emacs 29 ou plus récent, git, et optionnellement grep et locate. Clonez le repo puis lancez Emacs avec

emacs --init-directory=/path/to/IDEmacs/vscode .

Et hop, c'est prêt !

IDEmacs reste une porte d'entrée vers Emacs, et pas un remplacement définitif de VSCode mais l'idée avec ce truc, c'est de vous permettre de commencer à utiliser Emacs sans friction, puis de personnaliser au fur et à mesure que vous comprenez comment ça marche. Je vous assure que vous allez probablement vouloir modifier des trucs une fois que vous serez à l'aise.

Voilà, si vous avez toujours été curieux d'Emacs mais que vous n'avez jamais osé franchir le pas, c'est l'occaz !

A découvrir ici !

  •  

Quand NVIDIA largue les GTX 1000 sur Linux et que ça part en cacahuète sur Arch

Vous avez une vieille GTX 1060 qui tourne nickel sous Arch Linux ? C'est con, NVIDIA vient de vous mettre un beau coup de pied aux fesses car la boîte au caméléon vert a décidé d'abandonner le support des GPU Pascal (les GTX 10xx) dans son dernier driver 590 et ça crée un joyeux bordel, notamment sur Arch.

Le problème, c'est que quand vous faites une mise à jour système sur Arch avec une vieille carte Pascal ou Maxwell, le nouveau driver refuse de charger. Résultat, vous vous retrouvez éjecté vers la ligne de commande sans interface graphique. Sympa pour débugger quand y'a plus d'écran qui fonctionne...

Faut dire que le modèle "rolling release" d'Arch fait que les utilisateurs ont reçu ce driver incompatible automatiquement avec leur mise à jour. Ils n'ont pas eu le temps de dire ouf que leur système était déjà cassé. Et les GTX 1060 et 1050 Ti, c'est pas exactement des cartes de musée... Y'en a encore pas mal qui tournent sur Steam, et même si parmi leurs propriétaires, seule une poignée utilise Linux, et encore moins Arch, ça fait quand même du monde impacté.

Pour s'en sortir, y'a deux solutions. La première, c'est d'installer le driver legacy nvidia-580xx-dkms depuis l'AUR, qui est maintenu par l'équipe CachyOS. Le hic, c'est que ça crée des problèmes de dépendances avec Steam, donc faut aussi installer lib32-nvidia-580xx-utils pour que les jeux 32 bits fonctionnent. La deuxième option, c'est de basculer sur Nouveau, le driver open source fait par reverse engineering. Ça marche, mais avec les limitations que ça implique niveau performances et fonctionnalités.

Ce qui me rend dingue dans cette histoire, c'est que pendant des années, NVIDIA a refusé de fournir de la documentation pour ses GPU, forçant la communauté Linux à utiliser le reverse engineering pour Nouveau. Et depuis 2022, ils ont ouvert les modules kernel pour les architectures Turing et plus récentes, mais les parties user-space et le firmware restent propriétaires. Et surtout, aucune aide pour les vieilles cartes comme Pascal !! Du coup, maintenant que NVIDIA abandonne ces générations de cartes, c'est aux bénévoles de la communauté de maintenir les drivers legacy... Pas cool.

D'ailleurs, l'annonce officielle d'Arch Linux précise que les cartes Turing et plus récentes (RTX 20xx et GTX 1650+) vont automatiquement basculer vers les modules kernel open source, donc pas d'intervention manuelle pour eux. C'est uniquement les propriétaires de vieilles Pascal/Maxwell qui doivent se taper le boulot.

Bref, si vous avez une carte Pascal sous Arch, basculez sur nvidia-580xx-dkms avant votre prochain pacman -Syu. Dans sa grande bonté, NVIDIA a aussi promis des patchs de sécu jusqu'en 2028, mais bon, on a vu ce que valent leurs promesses côté Linux...

Source

  •  

U7 Revisited - Ultima VII tel qu'il aurait dû être en 1992

Depuis plus de 20 ans, Exult fait tourner Ultima VII sur Windows, macOS et Linux. C'est un moteur open source génial, mis à jour en mai dernier, qui nécessite les fichiers originaux du jeu et permet de finir The Black Gate et Serpent Isle sans souci. Alors pourquoi diable Anthony Salter a-t-il créé U7 Revisited , un autre moteur pour le même jeu ?

Hé bien parce qu'Exult et U7 Revisited n'ont pas du tout le même objectif.

Le truc que beaucoup ignorent, c'est qu'Ultima VII était techniquement un monde 3D coincé dans un moteur 2D. En 1992, chaque objet du jeu avait déjà une largeur, une profondeur et une hauteur, ce qui fait que ce monde était donc composé de blocs 3072x3072x16. Mais la technologie de l'époque ne permettait pas d'afficher tout ça en vraie 3D, du coup Origin a dû se contenter d'une vue fixe pseudo-isométrique.

Exult vise donc à reproduire cette expérience originale au plus près, tout en ajoutant quelques améliorations. C'est son but et c'est très bien comme ça.

U7 Revisited, lui, part d'un autre postulat qui est : Et si on montrait enfin ce monde 3D dans un vrai moteur 3D ?

Anthony Salter a donc développé son propre moteur pour présenter Britannia avec une caméra rotative, un peu comme Dungeon Keeper ou Grandia. Vous pouvez ainsi tourner autour des bâtiments, zoomer, regarder les choses sous différents angles.

Et ça, ça règle une vraie frustration du jeu original car pour ceux qui y ont joué, vous vous souvenez peut-être de ces moments bien relous où vous cherchiez désespérément un levier ou une clé cachée derrière un mur ? Origin utilisait souvent cette technique de planquer des objets en ne laissant dépasser qu'un ou deux pixels.

Hé bien avec une caméra rotative, fini ce genre de galère.

Côté contrôles, c'est du moderne : WASD pour bouger, Q et E pour la rotation, molette pour le zoom. Le projet est codé en C++ et Lua, et il y a même des touches de fonction (F1 à F11) pour interagir avec différents aspects du monde.

Le développement avance bien d'ailleurs et dans ses dernières updates d'août, Anthony a présenté le support widescreen, un meilleur éclairage et le drag-and-drop pour les objets.

Il existe également plein d'autres projets fans autour d'Ultima comme Nuvie qui recréé Ultima 6, Pentagram qui s'occupe d'Ultima VIII. La communauté Ultima adore refaire ses jeux préférés avec des outils modernes, c'est comme ça. Mais U7 Revisited a quand même cette approche unique avec cette vision 3D du monde.

Si vous voulez tester, il faut copier les fichiers du jeu original DOS dans le dossier /Data/u7 puis builder le projet via CMake ou Meson.

Merci à Joseph de m'avoir signalé ce projet.

  •  

Comment les IA se nourrissent de livres piratés ?

Bibliotik ça vous parle ou pas ? C'est un tracker torrent privé ultra-discret comme il y en a tant d'autres, où les fans de lecture vont chopper leurs ePubs.

Hé bien figurez-vous que Meta, Bloomberg, et toute une brochette de géants de la tech ont fait exactement pareil pour entraîner leurs IA. Sauf qu'eux, c'était pas pour lire du Stephen King au lit, mais pour aspirer 195 000 livres d'un coup et les transformer en "données d'entraînement".

Le dataset s'appelle Books3, et c'est un peu le Napster des LLMs. Créé en 2020 par un chercheur IA nommé Shawn Presser, ce jeu de données de 37 Go compressés contient des bouquins scrapés directement depuis la bibliothèque pirate Bibliotik. L'idée de Presser était plutôt noble à la base puisqu'il voulait démocratiser l'accès aux données d'entraînement pour que les petits labos puissent rivaliser avec OpenAI et leurs mystérieux datasets "Books1" et "Books2" dont personne ne connaît le contenu.

Sauf que Books3 a fini par être intégré dans The Pile , un gros dataset de 825 Go créé par EleutherAI, et là ça a pris des proportions industrielles... Meta l'a utilisé pour entraîner LLaMA, Bloomberg pour BloombergGPT, et des dizaines d'autres projets. Le problème, c'est que ça contient des livres protégés par le copyright tels que des romans de Sarah Silverman, de George R.R. Martin, et même le bouquin de John Carreyrou sur Theranos, "Bad Blood". D'ailleurs Carreyrou vient de porter plainte avec d'autres auteurs contre six géants de l'IA dont Anthropic, Google, OpenAI, Meta, xAI et Perplexity.

Et comme vous vous en doutez, la défense de toutes ces entreprises c'est le fameux "fair use" des américains. En gros, ils disent que transformer des livres en vecteurs mathématiques pour qu'une IA apprenne à écrire, c'est pas du vol, c'est de l'apprentissage. Un peu comme quand vous lisez 500 bouquins et que ça influence votre style d'écriture. Sauf que vous, vous payez vos livres et vous avez un cerveau biologique alors que ces IA, elles, aspirent tout le web sans demander la permission à personne.

Et en juin dernier, deux juges californiens ont, sans surprise, tranché en faveur d'Anthropic et Meta sur certains points. Ils ont considéré que l'utilisation de livres protégés pour entraîner des modèles comme Claude ou Llama 2 pouvait constituer un usage "spectaculairement transformatif" donc légal. Par contre, télécharger les bouquins depuis des sites pirates, ça reste illégal... Bref, vous pouvez utiliser le butin, mais pas le voler vous-même...

De son côté, le sénateur américain Hawley n'a pas mâché ses mots en parlant du "plus grand vol de propriété intellectuelle de l'histoire américaine" et quand on voit que les auteurs ont touché environ 3000 dollars chacun dans le règlement de 1,5 milliard de dollars proposé par Anthropic alors que ces boîtes génèrent des milliards de revenus, je peux comprendre l'énervement.

Mais le pire, c'est qu'il existe des datasets alternatifs 100% légaux, ouverts, et utilisables sans risquer un procès !! J'ai par exemple découvert Common Corpus , et je kiffe le concept. C'est un projet coordonné par Pleias, une startup française, avec le soutien de HuggingFace, du Ministère de la Culture et de l'AI Alliance et ce dataset contient 500 milliards de mots, dont 180 milliards en anglais et 110 milliards en français.

Mais alors d'où viennent ces données légales ?

Hé bien du domaine public uniquement. Ce sont des millions de journaux américains qui ont été numérisés via le projet Chronicling America, des collections de patrimoine culturel, des monographies historiques...etc. Et tout a été vérifié pour s'assurer que les droits d'auteur sont bien expirés.. Donc dedans, y'a pas de livres piratés, ce qui veut dire pas de procès potentiels...etc.

Y'a aussi le dataset Dolma avec ses 3 trillions de tokens créé par l'Allen AI Institute, ou encore RedPajama qui atteint les 30 trillions de tokens, et ces projets sont open source avec tout le processus de construction documenté donc vous pouvez les auditer, les refaire, et les vérifier, contrairement aux datasets proprio où on vous dit "faites-nous confiance, on a rien fait de mal, hihihi".

Mais même si tout ces trucs open source ont l'air cool, le problème, c'est que personne (ou presque) ne les utilise parce que les vieux livres du domaine public, ça parle comme Molière ou Victor Hugo. Le vocabulaire est archaïque, les tournures de phrases sont datées... on dirait une discussion sur l'oreiller du couple Macron. Et vous l'aurez compris, un LLM entraîné là-dessus va avoir tendance à vous pondre du texte qui sent la naphtaline, alors que les livres modernes piratés, quand à eux, c'est du langage contemporain, des dialogues naturels, des références actuelles...etc.

C'est donc ça le dilemme... Choisir entre éthique ou performance. Les chercheurs de Mozilla et EleutherAI ont publié en janvier 2025 un papier sur les bonnes pratiques pour créer des datasets ouverts , et ils admettent eux-mêmes que c'est compliqué car les métadonnées sont pourries, la numérisation coûte une blinde, et il faut des compétences juridiques ET techniques pour faire les choses proprement.

Un autre paradoxe encore plus cruel c'est que les projets qui documentent proprement leurs sources deviennent des cibles faciles pour les procès. C'est comme ça que le groupe anti-piratage danois Rights Alliance a fait supprimer Books3 via des notices DMCA, forçant EleutherAI à nettoyer The Pile alors que pendant ce temps, OpenAI reste discret sur ses données d'entraînement et évite ainsi les ennuis. Faire les choses bien, ça vous expose alors que faire les choses en douce pour entrainer votre IA, ça passe tranquillou (même si ça n'immunise pas totalement contre les procès non plus, faut pas déconner).

Et de plus en plus de sites partout sur la toile, changent petit à petit leurs conditions d'utilisation pour interdire le scraping par les IA... Autant dire que le web ouvert se referme petit à petit, ce qui rend encore plus galère de construire des datasets éthiques...

Bref, on est dans une situation où les géants aspirent tout sans vergogne, et où les petits qui essaient de faire les choses proprement galèrent... Sans parler des auteurs qui se retrouvent à quémander 3000 balles pour des œuvres qui valent bien plus. Common Corpus et tous ces autres projets ouverts prouvent, certes, qu'on peut entraîner des IA sans piller le travail des autres, mais ça demande énormément plus d'efforts et ça donne des résultats incroyablement moins sexy...

Voilà, au final, la vraie question n'est donc pas technique, mais politique. Est-ce qu'on doit accepter qu'une machine qui lit pour transformer un livre en vecteur, c'est OK parce que grâce à ce petit sacrifice, on peut profiter d'IA (open source de préférence) de folie ? Ou est ce qu'on se dit que lire c'est du vol quand c'est une machine qui lit ? Et dans ce cas, on accepte d'avoir des IA qui cause comme Balzac... ?

Source

  •  

Sisu - Quand votre AWS devient un simple dossier sur votre disque

Vous passez vos journées à faire des aws iam list-users | jq '.Users[]' et autres trucs interminables pour juste trouver une info ?? Laissez tomber, j'ai le truc qui va vous changer la vie !

Ça s'appelle Sisu et c'est un petit outil en Go qui monte vos ressources AWS comme un système de fichiers local. Du coup, au lieu de taper des commandes AWS complexes, vous utilisez juste grep, cat, diff, vim... c'est à dire les outils Unix que vous connaissez déjà par cœur.

Vous lancez la commande sisu et hop, vos ressources AWS se retrouvent montées dans ~/.sisu/mnt/ ! Vos buckets S3, vos paramètres SSM, vos roles IAM, vos lambdas, vos instances EC2...etc. Tout ça organisé en dossiers par profil AWS et par région.

Ainsi, pour chercher tous vos utilisateurs IAM qui ont un accès admin, c'est aussi simple que :

grep -l "AdministratorAccess" */global/iam/users/*/policies.json

Pour comparer la config d'un rôle entre prod et staging :

diff prod/global/iam/roles/api/info.json staging/global/iam/roles/api/info.json

Et pour lire un secret ? Un simple cat default/us-east-1/secrets/myapp/database/value.

C'est bête comme Jordan mais ça change tout pour la maintenance au quotidien !

Et côté services supportés, Sisu gère pas mal de trucs tels que le S3 et SSM Parameter Store en lecture/écriture/suppression, et IAM, VPC, Lambda, EC2, Secrets Manager, Route 53 et CloudWatch Logs en lecture seule. Y'a même un truc sympa pour EC2 c'est que vous pouvez vous connecter à une instance via SSM Session Manager sans avoir besoin de clés SSH. Suffit d'exécuter le fichier connect qui se trouve dans le dossier de l'instance (à condition d'avoir l'agent SSM configuré sur l'instance et le plugin Session Manager côté client, évidemment).

Pour les logs CloudWatch, c'est bien aussi puisqu'ils sont streamés à la demande par batches de 100, donc vous pouvez faire un grep dessus sans tout charger en mémoire d'un coup.

Côté installation, c'est du Go classique :

go install github.com/semonte/sisu@latest

Faudra juste penser à installer FUSE avant sur votre système (apt install fuse sous Ubuntu/Debian, yum install fuse sous RHEL/CentOS) et c'est tout, y'a rien d'autre à configurer si vous avez déjà vos credentials AWS en place.

Après, l'outil cache les résultats pendant 5 minutes pour éviter de spammer l'API AWS à chaque ls, ce qui est plutôt indispensable pour limiter les appels et le temps de réponse.

Bref, si vous en avez marre de jongler avec jq pour parser du JSON AWS, Sisu va vous aider ! C'est open source sous licence MIT, et c'est par ici !

  •  

LeafKVM - Le petit boîtier qui vous donne le contrôle total sur n'importe quelle machine

Vous avez un serveur dans un placard, un NAS chez vos parents, ou une machine headless qui fait des siennes et qui refuse de booter correctement ? Alors vous connaissez forcement cette galère quand c'est impossible d'y accéder à distance parce que l'OS a crashé, que le réseau ne répond plus, ou que vous avez besoin de tripatouiller le BIOS pour changer un réglage.

Ah mais c'est terminé ces galères de cro-magnons, car il existe maintenant un petit boîtier open source qui règle tout ça et qui s'appelle LeafKVM. C'est un KVM over IP sans fil, avec un écran tactile intégré, qui vous permet de prendre le contrôle total d'une machine depuis votre navigateur web, sans avoir besoin d'installer quoi que ce soit sur la machine cible.

Vous branchez le LeafKVM en HDMI sur votre serveur (pour capturer l'image) et en USB (pour émuler clavier/souris), et hop, vous accédez à l'écran de la machine depuis n'importe quel navigateur que vous soyez sur votre canapé ou à l'autre bout du monde via RustDesk , vous voyez exactement ce que la machine affiche, du BIOS jusqu'à l'OS, et vous pouvez taper au clavier comme si vous étiez devant. Vous pouvez même monter des images ISO à distance pour réinstaller un OS sur une machine plantée, ce qui est quand même bien pratique.

Et LeafKVM embarque sa propre connectivité Wi-Fi 5 avec un mode hotspot intégré, du coup, même si votre serveur n'a pas de réseau fonctionnel (genre le driver réseau qui merde au boot), vous pouvez quand même y accéder en vous connectant directement au Wi-Fi du boîtier depuis votre smartphone. Pas besoin de trimballer un écran et un clavier dans votre local technique, le LeafKVM fait tout ça dans son boîtier alu de 90x65mm qui tient dans la poche.

Côté specs, on a donc un processeur Rockchip RV1106G3 avec 256 Mo de RAM et 16 Go de stockage eMMC, une puce Toshiba TC358743 pour la capture HDMI jusqu'en 1080p/60fps avec une latence sous les 100ms, du Wi-Fi 5 et Bluetooth via une puce RTL8821CS, un port Ethernet 100 Mbps avec support PoE optionnel, et surtout cet écran tactile IPS de 2,4 pouces qui permet de configurer le réseau ou de prévisualiser l'écran directement sur le boîtier sans avoir besoin d'un PC.

Le tout est vraiment open source avec les schémas hardware sous licence CERN-OHL-W et le logiciel sous GPLv2/v3. Le firmware est basé sur Linux Buildroot avec un backend en Rust, et l'interface web est dérivée du projet JetKVM. Bref, vous pous pouvez auditer le code si ça vous amuse mais également le modifier et le compiler vous-même si ça vous chante..

Par rapport aux alternatives comme le JetKVM à 69 dollars qui n'a pas de Wi-Fi hotspot, ou le NanoKVM de Sipeed qui est moins cher mais qui a eu quelques soucis de sécurité avec ses mots de passe par défaut, le LeafKVM se positionne très bien sur le créneau du "fait maison mais bien fini".

Le projet est actuellement en pré-lancement sur Crowd Supply, donc pas encore de prix annoncé, mais si vous êtes du genre à avoir des machines éparpillées un peu partout et que vous en avez marre de vous déplacer à chaque fois qu'une d'elles fait des caprices, ça vaut le coup de garder un œil dessus.

Merci à Letsar pour le partage !

Source

  •  

FUTO Voice Input - L'appli de dictée vocale qui garde tout sur votre téléphone

Je sais pas vous, mais moi dès que j'ai un truc à écrire sur mon smartphone, je le dicte. Et que je sois sous Android ou soit iOS, je sais très bien que chaque mot que je prononce part directement sur les serveurs de Google ou Apple. Pourquoi j'ai trouvé FUTO Voice Input , intéressant parce que lui, garde tout sur votre téléphone...

C'est une appli Android qui utilise le modèle Whisper d'OpenAI pour faire de la reconnaissance vocale vraiment précise et ça tourne nickel sur un smartphone moderne. Trois tailles de modèle sont dispo : tiny, base, et small. La base suffira dans 90% des cas, mais vous pouvez basculer sur la small qui est un peu plus grosse, si vous avez un accent à couper au couteau ou si vous parlez dans le métro.

FUTO Voice Input supporte également 16 langues dont le français, l'anglais, l'allemand, l'espagnol, le japonais et plein d'autres et l'appli s'intègre directement comme clavier de saisie vocale Android, du coup elle fonctionne avec n'importe quelle application. Vous pouvez donc l'utiliser avec des claviers comme AnySoftKeyboard ou Unexpected Keyboard . Par contre, oubliez Gboard ou le clavier Samsung qui ont leur propre système verrouillé.

Le projet vient de FUTO, une organisation fondée par Eron Wolf (ex-investisseur de WhatsApp) et Louis Rossmann, le YouTubeur américain connu pour son combat pour le droit à la réparation, y bosse comme directeur de la com. Donc niveau éthique, je pense que c'est OK.

L'appli est dispo sur le Play Store, sur F-Droid, ou en APK direct d'environ 70 Mo. Y'a une version gratuite et une version payante sous forme de licence unique (pas d'abonnement, ouf) et le code source est ouvert et disponible sur GitLab.

Voilà, si vous en avez marre que vos paroles soient analysées par des serveurs à l'autre bout de la planète, FUTO Voice Input c'est une très bonne option !

Merci à PARADOXE_ pour l'info !

  •  

Un projet open source qui détecte les nids-de-poule

Vous savez que depuis quelques années, des startups équipent les camions poubelle et les bus de caméras IA pour cartographier automatiquement l'état des routes ? Comme ça, pendant que le chauffeur fait sa tournée, une intelligence artificielle détecte les nids-de-poule, les fissures et autres joyeusetés routières en temps réel. Chaque défaut est géolocalisé, scoré par gravité, et hop, les équipes de maintenance savent exactement où intervenir.

Bon apparemment, là où j'habite, ils n'utilisent pas ça parce que les routes sont des champs de mines, mais si le Maire se chauffe en DIY, ce projet maintenu par un certain Peter va l'intéresser.

C'est sur GitHub et c'est un stack complet pour faire exactement la même chose que les startups spécialisées en nids de poule... un vrai projet end-to-end avec l'entraînement du modèle sur du GPU cloud, une API backend containerisée, et même une app mobile React Native pour scanner les routes depuis votre téléphone.

Le projet s'appelle pothole-detection-yolo et ça utilise YOLOv8, le modèle de détection d'objets qui fait fureur en ce moment dans le domaine de la vision par ordinateur. Concrètement, le modèle a été entraîné sur un dataset de nids-de-poule disponible sur HuggingFace, avec des images de 640x640 pixels. L'entraînement s'est fait sur Nebius Cloud avec des GPUs H100, donc du sérieux, pas du Colab gratuit qui timeout au bout de 20 minutes.

Ce qui est cool avec ce projet, c'est qu'il ne s'arrête pas au modèle. Y'a une API FastAPI complète qui expose deux endpoints : /detect pour envoyer une image et récupérer les bounding boxes avec les scores de confiance, et /health pour vérifier que le service tourne. Le tout est containerisé en Docker avec support GPU automatique. Et si vous avez pas de carte graphique, ça bascule sur CPU.

Et la cerise sur le gâteau, c'est l'app mobile Expo/React Native. Vous ouvrez l'app, vous prenez une photo d'une route avec votre smartphone, l'image est envoyée à l'API, et vous récupérez les détections en temps réel avec les rectangles dessinés autour des nids-de-poule et les pourcentages de confiance affichés. Bref, c'est exactement ce que font les boites tech à plusieurs millions, sauf que là c'est open source sous licence Apache 2.0.

YOLOv8 atteint facilement entre 93 et 99% de précision pour la détection de nids-de-poule selon les variantes utilisées et des chercheurs ont même combiné YOLOv8 avec des données de nuages de points 3D pour atteindre 95.8% de précision sur des tronçons de tests d'environ 5 km. Bref, c'est du solide et ça fonctionne .

Le truc intéressant pour les bricoleurs, c'est que le modèle entraîné est directement téléchargeable sur HuggingFace donc vous pouvez donc skip toute la partie entraînement si vous voulez juste tester le résultat. Une seule commande Docker pour lancer l'API, et vous êtes opérationnel. Pour les plus motivés qui veulent entraîner leur propre modèle avec des données locales de vos routes françaises pleines de cratères, le code d'entraînement est là aussi avec les configs Ultralytics.

Bref, si vous êtes une petite mairie qui veut cartographier l'état de vos routes sans claquer 50 000 euros dans une solution proprio, ou juste un dev curieux de voir comment fonctionne la stack derrière ces caméras intelligentes qu'on voit de plus en plus sur les véhicules de service, ce projet est une mine d'or.

Tout est là , documenté, et ça fonctionne du feu de dieu.

  •  

Stunt Car Racer Remake - Le jeu culte de Geoff Crammond revit grâce aux fans

Qui se rappelle de Stunt Car Racer ?

C'était un jeu de course complètement barré sur Amiga où on pilotait une voiture avec un énorme V8 qui crachait des flammes sur des circuits surélevés dans le vide. Si vous avez connu ça à l'époque, vous savez à quel point c'était addictif et ce jeu de 1989 signé Geoff Crammond (le mec derrière les simulations Grand Prix ultra-réalistes) reste encore aujourd'hui une référence en termes de physique de conduite.

Hé bien bonne nouvelle les amis, un remake PC est en cours de développement par des fans passionnés ! Le projet existe depuis 2019, initié par D. Vernon et A. Copland, et il est maintenant maintenu par omenoid et ptitSeb qui continuent de le faire évoluer et contrairement à pas mal de projets fans qui tombent dans l'oubli, celui-ci est bien vivant.

Le concept original était déjà dingue pour l'époque. Vous aviez des circuits surélevés comme des montagnes russes géantes, avec des sauts impossibles, des virages relevés, et surtout le fameux Ski Jump qui faisait flipper tout le monde. Le truc, c'est que si vous ratiez un saut ou que vous alliez trop vite dans un virage, votre caisse tombait dans le vide. Pas de barrières de sécurité, pas de seconde chance, pas de Lakitu Pêcheur... ^^ et votre voiture accumulait aussi des dégâts au fil des courses.

Trop de crashes et au bout d'un moment, c'était game over pour la saison.

Le remake reprend donc tout ça avec une modélisation complète des circuits et une physique de suspension fidèle à l'original. Les développeurs ont aussi récemment intégré un patch qui améliore considérablement le framerate, ce qui rend l'expérience beaucoup plus fluide que le jeu d'origine.

Geoff Crammond en 1987 sur un vrai kart relié à un Commodore 64

Pour ceux qui veulent tester, le projet est disponible sur GitHub avec une version Windows prête à l'emploi . Y'a aussi une version Linux en développement pour les manchots du dimanche.

Ce qui est cool avec ce genre de projet, c'est qu'il permet de redécouvrir des jeux qui ont marqué l'histoire du jeu vidéo mais qui sont devenus quasi injouables sur du hardware moderne. Geoff Crammond avait passé trois ans à développer Stunt Car Racer, en partant d'un simple simulateur de terrain pour Commodore 64 avant de transformer le concept en jeu de course aérien et à l'époque, ce résultat avait été salué, comme l'un des meilleurs jeux de course jamais créés, par Amiga Power qui l'avait classé dans son top 10 de tous les temps.

Bref, si vous avez la nostalgie des années Amiga ou si vous êtes simplement curieux de découvrir un classique qui a influencé pas mal de jeux de course modernes, c'est le moment de tester ce remake. Au pire vous aurez passé un bon moment à vous casser la figure sur le Ski Jump, au mieux vous comprendrez pourquoi les "vieux" en parlent encore 35 ans plus tard...

Source

  •  

BotWave - L'esprit des radios pirates sur Raspberry Pi

Vous vous souvenez des radios pirates clandestines qui diffusaient de la musique interdite depuis des appartements ou des camionnettes ? Hé bien le même concept revient en force, mais cette fois avec un Raspberry Pi et quelques lignes de Python.

BotWave , c'est un projet open source qui transforme n'importe quel Raspberry Pi en émetteur FM fonctionnel. Vous branchez une antenne sur le GPIO 4 (la broche 7), vous lancez le script, et hop, vous diffusez sur la bande FM comme un vrai pirate des ondes. Vos voisins peuvent alors vous capter sur leur autoradio sans le savoir.

⚠️ Attention : diffuser sur la bande FM sans autorisation de l'ANFR est illégal en France (et dans la plupart des pays). Les sanctions peuvent aller jusqu'à 6 mois de prison et 30 000 € d'amende. En pratique, avec une antenne bricolée, la portée se limite à quelques mètres, mais légalement, même ça reste interdit. Les développeurs recommandent d'ailleurs d'utiliser un filtre passe-bande pour limiter les interférences.

Le truc que j'ai trouvé intéressant avec BotWave, c'est son architecture client-serveur. Vous pouvez contrôler plusieurs Raspberry Pi depuis un seul serveur central, du coup, si vous voulez monter un réseau de diffusion avec des émetteurs disséminés un peu partout, c'est possible. L'interface en ligne de commande permet d'envoyer des fichiers audio, de démarrer ou stopper les diffusions à distance, et de gérer tout ça de manière centralisée.

Pour l'installation, c'est hyper simple. Une seule commande suffit :

curl -sSL https://botwave.dpip.lol/install | sudo bash

Le script vous demande alors si vous voulez installer le serveur, le client, ou les deux. Et c'est parti mon kiki ! Le système détecte automatiquement votre Pi (compatible avec les modèles 0, 1, 2, 3 et 4) et configure tout ce qu'il faut.

Sous le capot, ça utilise PiFmRds pour générer le signal FM et c'est du Python à 75% avec un peu de Shell pour l'installation. Le projet est sous licence GPLv3, donc vous pouvez l'auditer, le modifier, le redistribuer, bref, faire ce que vous voulez avec.

Car quand tout tombe, la radio FM reste un des rares moyens de communication qui fonctionne sans infrastructure centralisée. Pas besoin de serveurs, pas besoin de tours cellulaires. Juste un émetteur, un récepteur, et un peu d'électricité. Les radioamateurs le savent depuis toujours, et avec BotWave, chacun peut monter son propre réseau de diffusion.

  •