↩ Accueil

Vue normale

Reçu aujourd’hui — 1 janvier 2026

Un bug de 20 ans dans GTA San Andreas refait surface avec Windows 11

Par :Korben
1 janvier 2026 à 09:53

Le Skimmer dans GTA San Andreas c'est ce petit hydravion qu'on pouvait chopper près de la mer pour faire du rase-mottes au-dessus de l'eau. Eh bien figurez-vous que ce truc cachait un défaut dans son code depuis... 20 ans. Un bug dormant qui est resté totalement invisible jusqu'à l'arrivée de Windows 11 24H2 en avril 2025.

Silent, le moddeur derrière SilentPatch , a publié une analyse technique sur ce bug zombie. En gros, quand vous essayez de spawn le Skimmer sur Windows 11 24H2, l'hydravion devient tellement gigantesque qu'il n'est même plus rendu à l'écran. Et si vous forcez CJ à monter dedans via la console, son altitude affichée explose à environ 1,087 quadrillion d'années-lumière. Beaucoup plus loin que n'importe quoi dans l'univers observable...

Le coupable c'est une ligne manquante dans le fichier vehicles.ide qui définit les paramètres des véhicules. Le Skimmer a été copié-collé depuis Vice City où il était classé comme bateau, donc pas besoin de définir les paramètres de roues. Sauf que dans San Andreas, quelqu'un l'a requalifié en avion... sans ajouter les 4 paramètres manquants pour les roues.

Du coup, le code qui charge les véhicules se retrouve avec des variables non initialisées. Pendant 20 ans, ça passait crème parce que ces variables récupéraient par hasard les bonnes valeurs laissées dans la pile mémoire par le véhicule précédent (un certain TopFun avec un wheel scale de 0.7). Le jeu était littéralement à 4 octets près de planter depuis 2004.

Et puis Microsoft a décidé de modifier la gestion interne des Critical Section Objects dans Windows 11 24H2. La fonction LeaveCriticalSection utilise maintenant plus d'espace dans la pile, ce qui écrase ces fameuses valeurs "héritées" par accident. Résultat, le wheel scale se retrouve corrompu avec une valeur de 3,73×10²⁹, les calculs de suspension partent en vrille, et hop, votre hydravion file vers Alpha du Centaure.

Comme quoi c'est pas pour rien que les devs bassinent tout le monde avec l'initialisation des variables. Le code de San Andreas ignorait probablement les warnings du compilateur depuis le début, et tout le monde s'en fichait parce que "ça marche". Jusqu'au jour où ça marche plus, bah ouais Morray !

La bonne nouvelle c'est que le fix est facile à faire. Soit vous éditez manuellement le fichier data\vehicles.ide pour ajouter les paramètres manquants au Skimmer, soit vous attendez la prochaine mise à jour de SilentPatch qui corrigera ça automatiquement. D'ailleurs, les versions Xbox et la Definitive Edition avaient déjà corrigé ce bug... sans le savoir.

Bref, 20 ans de code qui tourne sur une douzaine de versions de Windows différentes, et il aura fallu un changement apparemment anodin dans la gestion mémoire de Microsoft pour réveiller ce vilain bug dormant...

Source

&udm=14 - Le Konami Code pour retrouver un Google sans IA

Par :Korben
1 janvier 2026 à 09:08

Vous avez remarqué comme Google est devenu pénible ces derniers temps ? Entre les "AI Overviews" qui vous pondent des résumés à côté de la plaque, les panneaux shopping qui envahissent la moitié de l'écran, et les carrousels de vidéos TikTok dont tout le monde se fiche... on en viendrait presque à regretter le Google de 2010. Eh bien figurez-vous qu'il existe un code secret, une sorte de Konami Code du web, qui permet de retrouver un Google propre et fonctionnel : &udm=14.

Ce petit paramètre que vous pouvez ajouter à vos recherches Google (du genre google.com/search?q=votre+recherche&udm=14), c'est le ticket magique vers le filtre "Web" de Google. Concrètement, ça vire une bonne partie du bazar... plus d'aperçus IA hallucinés, plus de "Autres questions" qui prennent trois écrans, plus de carrousels vidéo. Bon, les pubs restent là (faut pas rêver), mais au moins vous retrouvez des liens bleus comme au bon vieux temps.

Avant :

Le truc c'est que Google ne documente pas ce paramètre. Pas de page d'aide, pas d'option dans les settings, rien. C'est la communauté qui a découvert le pot aux roses, et depuis ça se répand comme une traînée de poudre. Le site udm14.com propose même un redirecteur qui ajoute automatiquement le paramètre à vos recherches (attention quand même, comme tout proxy, il peut techniquement voir vos requêtes). Les créateurs l'appellent le "disenshittification Konami code", en référence au concept de Cory Doctorow sur la dégradation des plateformes.

Pour ceux qui veulent automatiser le truc, il existe plusieurs solutions. Sur Firefox, l'extension &udm=14 fait le job en un clic. Sur Chrome, vous avez l'équivalent sur le Web Store . Sinon, vous pouvez simplement modifier votre moteur de recherche par défaut dans les paramètres du navigateur en ajoutant &udm=14 à l'URL de recherche.

Après :

Perso, je trouve ça assez révélateur de l'état actuel de Google... Quand tes utilisateurs doivent bidouiller des paramètres cachés pour retrouver une expérience de recherche décente, c'est qu'il y a un problème. Les "AI Overviews" sont régulièrement épinglés pour leurs réponses à côté de la plaque, parfois carrément dangereuses (genre conseiller de mettre de la colle sur la pizza , véridique). Et au lieu de nous donner une option officielle pour les désactiver, Google préfère nous gaver de contenus sponsorisés et de résumés générés par IA.

D'autres valeurs du paramètre udm existent d'ailleurs. &udm=2 donne les résultats images, &udm=7 les vidéos. Mais c'est bien le 14 qui est devenu le symbole de la résistance contre la "shittification" de Google.

Bref, si comme moi vous en avez marre de scroller trois écrans avant de trouver un vrai lien vers un vrai site (au hasard vers mon site. ^^), testez &udm=14. C'est gratuit, ça marche, et ça rend Google presque aussi bon qu'avant.

Source

Zed - L'éditeur de code des créateurs d'Atom qui mise tout sur la collaboration

Par :Korben
1 janvier 2026 à 09:00

Ah, Atom... Si vous avez connu l'éditeur de code de GitHub à l'époque, vous savez de quoi je parle. C'était le premier éditeur vraiment moderne, hackable à souhait, avec une communauté de dingues qui créait des extensions pour tout et n'importe quoi. Et puis Microsoft a racheté GitHub, et Atom a fini au cimetière des projets open source en 2022. RIP.

Sauf que les créateurs d'Atom n'ont pas dit leur dernier mot. Nathan Sobo et son équipe ont décidé de repartir de zéro pour créer Zed , un éditeur de code qui corrige toutes les erreurs du passé. Et quand je dis « de zéro », c'est vraiment from scratch, en Rust cette fois, et pas en Electron \o/.

Zed en action

Et ce qu'on obtient, c'est un éditeur qui démarre en quelques millisecondes et qui reste fluide même quand vous ouvrez des projets monstrueux. Là où VS Code commence à ramer sur un gros monorepo, Zed reste stable. C'est pas de la magie, c'est juste du code natif bien optimisé avec un moteur de rendu GPU custom (GPUI pour les intimes).

Mais le truc qui m'a vraiment intrigué, c'est leur concept de « Zed is our office ». En gros, l'équipe de développement de Zed n'a pas de bureau physique. Leur bureau, c'est Zed lui-même. Ils bossent en permanence dans des « channels » partagés où ils peuvent coder ensemble en temps réel, se parler en audio, et voir les curseurs des autres se balader dans le code. C'est du pair programming poussé à l'extrême, et apparemment ça marche plutôt bien pour eux.

Du coup, la collaboration temps réel est au cœur du projet Zed. Vous pouvez inviter quelqu'un dans votre espace de travail, et hop, vous codez ensemble comme si vous étiez sur le même ordi. Chacun voit les modifications de l'autre instantanément, avec des curseurs colorés pour savoir qui fait quoi. Y'a même un système de « follow » pour suivre ce que fait votre collègue dans les fichiers. Pratique pour les reviews de code ou le debugging à plusieurs.

Côté IA, ils ont aussi intégré un assistant qui supporte Claude, GPT et même Ollama pour ceux qui veulent faire tourner des modèles en local. Vous pouvez alors discuter avec l'IA dans un panneau dédié, lui demander de générer du code, de l'expliquer ou de le refactorer. Rien de nouveau en soi (VS Code fait pareil avec Copilot), mais l'intégration est propre et l'assistant a accès au contexte de votre projet.

Pour le reste, c'est du classique mais bien fichu : coloration syntaxique via Tree-sitter (ultra rapide), support LSP pour l'autocomplétion et les diagnostics, terminal intégré, support Vim... Le thème par défaut est plutôt classe et les performances sont vraiment impressionnantes.

Le projet est open source sous licence GPL/AGPL/Apache, et la version de base est gratuite. Y'a aussi une offre payante pour les équipes qui veulent plus de fonctionnalités de collaboration, mais pour un usage perso, vous n'avez pas besoin de sortir la CB.

Bref, si vous en avez marre de voir VS Code bouffer 2 Go de RAM pour éditer trois fichiers, Zed mérite clairement un essai. C'est dispo sur macOS, Linux et Windows.

Merci à Lorenper pour le partage !

Source

&udm=14 - Le Konami Code pour retrouver un Google sans IA

Par :Korben
1 janvier 2026 à 09:08

Vous avez remarqué comme Google est devenu pénible ces derniers temps ? Entre les "AI Overviews" qui vous pondent des résumés à côté de la plaque, les panneaux shopping qui envahissent la moitié de l'écran, et les carrousels de vidéos TikTok dont tout le monde se fiche... on en viendrait presque à regretter le Google de 2010. Eh bien figurez-vous qu'il existe un code secret, une sorte de Konami Code du web, qui permet de retrouver un Google propre et fonctionnel : **&udm=14**.

Ce petit paramètre que vous pouvez ajouter à vos recherches Google (du genre google.com/search?q=votre+recherche&udm=14), c'est le ticket magique vers le filtre "Web" de Google. Concrètement, ça vire une bonne partie du bazar... plus d'aperçus IA hallucinés, plus de "Autres questions" qui prennent trois écrans, plus de carrousels vidéo. Bon, les pubs restent là (faut pas rêver), mais au moins vous retrouvez des liens bleus comme au bon vieux temps.

Avant :

Le truc c'est que Google ne documente pas ce paramètre. Pas de page d'aide, pas d'option dans les settings, rien. C'est la communauté qui a découvert le pot aux roses, et depuis ça se répand comme une traînée de poudre. Le site udm14.com propose même un redirecteur qui ajoute automatiquement le paramètre à vos recherches (attention quand même, comme tout proxy, il peut techniquement voir vos requêtes). Les créateurs l'appellent le "disenshittification Konami code", en référence au concept de Cory Doctorow sur la dégradation des plateformes.

Pour ceux qui veulent automatiser le truc, il existe plusieurs solutions. Sur Firefox, l'extension &udm=14 fait le job en un clic. Sur Chrome, vous avez l'équivalent sur le Web Store . Sinon, vous pouvez simplement modifier votre moteur de recherche par défaut dans les paramètres du navigateur en ajoutant &udm=14 à l'URL de recherche.

Après :

Perso, je trouve ça assez révélateur de l'état actuel de Google... Quand tes utilisateurs doivent bidouiller des paramètres cachés pour retrouver une expérience de recherche décente, c'est qu'il y a un problème. Les "AI Overviews" sont régulièrement épinglés pour leurs réponses à côté de la plaque, parfois carrément dangereuses (genre conseiller de mettre de la colle sur la pizza , véridique). Et au lieu de nous donner une option officielle pour les désactiver, Google préfère nous gaver de contenus sponsorisés et de résumés générés par IA.

D'autres valeurs du paramètre udm existent d'ailleurs. &udm=2 donne les résultats images, &udm=7 les vidéos. Mais c'est bien le 14 qui est devenu le symbole de la résistance contre la "shittification" de Google.

Bref, si comme moi vous en avez marre de scroller trois écrans avant de trouver un vrai lien vers un vrai site (au hasard vers mon site. ^^), testez &udm=14. C'est gratuit, ça marche, et ça rend Google presque aussi bon qu'avant.

Source

Zed - L'éditeur de code des créateurs d'Atom qui mise tout sur la collaboration

Par :Korben
1 janvier 2026 à 09:00

Ah, Atom... Si vous avez connu l'éditeur de code de GitHub à l'époque, vous savez de quoi je parle. C'était le premier éditeur vraiment moderne, hackable à souhait, avec une communauté de dingues qui créait des extensions pour tout et n'importe quoi. Et puis Microsoft a racheté GitHub, et Atom a fini au cimetière des projets open source en 2022. RIP.

Sauf que les créateurs d'Atom n'ont pas dit leur dernier mot. Nathan Sobo et son équipe ont décidé de repartir de zéro pour créer Zed , un éditeur de code qui corrige toutes les erreurs du passé. Et quand je dis « de zéro », c'est vraiment from scratch, en Rust cette fois, et pas en Electron \o/.

Zed en action

Et ce qu'on obtient, c'est un éditeur qui démarre en quelques millisecondes et qui reste fluide même quand vous ouvrez des projets monstrueux. Là où VS Code commence à ramer sur un gros monorepo, Zed reste stable. C'est pas de la magie, c'est juste du code natif bien optimisé avec un moteur de rendu GPU custom (GPUI pour les intimes).

Mais le truc qui m'a vraiment intrigué, c'est leur concept de « Zed is our office ». En gros, l'équipe de développement de Zed n'a pas de bureau physique. Leur bureau, c'est Zed lui-même. Ils bossent en permanence dans des « channels » partagés où ils peuvent coder ensemble en temps réel, se parler en audio, et voir les curseurs des autres se balader dans le code. C'est du pair programming poussé à l'extrême, et apparemment ça marche plutôt bien pour eux.

Du coup, la collaboration temps réel est au cœur du projet Zed. Vous pouvez inviter quelqu'un dans votre espace de travail, et hop, vous codez ensemble comme si vous étiez sur le même ordi. Chacun voit les modifications de l'autre instantanément, avec des curseurs colorés pour savoir qui fait quoi. Y'a même un système de « follow » pour suivre ce que fait votre collègue dans les fichiers. Pratique pour les reviews de code ou le debugging à plusieurs.

Côté IA, ils ont aussi intégré un assistant qui supporte Claude, GPT et même Ollama pour ceux qui veulent faire tourner des modèles en local. Vous pouvez alors discuter avec l'IA dans un panneau dédié, lui demander de générer du code, de l'expliquer ou de le refactorer. Rien de nouveau en soi (VS Code fait pareil avec Copilot), mais l'intégration est propre et l'assistant a accès au contexte de votre projet.

Pour le reste, c'est du classique mais bien fichu : coloration syntaxique via Tree-sitter (ultra rapide), support LSP pour l'autocomplétion et les diagnostics, terminal intégré, support Vim... Le thème par défaut est plutôt classe et les performances sont vraiment impressionnantes.

Le projet est open source sous licence GPL/AGPL/Apache, et la version de base est gratuite. Y'a aussi une offre payante pour les équipes qui veulent plus de fonctionnalités de collaboration, mais pour un usage perso, vous n'avez pas besoin de sortir la CB.

Bref, si vous en avez marre de voir VS Code bouffer 2 Go de RAM pour éditer trois fichiers, Zed mérite clairement un essai. C'est dispo sur macOS, Linux et Windows.

Merci à Lorenper pour le partage !

Source

Reçu hier — 31 décembre 2025

LinuxDAW - Le catalogue qui prouve que faire du son sous Linux c'est enfin cool

Par :Korben
31 décembre 2025 à 18:40

Ceux qui ont déjà essayé de faire de la musique sous Linux savent de quoi je parle. Configurer JACK, gérer les latences ALSA, prier pour que le plugin VST fonctionne... C'était un peu l'enfer, non ? Perso, j'ai abandonné plusieurs fois avant que PipeWire vienne tout simplifier.

Du coup, quand je suis tombé sur LinuxDAW.org , j'ai eu un petit moment d'émotion. C'est un catalogue visuel et bien foutu qui répertorie plein de plugins audio disponibles sous Linux : VST2, VST3, CLAP, LV2, standalone, et même des modules VCV Rack. Le site a été créé par fractalf (le code est sur Codeberg ) qui explique l'avoir créé simplement parce qu'aucun des sites existants ne répondait vraiment à ses besoins quand il a switché vers Linux.

Et ce qui me plaît ici, c'est que ce n'est pas un site puriste open source. Y'a du FOSS bien sûr (et un filtre dédié pour les trouver), mais aussi les plugins commerciaux de u-he, Toneboosters, Kazrog et compagnie. Parce que oui, de plus en plus d'éditeurs supportent Linux nativement maintenant.

Après c'est vrai qu'en cochant le filtre FOSS, on voit nettement la différence de qualité d'interface avec les plugins payants. Vous le savez car je m'en plains souvent, mais niveau design, les projets libres ont encore du chemin à faire... Mais bon, ça reste fonctionnel et gratuit, donc on va pas cracher dessus.

Bref, si vous êtes musicien et que vous envisagez de passer sous Linux (ou si vous y êtes déjà et que vous cherchez des outils), LinuxDAW.org c'est exactement ce qu'il vous faut. Y'a plus quà digger tout ça ! Et si ça vous amusez, vous pouvez même contribuer en ajoutant des plugins qui manqueraient au catalogue.

LinuxDAW - Le catalogue qui prouve que faire du son sous Linux c'est enfin cool

Par :Korben
31 décembre 2025 à 18:40

Ceux qui ont déjà essayé de faire de la musique sous Linux savent de quoi je parle. Configurer JACK, gérer les latences ALSA, prier pour que le plugin VST fonctionne... C'était un peu l'enfer, non ? Perso, j'ai abandonné plusieurs fois avant que PipeWire vienne tout simplifier.

Du coup, quand je suis tombé sur LinuxDAW.org , j'ai eu un petit moment d'émotion. C'est un catalogue visuel et bien foutu qui répertorie plein de plugins audio disponibles sous Linux : VST2, VST3, CLAP, LV2, standalone, et même des modules VCV Rack. Le site a été créé par fractalf (le code est sur Codeberg ) qui explique l'avoir créé simplement parce qu'aucun des sites existants ne répondait vraiment à ses besoins quand il a switché vers Linux.

Et ce qui me plaît ici, c'est que ce n'est pas un site puriste open source. Y'a du FOSS bien sûr (et un filtre dédié pour les trouver), mais aussi les plugins commerciaux de u-he, Toneboosters, Kazrog et compagnie. Parce que oui, de plus en plus d'éditeurs supportent Linux nativement maintenant.

Après c'est vrai qu'en cochant le filtre FOSS, on voit nettement la différence de qualité d'interface avec les plugins payants. Vous le savez car je m'en plains souvent, mais niveau design, les projets libres ont encore du chemin à faire... Mais bon, ça reste fonctionnel et gratuit, donc on va pas cracher dessus.

Bref, si vous êtes musicien et que vous envisagez de passer sous Linux (ou si vous y êtes déjà et que vous cherchez des outils), LinuxDAW.org c'est exactement ce qu'il vous faut. Y'a plus quà digger tout ça ! Et si ça vous amusez, vous pouvez même contribuer en ajoutant des plugins qui manqueraient au catalogue.

SpotiFLAC - Comment fonctionne vraiment le piratage audio lossless

Par :Korben
31 décembre 2025 à 18:26

Si vous traînez dans les coins sombres de GitHub, vous êtes peut-être tombé sur SpotiFLAC, un outil qui promet de récupérer vos playlists Spotify en qualité FLAC.

Encore un truc qui va faire grincer des dents...

J'ai décortiqué le code source de ce projet pour comprendre techniquement comment c'était possible. Avec ce qu'a sorti Anna's Archive il y a quelques jours, j'étais curieux et je me suis dit que ça utilisait peut-être les mêmes ficelles. Alors j'ai récupéré les sources sur Github, et j'ai regardé ça d'un peu plus près.

Déjà, premier constat, SpotiFLAC ne cracke rien du tout. L'outil ne contourne pas directement le DRM de Spotify (qui, rappelons-le, proposait uniquement de l'Ogg Vorbis jusqu'en septembre 2025). Ce qu'il fait, en fait, c'est qu'il utilise l'API Spotify via des identifiants placés directement dans le code (oups) pour récupérer les métadonnées des morceaux, notamment les codes ISRC (International Standard Recording Code) qui servent à identifier chaque enregistrement.

Ensuite, via l'API song.link (un service légitime qui permet de trouver un morceau sur différentes plateformes), l'outil tente de retrouver le même morceau sur Tidal, Qobuz ou Amazon Music. Et c'est là que ça devient rigolo puisque le code contient également en dur des identifiants OAuth Tidal, et surtout des URLs vers des API tierces hébergées sur des domaines comme qqdl.site, yeet.su ou doubledouble.top.

Ces services tiers, c'est eux qui font le sale boulot. On ne sait pas exactement comment ils fonctionnent (comptes premium partagés ? Failles API ? Tokens détournés ?), mais SpotiFLAC n'est en réalité qu'un joli frontend qui leur envoie des requêtes et récupère des liens de téléchargement direct.

Niveau légalité, c'est donc évidemment un no-go complet, car utiliser des identifiants non autorisés, contourner des mesures de protection, télécharger du contenu protégé... Ça coche pas mal de cases du DMCA aux États-Unis et des directives européennes sur le droit d'auteur. Et non, le fait que vous ayez un abonnement Spotify ne change rien, malheureusement...

Je vous rappelle que Spotify a ENFIN lancé son audio lossless en septembre après plus de 4 ans d'attente depuis l'annonce de 2021 (fallait être patient... groumpf !). C'est donc du streaming FLAC intégré à l'app pour les abonnés Premium (dans la plupart des pays), ce qui veut dire qu'il n'y a plus vraiment de raison de pirater pour écouter vos playlists en haute qualité.

Puis si vous voulez aller plus loin dans le hi-res ou posséder vos fichiers, vous avez Qobuz qui existe depuis 1000 ans, qui coûte autour de 15€/mois, Tidal à environ 11€/mois, ou encore Apple Music qui propose du Spatial Audio et du lossless inclus dans l'abo standard. Bref, les alternatives légales y'en a, donc j'avoue que passer par ce genre de service c'est pas ouf... Et si c'est une question de fric, parce qu'on n'a pas tous les moyens, y'a toujours ce bon vieux torrent.

Après c'est quand même mieux je trouve d'aller choper directement vos albums sur Bandcamp ou sur les sites des artistes, ce qui leur permet de toucher une rémunération plus correcte... Puis ça vous permet de choper de vrais fichiers FLAC à vous. Ou alors vous achetez vos albums et vous les rippez pour ensuite sortir du FLAC avec XLD par exemple . Mais pirater via ce genre d'outils je vous conseille pas... Je préfèrerai cent fois mieux un outil qui exploiterait une faiblesse connue pour récupérer le fichier source, un peu comme on peut le faire avec Youtube-DL pour YouTube, que ce truc bizarre qui utilisent des identifiants premium tombés du camion via des sites proxy qui se trouvent on ne sait où...

Vous ne savez pas ce qu'il y a derrière, donc méfiance !

SpotiFLAC - Comment fonctionne vraiment le piratage audio lossless

Par :Korben
31 décembre 2025 à 18:26

Si vous traînez dans les coins sombres de GitHub, vous êtes peut-être tombé sur SpotiFLAC, un outil qui promet de récupérer vos playlists Spotify en qualité FLAC.

Encore un truc qui va faire grincer des dents...

J'ai décortiqué le code source de ce projet pour comprendre techniquement comment c'était possible. Avec ce qu'a sorti Anna's Archive il y a quelques jours, j'étais curieux et je me suis dit que ça utilisait peut-être les mêmes ficelles. Alors j'ai récupéré les sources sur Github, et j'ai regardé ça d'un peu plus près.

Déjà, premier constat, SpotiFLAC ne cracke rien du tout. L'outil ne contourne pas directement le DRM de Spotify (qui, rappelons-le, proposait uniquement de l'Ogg Vorbis jusqu'en septembre 2025). Ce qu'il fait, en fait, c'est qu'il utilise l'API Spotify via des identifiants placés directement dans le code (oups) pour récupérer les métadonnées des morceaux, notamment les codes ISRC (International Standard Recording Code) qui servent à identifier chaque enregistrement.

Ensuite, via l'API song.link (un service légitime qui permet de trouver un morceau sur différentes plateformes), l'outil tente de retrouver le même morceau sur Tidal, Qobuz ou Amazon Music. Et c'est là que ça devient rigolo puisque le code contient également en dur des identifiants OAuth Tidal, et surtout des URLs vers des API tierces hébergées sur des domaines comme qqdl.site, yeet.su ou doubledouble.top.

Ces services tiers, c'est eux qui font le sale boulot. On ne sait pas exactement comment ils fonctionnent (comptes premium partagés ? Failles API ? Tokens détournés ?), mais SpotiFLAC n'est en réalité qu'un joli frontend qui leur envoie des requêtes et récupère des liens de téléchargement direct.

Niveau légalité, c'est donc évidemment un no-go complet, car utiliser des identifiants non autorisés, contourner des mesures de protection, télécharger du contenu protégé... Ça coche pas mal de cases du DMCA aux États-Unis et des directives européennes sur le droit d'auteur. Et non, le fait que vous ayez un abonnement Spotify ne change rien, malheureusement...

Je vous rappelle que Spotify a ENFIN lancé son audio lossless en septembre après plus de 4 ans d'attente depuis l'annonce de 2021 (fallait être patient... groumpf !). C'est donc du streaming FLAC intégré à l'app pour les abonnés Premium (dans la plupart des pays), ce qui veut dire qu'il n'y a plus vraiment de raison de pirater pour écouter vos playlists en haute qualité.

Puis si vous voulez aller plus loin dans le hi-res ou posséder vos fichiers, vous avez Qobuz qui existe depuis 1000 ans, qui coûte autour de 15€/mois, Tidal à environ 11€/mois, ou encore Apple Music qui propose du Spatial Audio et du lossless inclus dans l'abo standard. Bref, les alternatives légales y'en a, donc j'avoue que passer par ce genre de service c'est pas ouf... Et si c'est une question de fric, parce qu'on n'a pas tous les moyens, y'a toujours ce bon vieux torrent.

Après c'est quand même mieux je trouve d'aller choper directement vos albums sur Bandcamp ou sur les sites des artistes, ce qui leur permet de toucher une rémunération plus correcte... Puis ça vous permet de choper de vrais fichiers FLAC à vous. Ou alors vous achetez vos albums et vous les rippez pour ensuite sortir du FLAC avec XLD par exemple . Mais pirater via ce genre d'outils je vous conseille pas... Je préfèrerai cent fois mieux un outil qui exploiterait une faiblesse connue pour récupérer le fichier source, un peu comme on peut le faire avec Youtube-DL pour YouTube, que ce truc bizarre qui utilisent des identifiants premium tombés du camion via des sites proxy qui se trouvent on ne sait où...

Vous ne savez pas ce qu'il y a derrière, donc méfiance !

Organic Maps - Le GPS open source qui ne vous flique pas

Par :Korben
31 décembre 2025 à 16:08

Vous utilisez Google Maps pour vos balades ou vos trajets en bagnole, comme tout le monde. Sauf que vous savez aussi bien que moi ce que ça implique... Google qui sait où vous êtes, où vous allez, à quelle heure vous bougez, et combien de temps vous passez chez votre nouvelle voisine (pas assez longtemps à son goût).

Mais bonne nouvelle les amis, y'a une alternative qui existe depuis un moment et qui mérite vraiment qu'on s'y intéresse. Ça s'appelle Organic Maps et c'est exactement ce que son nom suggère : des cartes propres, sans pesticides publicitaires ni tracking chimique.

Le principe est simple. Vous téléchargez les cartes des régions qui vous intéressent, et ensuite vous pouvez naviguer en mode 100% offline. Pas besoin de réseau, pas de connexion data qui se vide à l'étranger, rien. Votre téléphone devient un vrai GPS autonome, comme au bon vieux temps des Tomtom, mais en mieux.

Côté vie privée, c'est le jour et la nuit avec les apps classiques. Zéro pub, zéro tracking et surtout l'app a été vérifiée par Exodus Privacy Project et TrackerControl, donc c'est pas juste du blabla marketing. Même pas besoin de créer un compte pour l'utiliser, vous installez et hop c'est parti.

Pour les randonneurs et cyclistes, c'est là que ça devient vraiment sympa puisqu'Organic Maps affiche les courbes de niveau, les profils d'élévation, les sentiers de rando et les pistes cyclables. Y'a même un mode navigation turn-by-turn avec guidage vocal, et depuis 2024 le support Android Auto est dispo pour l'utiliser en voiture.

Les cartes viennent d'OpenStreetMap, donc c'est collaboratif et parfois plus à jour que ce qu'on trouve chez Google, surtout pour les petits chemins et les POI un peu obscurs. Perso, j'ai déjà trouvé des trucs sur OSM qui n'existaient même pas sur Maps, genre des fontaines d'eau potable en pleine montagne ou des refuges paumés.

L'app est dispo sur iOS , Android (y compris sur F-Droid pour les allergiques au Play Store), et même sur Linux en Flatpak . C'est open source sous licence Apache 2.0, donc vous pouvez aller fouiller le code si ça vous chante. Le projet est financé par des dons et des fondations comme NLnet, et pas par la revente de vos données de localisation.

Après la recherche est moins puissante que Google Maps, ce qui est normal vu qu'ils ont pas des milliards à claquer en IA. Et les infos de trafic en temps réel, bah y'en a pas. Mais pour de la rando, du vélo, ou même des trajets quotidiens quand on connaît un peu le coin, c'est largement suffisant.

Bref, si vous en avez marre de sentir le regard de Google dans votre dos à chaque déplacement, ou si vous voulez juste une app GPS qui marche sans réseau, foncez sur Organic Maps . C'est gratuit, et ça fait le taf !

HiFidelity - Le lecteur audio macOS pour ceux qui en ont marre de Spotify

Par :Korben
31 décembre 2025 à 14:01

J'arrête pas de lire en ce moment des articles sur des Américains de moins de 25 ans qui découvrent les cassettes audio et qui nous en font des tartines en mode "c'est trop génial". Ils sont mignons car biberonnés à Stranger Things, ils deviennent nostalgiques de cette époque des années 80 qu'il n'ont pas connu. Je comprends, c’était cool mais moi j'ai connu et je peux vous dire que la cassette audio, ça vaut pas un bon vieux FLAC en termes de qualité audio.

Après Spotify même s'il propose du lossless depuis peu, c'est pas non plus le top parce que bah faut payer l'abonnement et puis la musique ne nous appartient pas vraiment. Alors peut-être que, finalement, la voie de la sagesse, c'est celle qui consiste à se faire une collection de FLAC comme on le faisait à l'époque avec nos vieux MP3.

Et c'est pour ça qu'aujourd'hui je vous parle de HiFidelity qui va probablement vous faire plaisir.

C'est un lecteur audio pour macOS, totalement gratuit et open source, pensé pour les audiophiles qui en ont marre des usines à gaz bardées de trackers et d'abonnements. Le truc fonctionne 100% hors ligne, ne collecte aucune donnée, et utilise la bibliothèque BASS (celle qu'on retrouve dans plein de players pro) pour une lecture bit-perfect. Ça veut dire que vos fichiers audio sont lus tels quels, sans conversion ni dégradation.

Côté formats, c'est la totale : FLAC, WAV, AIFF, APE, MP3, AAC, OGG, OPUS, M4A... bref tout ce qui traîne dans une bibliothèque musicale bien fournie. Et pour les puristes, y'a même un mode "Hog" qui prend le contrôle exclusif de votre périphérique audio. En gros aucune autre app ne viendra polluer votre écoute avec ses petits bips de notifications.

L'interface est propre, avec navigation par artistes, albums, genres, et une recherche super réactive grâce à SQLite FTS5 , recommandations automatiques... Ah et le mini-player flottant est vraiment bien foutu pour bosser avec sa musique sans encombrer l'écran.

Perso, ce qui me plaît, c'est l'approche "local first" et avoir un lecteur qui fait juste... lire de la musique, ça fait du bien. Y'a même la synchro des paroles en temps réel via lrclib et un égaliseur multiband pour ceux qui aiment tripatouiller les fréquences.

Pour l'installer c'est simple... soit via Homebrew avec

brew tap rvarunrathod/tap && brew install --cask hifidelity

Soit en téléchargeant directement depuis GitHub . Faut macOS 14 minimum par contre.

Bref, si vous cherchez un lecteur audio qui respecte vos oreilles ET votre vie privée, HiFidelity mérite clairement le coup d'oeil. Merci à Lorenper pour la découverte !

Organic Maps - Le GPS open source qui ne vous flique pas

Par :Korben
31 décembre 2025 à 16:08

Vous utilisez Google Maps pour vos balades ou vos trajets en bagnole, comme tout le monde. Sauf que vous savez aussi bien que moi ce que ça implique... Google qui sait où vous êtes, où vous allez, à quelle heure vous bougez, et combien de temps vous passez chez votre nouvelle voisine (pas assez longtemps à son goût).

Mais bonne nouvelle les amis, y'a une alternative qui existe depuis un moment et qui mérite vraiment qu'on s'y intéresse. Ça s'appelle Organic Maps et c'est exactement ce que son nom suggère : des cartes propres, sans pesticides publicitaires ni tracking chimique.

Le principe est simple. Vous téléchargez les cartes des régions qui vous intéressent, et ensuite vous pouvez naviguer en mode 100% offline. Pas besoin de réseau, pas de connexion data qui se vide à l'étranger, rien. Votre téléphone devient un vrai GPS autonome, comme au bon vieux temps des Tomtom, mais en mieux.

Côté vie privée, c'est le jour et la nuit avec les apps classiques. Zéro pub, zéro tracking et surtout l'app a été vérifiée par Exodus Privacy Project et TrackerControl, donc c'est pas juste du blabla marketing. Même pas besoin de créer un compte pour l'utiliser, vous installez et hop c'est parti.

Pour les randonneurs et cyclistes, c'est là que ça devient vraiment sympa puisqu'Organic Maps affiche les courbes de niveau, les profils d'élévation, les sentiers de rando et les pistes cyclables. Y'a même un mode navigation turn-by-turn avec guidage vocal, et depuis 2024 le support Android Auto est dispo pour l'utiliser en voiture.

Les cartes viennent d'OpenStreetMap, donc c'est collaboratif et parfois plus à jour que ce qu'on trouve chez Google, surtout pour les petits chemins et les POI un peu obscurs. Perso, j'ai déjà trouvé des trucs sur OSM qui n'existaient même pas sur Maps, genre des fontaines d'eau potable en pleine montagne ou des refuges paumés.

L'app est dispo sur iOS , Android (y compris sur F-Droid pour les allergiques au Play Store), et même sur Linux en Flatpak . C'est open source sous licence Apache 2.0, donc vous pouvez aller fouiller le code si ça vous chante. Le projet est financé par des dons et des fondations comme NLnet, et pas par la revente de vos données de localisation.

Après la recherche est moins puissante que Google Maps, ce qui est normal vu qu'ils ont pas des milliards à claquer en IA. Et les infos de trafic en temps réel, bah y'en a pas. Mais pour de la rando, du vélo, ou même des trajets quotidiens quand on connaît un peu le coin, c'est largement suffisant.

Bref, si vous en avez marre de sentir le regard de Google dans votre dos à chaque déplacement, ou si vous voulez juste une app GPS qui marche sans réseau, foncez sur Organic Maps . C'est gratuit, et ça fait le taf !

HiFidelity - Le lecteur audio macOS pour ceux qui en ont marre de Spotify

Par :Korben
31 décembre 2025 à 14:01

J'arrête pas de lire en ce moment des articles sur des Américains de moins de 25 ans qui découvrent les cassettes audio et qui nous en font des tartines en mode "c'est trop génial". Ils sont mignons car biberonnés à Stranger Things, ils deviennent nostalgiques de cette époque des années 80 qu'il n'ont pas connu. Je comprends, c’était cool mais moi j'ai connu et je peux vous dire que la cassette audio, ça vaut pas un bon vieux FLAC en termes de qualité audio.

Après Spotify même s'il propose du lossless depuis peu, c'est pas non plus le top parce que bah faut payer l'abonnement et puis la musique ne nous appartient pas vraiment. Alors peut-être que, finalement, la voie de la sagesse, c'est celle qui consiste à se faire une collection de FLAC comme on le faisait à l'époque avec nos vieux MP3.

Et c'est pour ça qu'aujourd'hui je vous parle de HiFidelity qui va probablement vous faire plaisir.

C'est un lecteur audio pour macOS, totalement gratuit et open source, pensé pour les audiophiles qui en ont marre des usines à gaz bardées de trackers et d'abonnements. Le truc fonctionne 100% hors ligne, ne collecte aucune donnée, et utilise la bibliothèque BASS (celle qu'on retrouve dans plein de players pro) pour une lecture bit-perfect. Ça veut dire que vos fichiers audio sont lus tels quels, sans conversion ni dégradation.

Côté formats, c'est la totale : FLAC, WAV, AIFF, APE, MP3, AAC, OGG, OPUS, M4A... bref tout ce qui traîne dans une bibliothèque musicale bien fournie. Et pour les puristes, y'a même un mode "Hog" qui prend le contrôle exclusif de votre périphérique audio. En gros aucune autre app ne viendra polluer votre écoute avec ses petits bips de notifications.

L'interface est propre, avec navigation par artistes, albums, genres, et une recherche super réactive grâce à SQLite FTS5 , recommandations automatiques... Ah et le mini-player flottant est vraiment bien foutu pour bosser avec sa musique sans encombrer l'écran.

Perso, ce qui me plaît, c'est l'approche "local first" et avoir un lecteur qui fait juste... lire de la musique, ça fait du bien. Y'a même la synchro des paroles en temps réel via lrclib et un égaliseur multiband pour ceux qui aiment tripatouiller les fréquences.

Pour l'installer c'est simple... soit via Homebrew avec

brew tap rvarunrathod/tap && brew install --cask hifidelity

Soit en téléchargeant directement depuis GitHub . Faut macOS 14 minimum par contre.

Bref, si vous cherchez un lecteur audio qui respecte vos oreilles ET votre vie privée, HiFidelity mérite clairement le coup d'oeil. Merci à Lorenper pour la découverte !

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

Par :Korben
31 décembre 2025 à 12:00

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 !

Quand je pense que Win32 est devenu la couche de compatibilité la plus stable sur Linux...

Par :Korben
31 décembre 2025 à 11:55

Vous avez déjà essayé de faire tourner un vieux logiciel Linux sur une distrib récente, du genre un truc compilé il y a 5 ans ? Bah bon courage, parce que y'a de grandes chances que ça plante lamentablement à cause d'une dépendance qui aura changé entre-temps.

Maintenant, prenez un .exe Windows de 1998, genre un vieux jeu ou une appli Win32 classique. Lancez-le sous Wine et là, ô surprise... y'a de bonnes chances que ça tourne ! Bon, ça dépend des applis évidemment, mais le taux de réussite est souvent meilleur qu'avec les vieux binaires Linux...

C'est précisément ce paradoxe que pointe le projet loss32 , une distro Linux expérimentale dont l'idée complètement dingue serait de faire tourner TOUT l'environnement de bureau en Win32 via Wine. Leur slogan c'est "Win32 is the stable Linux ABI!" ce qui veut dire en gros que l'interface binaire la plus fiable pour faire tourner des applications sur Linux à long terme, c'est celle de Windows. Ahaha, je suis mort de rire en écrivant ça car j'imagine votre tête énervée de barbu ! Pourtant, vous allez voir, c'est difficile de leur donner tort...

Alors c'est quoi le problème avec Linux exactement ?

Hé bien en août 2022, un changement dans la toolchain a fait des dégâts. Beaucoup de distributions ont basculé vers l'option --hash-style=gnu au lieu de --hash-style=both, ce qui génère des binaires sans la section DT_HASH classique. L'idée c'était de gagner quelques kilobytes par binaire avec DT_GNU_HASH, qui est plus moderne et plus performant.

Ça n'a l'air de rien comme ça... sauf que ça a cassé pas mal de trucs. Des jeux utilisant Easy Anti-Cheat d'Epic se sont retrouvés en vrac, par exemple Shovel Knight a eu des soucis, ou encore le limiteur de framerate libstrangle . Bref, des logiciels qui marchaient très bien la veille se sont retrouvés dans les choux du jour au lendemain.

Et c'est là qu'on touche au cœur du problème car sous Windows, Microsoft maintient une compatibilité binaire quasi-religieuse pour les applis Win32 classiques. Un programme compilé pour Windows 95, s'il n'utilise pas de drivers ou d'APIs obsolètes, a de bonnes chances de tourner sur Windows 11. C'est un contrat tacite entre Microsoft et les développeurs qui a tenu pendant trois décennies.

Et même si sous Linux, le kernel et glibc sont plutôt stables, c'est vrai, dès qu'on parle de binaires tiers liés à des bibliothèques user, c'est une autre histoire. Et comme c'est le bordel et que chaque distribution fait un peu ce qu'elle veut, et les dépendances évoluen forcement. Du coup, si votre binaire précompilé casse, c'est votre problème. La philosophie c'est donc plutôt "recompile ton truc et arrête de te chialer 'spèce de fragile".

Et c'est pour ça que Valve a misé gros sur Proton. Officiellement, ils n'ont pas de préférence entre ports natifs et Windows via Proton, mais dans les faits, Proton fonctionne tellement bien que pas mal de studios ne se cassent plus la tête à faire des ports Linux natifs. Et parfois, les jeux Windows via Proton tournent même mieux que les ports natifs ... c'est dire.

Et le projet loss32 pousse cette logique jusqu'au bout car pourquoi se battre contre les moulins à vent de la fragmentation Linux quand on peut simplement tout faire tourner en Win32 ?

Alors perso, j'ai hâte de voir ça et visiblement un PoC devrait sortir en janvier 2026 avec un paquet APT pour qu'on puisse tous tester ça chez nous. Et si ça fonctionne bien, ça veut dire que si vous créez une application desktop simple et que vous voulez qu'elle tourne sur Linux encore dans 10 ans, cibler Win32 et distribuer un .exe via Wine/Proton est une option à considérer sérieusement.

Ça semble contre-intuitif, mais pour certains cas d'usage, c'est une stratégie pragmatique...

Pour les utilisateurs, ça veut dire aussi que Wine et Proton ne sont pas des rustines en attendant mieux mais des des solutions de première classe pour faire tourner des logiciels de manière stable sur Linux. Le Steam Deck l'a prouvé avec des milliers de jeux Windows qui tournent nickel.

Bref, on en est là... Win32, l'API de Microsoft, est devenue paradoxalement une des couches de compatibilité les plus stables pour faire tourner des logiciels sur Linux. C'est fou non ? Ça va faire grincer des dents de barbus c'est sûr mais c'est aussi la preuve que parfois, les solutions terre à terre l'emportent sur l'idéologie.

Source

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

Par :Korben
31 décembre 2025 à 12:00

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 !

Quand je pense que Win32 est devenu la couche de compatibilité la plus stable sur Linux...

Par :Korben
31 décembre 2025 à 11:55

Vous avez déjà essayé de faire tourner un vieux logiciel Linux sur une distrib récente, du genre un truc compilé il y a 5 ans ? Bah bon courage, parce que y'a de grandes chances que ça plante lamentablement à cause d'une dépendance qui aura changé entre-temps.

Maintenant, prenez un .exe Windows de 1998, genre un vieux jeu ou une appli Win32 classique. Lancez-le sous Wine et là, ô surprise... y'a de bonnes chances que ça tourne ! Bon, ça dépend des applis évidemment, mais le taux de réussite est souvent meilleur qu'avec les vieux binaires Linux...

C'est précisément ce paradoxe que pointe le projet loss32 , une distro Linux expérimentale dont l'idée complètement dingue serait de faire tourner TOUT l'environnement de bureau en Win32 via Wine. Leur slogan c'est "Win32 is the stable Linux ABI!" ce qui veut dire en gros que l'interface binaire la plus fiable pour faire tourner des applications sur Linux à long terme, c'est celle de Windows. Ahaha, je suis mort de rire en écrivant ça car j'imagine votre tête énervée de barbu ! Pourtant, vous allez voir, c'est difficile de leur donner tort...

Alors c'est quoi le problème avec Linux exactement ?

Hé bien en août 2022, un changement dans la toolchain a fait des dégâts. Beaucoup de distributions ont basculé vers l'option --hash-style=gnu au lieu de --hash-style=both, ce qui génère des binaires sans la section DT_HASH classique. L'idée c'était de gagner quelques kilobytes par binaire avec DT_GNU_HASH, qui est plus moderne et plus performant.

Ça n'a l'air de rien comme ça... sauf que ça a cassé pas mal de trucs. Des jeux utilisant Easy Anti-Cheat d'Epic se sont retrouvés en vrac, par exemple Shovel Knight a eu des soucis, ou encore le limiteur de framerate libstrangle . Bref, des logiciels qui marchaient très bien la veille se sont retrouvés dans les choux du jour au lendemain.

Et c'est là qu'on touche au cœur du problème car sous Windows, Microsoft maintient une compatibilité binaire quasi-religieuse pour les applis Win32 classiques. Un programme compilé pour Windows 95, s'il n'utilise pas de drivers ou d'APIs obsolètes, a de bonnes chances de tourner sur Windows 11. C'est un contrat tacite entre Microsoft et les développeurs qui a tenu pendant trois décennies.

Et même si sous Linux, le kernel et glibc sont plutôt stables, c'est vrai, dès qu'on parle de binaires tiers liés à des bibliothèques user, c'est une autre histoire. Et comme c'est le bordel et que chaque distribution fait un peu ce qu'elle veut, et les dépendances évoluen forcement. Du coup, si votre binaire précompilé casse, c'est votre problème. La philosophie c'est donc plutôt "recompile ton truc et arrête de te chialer 'spèce de fragile".

Et c'est pour ça que Valve a misé gros sur Proton. Officiellement, ils n'ont pas de préférence entre ports natifs et Windows via Proton, mais dans les faits, Proton fonctionne tellement bien que pas mal de studios ne se cassent plus la tête à faire des ports Linux natifs. Et parfois, les jeux Windows via Proton tournent même mieux que les ports natifs ... c'est dire.

Et le projet loss32 pousse cette logique jusqu'au bout car pourquoi se battre contre les moulins à vent de la fragmentation Linux quand on peut simplement tout faire tourner en Win32 ?

Alors perso, j'ai hâte de voir ça et visiblement un PoC devrait sortir en janvier 2026 avec un paquet APT pour qu'on puisse tous tester ça chez nous. Et si ça fonctionne bien, ça veut dire que si vous créez une application desktop simple et que vous voulez qu'elle tourne sur Linux encore dans 10 ans, cibler Win32 et distribuer un .exe via Wine/Proton est une option à considérer sérieusement.

Ça semble contre-intuitif, mais pour certains cas d'usage, c'est une stratégie pragmatique...

Pour les utilisateurs, ça veut dire aussi que Wine et Proton ne sont pas des rustines en attendant mieux mais des des solutions de première classe pour faire tourner des logiciels de manière stable sur Linux. Le Steam Deck l'a prouvé avec des milliers de jeux Windows qui tournent nickel.

Bref, on en est là... Win32, l'API de Microsoft, est devenue paradoxalement une des couches de compatibilité les plus stables pour faire tourner des logiciels sur Linux. C'est fou non ? Ça va faire grincer des dents de barbus c'est sûr mais c'est aussi la preuve que parfois, les solutions terre à terre l'emportent sur l'idéologie.

Source

3 sites pour jouer aux jeux rétro directement dans votre navigateur

Par :Korben
30 décembre 2025 à 20:52

Qu'est-ce que j'ai pu passer de temps sur les émulateurs ces dernières années... Entre les ROMs à chercher, les émulateurs à configurer, les manettes à mapper... Y'a des jours où j'avais juste envie de lancer un petit Sonic ou un Street Fighter sans me prendre la tête. Hé bien bonne nouvelle, y'a des sites qui font exactement ça, et j0j0b4rj0 vient de m'en partager trois qui valent le détour.

Le principe est simple, vous ouvrez votre navigateur, vous choisissez un jeu, et hop c'est parti. Pas de téléchargement, pas d'installation, juste du rétro gaming !

Le premier c'est RetroGames.cc . C'est probablement le plus fourni des trois avec un catalogue qui couvre à peu près toutes les consoles de l'âge d'or : NES, SNES, Game Boy, N64, Mega Drive, PlayStation 1, et même des trucs plus exotiques comme la PC Engine ou la Neo Geo Pocket. L'interface est pas super moderne mais elle fait le taf, avec une recherche et un tri par console. Par contre y'a des pubs, faudra pas s'étonner.

Ensuite y'a ClassicGameZone . Celui-là il est dispo en français et il a un truc en plus : un système de sauvegarde. Si vous créez un compte, vous pouvez sauvegarder vos parties et les reprendre plus tard. Le catalogue dépasse les 2100 jeux répartis sur 23 plateformes, et y'a même du multijoueur sur certains titres. L'interface est plus propre que RetroGames et y'a un système de favoris pour retrouver vos jeux rapidement.

Et le troisième c'est Retro-Games.org . Lui aussi est dispo en français et propose une couverture impressionnante des consoles. L'interface est sobre avec un mode sombre, et y'a une FAQ sympa qui raconte l'histoire du jeu vidéo pour les curieux. Comme les autres, c'est gratuit avec de la pub pour financer le service.

Les trois sites utilisent des émulateurs JavaScript qui tournent directement dans le navigateur, donc ça marche sur à peu près tout : PC, Mac, tablette... Faut juste un navigateur pas trop vieux et une connexion correcte pour charger les jeux.

Bon évidemment, côté légalité c'est un peu la zone grise habituelle des ROMs sur le web. Les jeux sont protégés par le droit d'auteur, mais les sites se retranchent derrière le fair use ou le fait que certains éditeurs n'existent plus. À vous de voir où vous placez le curseur.

En tout cas, si un soir vous avez une envie soudaine de relancer Tetris, Zelda ou Final Fantasy sans vous prendre la tête avec un émulateur, ces trois sites font le job.

Merci à j0j0b4rj0 et Lorenper pour le partage !

Article publié initialement le 7 octobre 2020 et mis à jour le 30 décembre 2025.

Reçu avant avant-hier

3 sites pour jouer aux jeux rétro directement dans votre navigateur

Par :Korben
30 décembre 2025 à 20:52

Qu'est-ce que j'ai pu passer de temps sur les émulateurs ces dernières années... Entre les ROMs à chercher, les émulateurs à configurer, les manettes à mapper... Y'a des jours où j'avais juste envie de lancer un petit Sonic ou un Street Fighter sans me prendre la tête. Hé bien bonne nouvelle, y'a des sites qui font exactement ça, et j0j0b4rj0 vient de m'en partager trois qui valent le détour.

Le principe est simple, vous ouvrez votre navigateur, vous choisissez un jeu, et hop c'est parti. Pas de téléchargement, pas d'installation, juste du rétro gaming !

Le premier c'est RetroGames.cc . C'est probablement le plus fourni des trois avec un catalogue qui couvre à peu près toutes les consoles de l'âge d'or : NES, SNES, Game Boy, N64, Mega Drive, PlayStation 1, et même des trucs plus exotiques comme la PC Engine ou la Neo Geo Pocket. L'interface est pas super moderne mais elle fait le taf, avec une recherche et un tri par console. Par contre y'a des pubs, faudra pas s'étonner.

Ensuite y'a ClassicGameZone . Celui-là il est dispo en français et il a un truc en plus : un système de sauvegarde. Si vous créez un compte, vous pouvez sauvegarder vos parties et les reprendre plus tard. Le catalogue dépasse les 2100 jeux répartis sur 23 plateformes, et y'a même du multijoueur sur certains titres. L'interface est plus propre que RetroGames et y'a un système de favoris pour retrouver vos jeux rapidement.

Et le troisième c'est Retro-Games.org . Lui aussi est dispo en français et propose une couverture impressionnante des consoles. L'interface est sobre avec un mode sombre, et y'a une FAQ sympa qui raconte l'histoire du jeu vidéo pour les curieux. Comme les autres, c'est gratuit avec de la pub pour financer le service.

Les trois sites utilisent des émulateurs JavaScript qui tournent directement dans le navigateur, donc ça marche sur à peu près tout : PC, Mac, tablette... Faut juste un navigateur pas trop vieux et une connexion correcte pour charger les jeux.

Bon évidemment, côté légalité c'est un peu la zone grise habituelle des ROMs sur le web. Les jeux sont protégés par le droit d'auteur, mais les sites se retranchent derrière le fair use ou le fait que certains éditeurs n'existent plus. À vous de voir où vous placez le curseur.

En tout cas, si un soir vous avez une envie soudaine de relancer Tetris, Zelda ou Final Fantasy sans vous prendre la tête avec un émulateur, ces trois sites font le job.

Merci à j0j0b4rj0 et Lorenper pour le partage !

Article publié initialement le 7 octobre 2020 et mis à jour le 30 décembre 2025.

X-Files revient et ça promet du lourd !!

Par :Korben
30 décembre 2025 à 18:08

Qu'est-ce que j'aimais ces soirées scotché devant M6 à regarder Mulder et Scully enquêter sur des trucs inexplicables ! Les extraterrestres, les monstres de la semaine, le grand complot gouvernemental... X-Files c'était LA série qui nous a tous fait flipper dans les années 90, à tel point qu'éteindre la télé et aller me coucher après un épisode était un combat contre la peur d'être enlevé par des petits gris... Et bien accrochez-vous parce qu'un reboot est en préparation !

Ryan Coogler vient en effet de confirmer qu'il bossait sur un reboot de X-Files et que c'était son prochain projet, juste après son film "Sinners". Pour ceux qui connaissent pas, Coogler c'est le gars derrière Black Panther et la saga Creed... Donc autant dire qu'il sait s'y prendre pour donner un coup de jeune aux franchises cultes.

Il a évidemment promis de respecter ce qui fait l'ADN de la série. Je cite : "It wouldn't be X-Files if we didn't do both. We intend on having both monsters of the week and also the overarching conspiracy." Traduction pour ceux du fond : on aura les épisodes standalone avec des créatures flippantes ET une grande conspiration au long cours. Soit les deux piliers qui ont fait le succès de la série originale.

Et le réalisateur a même ajouté que si son équipe fait bien son boulot, certains épisodes seront "really fucking scary". Moi j'attends que ça !!

Et le gars a l'air motivé pour faire un truc bien puisqu'il explique que X-Files c'est comme Rocky avec son père, sauf que là c'est avec sa mère. "The X-Files is one of those things with my mom. My mom means the world to me." Sa daronne a même déjà lu certains scripts et apparemment elle valide. Je pense que quand un réalisateur de ce calibre aborde un projet avec autant d'attachement personnel, ça promet du lourd !

Côté casting, ça reste mystérieux par contre... Coogler confirme avoir parlé avec Gillian Anderson qui pourrait revenir incarner Scully mais rien n'est signé. Pour Duchovny, même flou artistique. Par contre, des rumeurs circulent sur Danielle Deadwyler qui a cartonné dans "Till", pour un rôle principal.

Le projet est développé via Walt Disney Television depuis que Chris Carter (le créateur original) a révélé son existence en 2023 et lui a donné sa bénédiction même s'il n'est pas impliqué directement dedans.

Perso, je suis comme un gosse ! X-Files c'était pas juste une série, c'était une ambiance, j'sais pas comment dire... Ils avaient une façon unique de mélanger le paranormal, la science-fiction et le thriller politique donc si Coogler arrive à retrouver cette atmosphère tout en l'adaptant à notre époque paranoïaque de fake news et de surveillance généralisée, ça peut être énorme.

Quoiqu'il en soit, la vérité est ailleurs... et j'ai hâte de la retrouver !

Source

Hacker son lave-linge Miele ou Bosch pour en reprendre le contrôle

Par :Korben
30 décembre 2025 à 17:54

Moi je pensais qu'un lave-linge c'était juste... un lave-linge. On tourne le bouton, le bouton tout rond, et paf, ça lave... Mais aujourd'hui ces bestioles sont bourrées d'électronique et connectées à fond au cloud. Et forcément, ça a donné des idées à deux chercheurs allemands qui ont présenté leurs travaux au 39C3 (Chaos Communication Congress).

Severin von Wnuck-Lipinski et Hajo Noerenberg ont passé des mois à décortiquer les entrailles de machines Miele et BSH (Bosch, Siemens, Neff, Gaggenau) et leurs découvertes sont super intéressantes pour qui s'intéresse notamment au droit à la réparation et à la domotique (sans dépendre du cloud).

Côté Miele, Severin a découvert que la plupart des machines fabriquées après 1996 embarquent une interface de diagnostic optique. Un petit port infrarouge planqué sur la façade qui permet aux techniciens de se connecter avec un outil proprio appelé MDU (Miele Diagnostic Utility). Le protocole c'est du bon vieux UART à 2400 bauds avec parité paire. Pas de chiffrement mais juste une clé de sécurité à 16 bits.

Et c'est là que ça devient croquant à souhait car pour trouver ces clés de diagnostic, Severin a exploité une faille de timing sur le microcontrôleur 8 bits. En gros, quand vous envoyez une mauvaise clé, le microcontrolleur met un tout petit peu plus de temps à répondre que quand le premier octet est correct. En mesurant ces délais avec un oscilloscope, il a pu deviner les clés octet par octet.

Et c'est grâce à cela qu'il a créé FreeMDU , un outil open source qui permet de dialoguer avec les appareils Miele et compatibles. Diagnostics, codes erreur, compteurs de cycles... tout est accessible et y'a même une intégration Home Assistant pour les fans de domotique DIY.

Côté BSH, Hajo a attaqué le D-BUS, le bus de communication propriétaire qui relie tous les composants internes (moteur, pompe, interface utilisateur, module WiFi). C'est également du UART à 9600 bauds sur des connecteurs RAST, avec une tension de bus de 9V pour les lave-linge et 13.5V pour les lave-vaisselle.

Le plus beau c'est qu'en fouillant le firmware du module timeline (celui qui gère l'affichage du temps restant), Hajo a trouvé des easter eggs planqués par les développeurs dans les graphiques. Comme quoi même les ingénieurs Bosch ont le sens de l'humour ^^.

Suite à ça, Hajo a développé bsh-home-appliances , un projet open source avec une extension ESPHome pour intégrer les appareils BSH dans Home Assistant. Vous pouvez donc suivre votre cycle de lavage, recevoir des notifications, et même accéder aux diagnostics sans passer par l'app proprio.

Et le final de la présentation était épique puisque les deux chercheurs ont connecté un lave-linge Miele à l'application BSH Home Connect via une couche de compatibilité maison qu'ils ont baptisée AMBCL (Advanced Miele BSH Compatibility Layer). Un Miele qui parle le Bosch, ça c'est fait !

Bref, si vous avez un appareil Miele ou BSH qui traîne et que vous voulez reprendre le contrôle sans dépendre du cloud du fabricant, les outils sont maintenant disponibles. C'est ça aussi le droit à la réparation : pouvoir diagnostiquer soi-même sa machine sans appeler un technicien à 150 euros de l'heure.

Par contre, bidouillez vos propres appareils uniquement parce que faire ça sur le lave-linge de votre meilleur pote, c'est pas cool et c'est illégal, alors fézez pas les cons !

Source

X-Files revient et ça promet du lourd !!

Par :Korben
30 décembre 2025 à 18:08

Qu'est-ce que j'aimais ces soirées scotché devant M6 à regarder Mulder et Scully enquêter sur des trucs inexplicables ! Les extraterrestres, les monstres de la semaine, le grand complot gouvernemental... X-Files c'était LA série qui nous a tous fait flipper dans les années 90, à tel point qu'éteindre la télé et aller me coucher après un épisode était un combat contre la peur d'être enlevé par des petits gris... Et bien accrochez-vous parce qu'un reboot est en préparation !

Ryan Coogler vient en effet de confirmer qu'il bossait sur un reboot de X-Files et que c'était son prochain projet, juste après son film "Sinners". Pour ceux qui connaissent pas, Coogler c'est le gars derrière Black Panther et la saga Creed... Donc autant dire qu'il sait s'y prendre pour donner un coup de jeune aux franchises cultes.

Il a évidemment promis de respecter ce qui fait l'ADN de la série. Je cite : "It wouldn't be X-Files if we didn't do both. We intend on having both monsters of the week and also the overarching conspiracy." Traduction pour ceux du fond : on aura les épisodes standalone avec des créatures flippantes ET une grande conspiration au long cours. Soit les deux piliers qui ont fait le succès de la série originale.

Et le réalisateur a même ajouté que si son équipe fait bien son boulot, certains épisodes seront "really fucking scary". Moi j'attends que ça !!

Et le gars a l'air motivé pour faire un truc bien puisqu'il explique que X-Files c'est comme Rocky avec son père, sauf que là c'est avec sa mère. "The X-Files is one of those things with my mom. My mom means the world to me." Sa daronne a même déjà lu certains scripts et apparemment elle valide. Je pense que quand un réalisateur de ce calibre aborde un projet avec autant d'attachement personnel, ça promet du lourd !

Côté casting, ça reste mystérieux par contre... Coogler confirme avoir parlé avec Gillian Anderson qui pourrait revenir incarner Scully mais rien n'est signé. Pour Duchovny, même flou artistique. Par contre, des rumeurs circulent sur Danielle Deadwyler qui a cartonné dans "Till", pour un rôle principal.

Le projet est développé via Walt Disney Television depuis que Chris Carter (le créateur original) a révélé son existence en 2023 et lui a donné sa bénédiction même s'il n'est pas impliqué directement dedans.

Perso, je suis comme un gosse ! X-Files c'était pas juste une série, c'était une ambiance, j'sais pas comment dire... Ils avaient une façon unique de mélanger le paranormal, la science-fiction et le thriller politique donc si Coogler arrive à retrouver cette atmosphère tout en l'adaptant à notre époque paranoïaque de fake news et de surveillance généralisée, ça peut être énorme.

Quoiqu'il en soit, la vérité est ailleurs... et j'ai hâte de la retrouver !

Source

Hacker son lave-linge Miele ou Bosch pour en reprendre le contrôle

Par :Korben
30 décembre 2025 à 17:54

Moi je pensais qu'un lave-linge c'était juste... un lave-linge. On tourne le bouton, le bouton tout rond, et paf, ça lave... Mais aujourd'hui ces bestioles sont bourrées d'électronique et connectées à fond au cloud. Et forcément, ça a donné des idées à deux chercheurs allemands qui ont présenté leurs travaux au 39C3 (Chaos Communication Congress).

Severin von Wnuck-Lipinski et Hajo Noerenberg ont passé des mois à décortiquer les entrailles de machines Miele et BSH (Bosch, Siemens, Neff, Gaggenau) et leurs découvertes sont super intéressantes pour qui s'intéresse notamment au droit à la réparation et à la domotique (sans dépendre du cloud).

Côté Miele, Severin a découvert que la plupart des machines fabriquées après 1996 embarquent une interface de diagnostic optique. Un petit port infrarouge planqué sur la façade qui permet aux techniciens de se connecter avec un outil proprio appelé MDU (Miele Diagnostic Utility). Le protocole c'est du bon vieux UART à 2400 bauds avec parité paire. Pas de chiffrement mais juste une clé de sécurité à 16 bits.

Et c'est là que ça devient croquant à souhait car pour trouver ces clés de diagnostic, Severin a exploité une faille de timing sur le microcontrôleur 8 bits. En gros, quand vous envoyez une mauvaise clé, le microcontrolleur met un tout petit peu plus de temps à répondre que quand le premier octet est correct. En mesurant ces délais avec un oscilloscope, il a pu deviner les clés octet par octet.

Et c'est grâce à cela qu'il a créé FreeMDU , un outil open source qui permet de dialoguer avec les appareils Miele et compatibles. Diagnostics, codes erreur, compteurs de cycles... tout est accessible et y'a même une intégration Home Assistant pour les fans de domotique DIY.

Côté BSH, Hajo a attaqué le D-BUS, le bus de communication propriétaire qui relie tous les composants internes (moteur, pompe, interface utilisateur, module WiFi). C'est également du UART à 9600 bauds sur des connecteurs RAST, avec une tension de bus de 9V pour les lave-linge et 13.5V pour les lave-vaisselle.

Le plus beau c'est qu'en fouillant le firmware du module timeline (celui qui gère l'affichage du temps restant), Hajo a trouvé des easter eggs planqués par les développeurs dans les graphiques. Comme quoi même les ingénieurs Bosch ont le sens de l'humour ^^.

Suite à ça, Hajo a développé bsh-home-appliances , un projet open source avec une extension ESPHome pour intégrer les appareils BSH dans Home Assistant. Vous pouvez donc suivre votre cycle de lavage, recevoir des notifications, et même accéder aux diagnostics sans passer par l'app proprio.

Et le final de la présentation était épique puisque les deux chercheurs ont connecté un lave-linge Miele à l'application BSH Home Connect via une couche de compatibilité maison qu'ils ont baptisée AMBCL (Advanced Miele BSH Compatibility Layer). Un Miele qui parle le Bosch, ça c'est fait !

Bref, si vous avez un appareil Miele ou BSH qui traîne et que vous voulez reprendre le contrôle sans dépendre du cloud du fabricant, les outils sont maintenant disponibles. C'est ça aussi le droit à la réparation : pouvoir diagnostiquer soi-même sa machine sans appeler un technicien à 150 euros de l'heure.

Par contre, bidouillez vos propres appareils uniquement parce que faire ça sur le lave-linge de votre meilleur pote, c'est pas cool et c'est illégal, alors fézez pas les cons !

Source

Make 67 - Un petit jeu de calcul mental pour votre pause café

Par :Korben
30 décembre 2025 à 16:15

Bon, il est bientôt l'heure de la pause et vous avez bien mérité de faire travailler vos méninges sur autre chose que des lignes de code ou des tableurs Excel. Ça tombe bien, je viens de tomber sur un petit jeu web qui va vous rappeler des souvenirs... Vous vous souvenez de "Des Chiffres et des Lettres" ? Cette émission où Bertrand Renard alignait des calculs pendant que vous, gamin, vous demandiez pourquoi vos parents regardaient un truc aussi barbant ?

Hé bien Make 67 s'en inspire clairement, mais en version web décontractée et sans le stress du chrono qui défile à la télé.

On vous donne 4 nombres au hasard et vous devez combiner le tout avec les opérations de base (addition, soustraction, multiplication, division) pour obtenir... 67. Pourquoi 67 ? Aucune idée, mais c'est le charme du truc. Chaque nombre ne peut être utilisé qu'une seule fois, et petit détail qui a son importance, les calculs s'effectuent de gauche à droite, pas selon l'ordre mathématique classique. Du coup 2 + 3 × 4 ça donne 20, pas 14. Faut s'y faire, mais ça rajoute une petite couche de réflexion.

L'interface est minimaliste au possible avec 4 boutons pour les nombres, 4 pour les opérations, et hop vous construisez votre expression. Et si vous vous plantez, y'a un bouton Clear pour recommencer. Mais attention, vous ne pouvez l'utiliser que 3 fois max, après quoi le bouton Solve se débloque pour vous montrer la solution. Pas de jugement, on a tous des jours sans ^^.

Le petit plus sympa c'est quand vous trouvez la bonne combinaison. Votre téléphone peut vibrer (si compatible), des confettis apparaissent et y'a même un petit son de victoire. C'est con mais ça fait plaisir. Et pour les maniaques du détail, sachez que le jeu gère proprement les divisions en arrondissant à 6 décimales.

Perso je trouve ça parfait pour une pause de 5 minutes entre deux réunions ou pour décompresser en fin de journée.

Bref, si vous cherchez un truc pour occuper votre pause café, c'est cadeau .

❌