Autoblog de korben.info

Ce site n'est pas le site officiel de korben.info
C'est un blog automatisé qui réplique les articles de korben.info

BrowserQuest - Le MMO HTML5 de Mozilla est de retour

Sun, 03 May 2026 16:21:10 +0200 - (source)

BrowserQuest est de retour les amis ! Hé ouais, el famoso MMO HTML5 que Little Workshop avait pondu pour Mozilla en 2012 vient de ressurgir sur threej.in , alors que Mozilla avait officiellement archivé le repo GitHub en janvier 2024.

En allant sur ce lien, vous choisissez le nom de votre personnage, et hop, vous vous retrouvez comme y'a plus de 10 ans, dans un monde 2D en pixel art prêt à vous taper avec des rats et des squelettes direct dans le navigateur.

Petit rappel pour les endormis du fond à côté du radiateur, quand BrowserQuest est sorti en mars 2012, c'était un événement !! Mozilla voulait avec ce jeu, montrer au monde entier que le navigateur pouvait faire tourner un MMO temps réel sans Flash, sans aucun plugin, mais juste avec du HTML5 et des WebSockets. Le studio parisien Little Workshop (les frères Guillaume et Franck Lecollinet) avait alors livré une démo incroyable qui ressemblait à un Zelda 16 bits, avec des quêtes, de l'équipement, un chat intégré et même du combat coopératif. Comme je suis viiieux de fous, je vous en avais même parlé à l'époque .

Car techniquement, c'était du sérieux... Canvas pour le rendu 2D, Web Workers pour charger la map sans freezer la page, localStorage pour sauvegarder votre perso, CSS3 Media Queries pour s'adapter au mobile, et surtout WebSockets pour la communication bi-directionnelle avec le serveur Node.js.

Du coup le jeu pouvait encaisser des CENTAINES de joueurs simultanés, avec un pic réel enregistré à plus de 1 900 connexions en même temps. C'est ouf ! Faut dire que 2 ans plus tôt, Quake 2 tournait déjà en HTML5 et on commençait alors tous à comprendre que notre navigateur allait devenir une véritable plateforme gaming.

Sauf que voilà, Mozilla n'a jamais vraiment maintenu BrowserQuest après le buzz initial. Le serveur officiel browserquest.mozilla.org a fini par mourir, le repo GitHub a basculé en mode DEPRECATED, et en janvier 2024, la fondation a appuyé sur le bouton "Archive" pour de bon. Fin du game ! Sniiiif...

Sauf que le code est sous licence MPL 2.0 et le contenu en CC-BY-SA 3.0 donc en gros, n'importe qui peut reprendre le bousin, le réhéberger et le relancer !

Hé bien c'est exactement ce que threej.in a fait et ça fonctionne parfaitement, y compris l'aspect multijoueur. L'écran de crédit affiche même encore "Made for Mozilla by Little Workshop" comme si rien n'avait bougé.

Perso, je trouve ça cool qu'un projet open source archivé aussi culte puisse continuer à vivre grâce à un inconnu qui a pris la peine de le remettre en ligne. C'est aussi à ça que servent les licences libres finalement... prolonger la vie des programmes au-delà de la motivation de leurs créateurs. Chouette hein ?

À l'époque, encaisser 1900 joueurs en simultané sur un backend Node.js relevait de la prouesse technique, alors qu'aujourd'hui, tout semble beaucoup plus facile puisqu'on trouve des dizaines de jeux .io et autres qui tournent dans un onglet de browser sans que ça nous fasse lever un sourcil. La techno derrière BrowserQuest est devenue tellement banale qu'on a tous oublié à quel point elle était impressionnante à l'époque !

Bref, c'est gratuit, c'est dans le navigateur, et ça tient toujours debout !

À découvrir ici !


Ce jeu Steam flingue votre SSD en silence

Sun, 03 May 2026 12:02:06 +0200 - (source)

108 Go par heure. C'est ce que Windrose, le RPG de pirates en Early Access publié par Kraken Express le 14 avril dernier, écrivait silencieusement sur les SSD des joueurs, sans aucune mention dans les notes de mise à jour. Avec déjà 1,5 million de copies vendues et un pic à 69 000 joueurs simultanés, ça commence à faire un sacré paquet de SSD potentiellement bien fatigués.

Le bug a été repéré par Pixel Operative et confirmé par TechSpot puis Tom's Hardware. En jeu, des pics d'écriture grimpaient jusqu'à 30 Mo/s en continu, même quand le personnage se baladait tranquillement dans son camp de base sans rien faire de spécial.

Sur un SSD grand public type TLC avec une endurance affichée autour de 600 TBW, on parle de plusieurs jours de jeu intensif suffisant pour grignoter une bonne part de la durée de vie nominale.

Le problème vient en fait de la façon dont Kraken Express gère la sauvegarde des progressions. Le studio a choisi RocksDB, une base de données clé-valeur très utilisée côté serveur, et en a empilé trois instances en parallèle, chacune avec un cache mémoire ridiculement petit. Du coup, dès que le cache déborde, tout est balancé sur le disque en boucle permanente, sans aucune logique d'optimisation. Pas terrible.

Kraken Express a réagi vite avec le patch 0.10.0.4 déployé le 30 avril. Selon Pixel Operative qui a refait ses mesures après mise à jour, l'utilisation disque baisse de 60 à 75%. C'est nettement mieux, mais ça reste très loin des standards d'un jeu propre. Et surtout, ça ne change strictement rien pour les joueurs qui ont écrit plusieurs téraoctets de données pendant les deux semaines précédant le correctif.

Côté communication, le studio a reconnu le souci mais sans trop s'étendre sur les conséquences possibles pour le matériel. Pas un mot sur une éventuelle aide aux joueurs qui auraient des SSD très entamés. Et impossible de savoir combien de joueurs sont concernés, vu que l'usure d'un SSD ne se voit qu'au moment où il commence à lâcher.

Bref, un Early Access ça reste un Early Access, mais bousiller le hardware des joueurs sans même les prévenir, c'est pas génial.

Source : Techspot


Un C-3PO grandeur nature transformé en assistant vocal qui répond pour de vrai

Sun, 03 May 2026 10:20:45 +0200 - (source)

Un maker a transformé une réplique grandeur nature de C-3PO en assistant vocal interactif, et le résultat est franchement convaincant. Sa version du droïde papote, répond à vos questions, et tient même une conversation, le tout sans dépendre du moindre cloud une fois en local.

Le truc tient sur un Raspberry Pi 5 planqué dans la coque dorée du droïde. Un micro capte ce que vous racontez, un moteur de speech-to-text le transcrit, et un LLM local s'occupe de comprendre votre question pour formuler une réponse. Jusque-là, rien de fou c'est même devenu assez classique.

Le truc rigolo, c'est la couche par-dessus. L'auteur a ajouté un prompt système qui force le LLM à répondre comme C-3PO le ferait : un peu anxieux, très formel, avec ce ton un brin pompeux qu'on connaît tous. Du coup, quand vous lui demandez bêtement la météo, vous pouvez vous prendre une réponse genre "Oh dear, je crains que les conditions atmosphériques ne soient guère favorables à un déplacement humain". Très C-3PO.

Pour la voix, le projet utilise un modèle synthétique entraîné sur les dialogues d'Anthony Daniels, l'acteur original. Le son passe ensuite par une chaîne d'effets audio qui ajoute la résonance métallique et le léger souffle qu'on entend dans les films. Le résultat n'est pas parfait, mais ça reste franchement bluffant pour un projet bricolé à la maison.

Tout le code est dispo en open source, ce qui veut dire que vous pouvez théoriquement le reproduire chez vous, à condition d'avoir une réplique C-3PO sous la main. Ce qui n'est pas le plus simple. Pour les budgets plus modestes, l'auteur précise que le pipeline tourne aussi très bien dans une simple enceinte connectée custom, le côté droïde doré n'étant pas indispensable au fonctionnement.

Le seul vrai bémol, c'est la latence. Entre le moment où vous parlez et la réponse vocale, comptez quelques secondes, ce qui casse un peu l'illusion d'avoir affaire à un assistant réactif. Mais bon, le vrai C-3PO du film mettait aussi trois plombes à comprendre les ordres, donc on peut presque considérer ça comme un détail de fidélité au personnage.

Source : Hackaday


Bruteforce de cartes bancaires

Sat, 02 May 2026 10:35:52 +0200 - (source)

Quand j'achète un truc avec ma CB, c'est vrai que j'évite maintenant de demander le ticket de carte bancaire. Ça ne me sert à rien, et puis j'en fais quoi après ? Je le jette à la poubelle ?

Heureusement qu'il n'y a pas de données confidentielles dessus et que tous les chiffres de ma CB sont masqués avec des petites étoiles sauf une partie, généralement les 4 derniers, qui sont en clair évidemment.

Bref, tout roule, nan ? Hé bien noooon, parce que Metin Ozyildirim, un chercheur en sécurité, vient d'expliquer sur son site comment ces étoiles en fait c'est pas vraiment un secret.

En fait, quand vous effectuez un achat en ligne, le marchand pose une question à votre banque pour valider la carte, du genre "hey Crédit Agricole, est-ce que ce numéro existe ?" et la banque répond connement oui ou non.

Et le souci c'est que cette question, n'importe qui peut la poser depuis n'importe où dans le monde, en testant des numéros au pif jusqu'à tomber sur le bon. C'est ce qu'on appelle du brute force, et avec une bonne machine et une connexion correcte, ça permet de tourner tranquillement à la fréquence de 6 tentatives par seconde, soit environ 130 000 essais possibles étalés sur une nuit. C'est donc très largement assez pour reconstituer les chiffres manquants quand on n'en a que 6 à deviner.

Et surtout, il arrive parfois que le marchand soit un peu trop bavard. Par exemple si vous tapez un mauvais numéro, il vous répond "Cette carte de crédit n'est pas valide". Si la date d'expiration est fausse, il vous dit gentiment "Cette carte a expiré". Et si le CVV est faux ? "Le code CVV n'est pas correct".

Comme le dit Metin dans son post, ce genre d'indice aide carrément à bruteforcer les infos de la CB. Bah oui, si le marchand vous confirme noir sur blanc que vous êtes à 3 chiffres près du jackpot, pourquoi s'arrêter hein ? C'est un peu comme dans ces films où y'a un gars qui braque un coffre-fort qui fait "clic" à chaque bon chiffre.

Et comme ça donc que Metin Ozyildirim s'est fait piller son compte bancaire il y a environ 1 an. L'attaquant a fait tourner son bruteforce comme ça durant 6 heures, en répartissant ses requêtes sur plusieurs sites e-commerce différents pour passer sous les radars.

Et une fois la carte complète reconstituée, restait plus qu'à dépenser le pognon ! Et là pareil, certains marchands acceptent encore les paiements sans demander la double authentification 3D Secure. Ces marchands là, ce sont eux qui payent en cas de fraude, car ils prennent le risque. L'attaquant a juste eu à choisir un de ces marchands "hack-friendly", et a transféré l'argent vers un porte-monnaie électronique, qu'il a ensuite converti en cash.

Et voilà comment le plafond de la carte de Metin était à zéro avant qu'il ait terminé son premier café du matin !

La bonne nouvelle, c'est que la banque l'a remboursé. Par exemple en France, vous avez 13 mois pour contester une transaction frauduleuse via votre banque. C'est un droit et pas une faveur hein ! Mais si la banque considère que vous avez été négligent (carte prêtée, code partagé, phishing évident...etc), elle peut tout à fait refuser le remboursement, donc gardez des preuves et contestez vite !

Maintenant, la mauvaise nouvelle, c'est que ce qui est arrivé à Metin est de plus en plus fréquent. Visa a même documenté que ce genre d'attaques explose, et que la majorité des sites e-commerce sont mal protégés contre ce genre de bots qui font tourner ces scripts de bruteforcing.

Bref, y'a pas grand chose à faire de notre côté pour nous protéger de ça, si ce n'est d'activer les notifs de notre banque sur chaque transaction, configurer le plafond le plus bas possible (sans que ce soit gênant), et quand votre banque vous propose une carte virtuelle à usage unique pour les achats en ligne, n'hésitez pas à l'utiliser.

Et la prochaine fois que vous laisserez traîner un reçu de CB sur la table d'un resto, dites-vous que vous offrez peut-être un accès à votre compte au prochain margoulin qui passe !

Source


Hello les amis, voici ma petite trouvaille du jour, idéale pour ceux qui jouent en ce moment avec des adresses IP : ip66.dev . C'est une base de géolocalisation IP et entièrement libre, livrée au format MMDB (le même que celui de MaxMind) qui permet de remplacer direct un fichier GeoLite2 dans vos libs existantes (Python, Go, Node.js), sans toucher au code.

L'équipe de Cloud 66 maintient cette liste à jour sous licence CC BY 4.0 et tout est utilisable simplement en récupérant le fichier mmdb.

Pour le télécharger :

curl -LO https://downloads.ip66.dev/db/ip66.mmdb

Ensuite pour interroger une IP, l'outil mmdbinspect de MaxMind fera le job. Si vous l'avez pas déjà, une ligne suffit :

go install github.com/maxmind/mmdbinspect/cmd/mmdbinspect@latest
mmdbinspect -db ip66.mmdb 8.8.8.8

À l'intérieur de la réponse, vous trouverez le numéro et le nom de l'ASN, le pays avec son code ISO, le continent, en IPv4 et IPv6 :

Au lieu de moudre des heuristiques opaques, ip66 préfère tout simplement agréger des sources à partir des 5 registres régionaux (AFRINIC, APNIC, ARIN, LACNIC, RIPE NCC) pour les allocations, le BGP via RouteViews et RIPE RIS pour les vues publiques d'annonces, le RFC 8805 geofeed quand les opérateurs déclarent eux-mêmes leurs localisations, sans oublier GeoNames pour tout ce qui concerne les libellés.

Du coup chaque enregistrement dispose de son propre niveau de confiance (Very High, High, Medium, Low) selon la qualité de la source. Y'a même des marqueurs pour identifier les IPs VPN / Tor et compagnie.

Notez par contre, que c'est du country-level, et pas du city-level comme GeoIP2 City ou IPinfo Core, mais pour enrichir des logs, sortir des stats par pays ou bloquer un continent entier, c'est largement suffisant !

Et si vous voulez l'exposer en API plutôt que la requêter en local, ça se branche nickel sur le mmdb-server , un petit serveur Python qui sert les fichiers MMDB en HTTP. Vous lui pointez ip66.mmdb dans son dossier db/ et hop, c'est plié !

Bref, un fichier mmdb à DL, et votre serveur sait maintenant que 8.8.8.8 c'est l'oncle Google.


Flash à sa grande époque c'était quand même tout un truc, mais est-ce que vous vous souvenez de Shockwave ? Le grand frère de Flash (techniquement c'était une autre techno bâtie sur Director mais bref...), qui était capable de faire tourner des trucs bien plus complexes que les vieux .swf ?

Et ben l'équipe derrière DirPlayer s'est tapé tout le reverse-engineering du moteur Director from scratch pour le ressusciter grâce à Rust et le rendre à nouveau fonctionnel dans nos navigateurs modernes !

Faut savoir qu'Adobe a débranché Shockwave Player en avril 2019 et Flash un peu plus tard, et avec eux c'est un pan entier du web rétro qui s'est retrouvé inaccessible du jour au lendemain. Du genre tous ces jeux qui tournaient sur Shockwave.com ou les vieux portails de mini-jeux des années 2000, paf, d'un coup plus moyen d'y rejouer.

Alors heureusement, pour Flash, y'a déjà Ruffle qui fait tourner les bons vieux .swf. Hé bien ici c'est le même principe avec DirPlayer pour les .dcr Shockwave.

L'outil se décline sous 3 formes. D'abord une extension Chrome qui détecte automatiquement les balises Shockwave qui traînent encore sur les vieux sites web, ce qui peut être sympa pour redécouvrir des sites des années 2000.

Y'a aussi une version standalone construite avec Electron qui embarque carrément un debugger Lingo (le langage de scripting de Director, super pratique si vous voulez bidouiller du contenu existant). Et enfin un polyfill JS auto-contenu qui réécrit les et directement sur votre site web.

Perso, pour vous faire une idée, je vous invite surtout à jeter un oeil à la démo web pour tester rapidement parce qu'il n'y a rien à installer. Mais dès que vous voudrez analyser ou debugger un vieux jeu en profondeur, faudra plutôt opter pour la version standalone.

Notez que DirPlayer utilise Ruffle en submodule Git donc les 2 projets sont liés et bonus côté sécurité, le tout tourne en WebAssembly avec le sandboxing du navigateur, donc y'aura plus toutes ces failles qu'on pouvait retrouver à l'époque sur l'ancien plugin Shockwave Player.

Pour les sites qui hébergent encore des applis ou des jeux Shockwave (genre archive.org, avec des musées interactifs ou des jeux des années 2000), c'est une nouvelle corde à leur arc. Et si vous avez de vieux .dcr planqués sur un disque dur, la démo web devrait pouvoir les avaler aussi (faudra tester quoi...).

Bref, grâce à Ruffle pour Flash et DirPlayer pour Shockwave, le web des années 90-2000 n'est pas encore tout à fait mort ! Un peu comme moi finalement ^^


Japan Airlines va confier la manutention des bagages à des robots humanoïdes sur les pistes de l'aéroport Haneda. Le test démarre en mai 2026, dure deux ans, et implique pour commencer deux machines posées au milieu des bagagistes humains.

L'opération est pilotée par JAL Ground Service avec GMO AI & Robotics. Les robots viennent de Chine : un Unitree G1 d'environ 1m30 et un Walker E d'UBTECH.

Le programme est découpé en plusieurs étapes (cartographie du site, simulations en environnement reconstitué, puis tarmac réel), avec à terme l'idée de leur faire transporter les containers de fret, manipuler les leviers de verrouillage et même nettoyer les cabines une fois les avions vides. L'autonomie annoncée est de 2 à 3 heures, avant qu'il ne faille recharger la machine.

Sauf que la première démo publique a calmé tout le monde. Le G1 a tapoté un colis sur le tapis roulant et fait coucou à un humain, mais personne ne l'a vu soulever quoi que ce soit.

La presse anglo-saxonne a gentiment moqué la chose : démarche hésitante, gestes cosmétiques, et surtout aucune preuve de capacité à porter une valise standard.

Le Japon n'a pas le choix. Population vieillissante, faible immigration, et tourisme record qui sature les infrastructures : les aéroports japonais galèrent à recruter des bagagistes, et la situation ne va pas s'arranger dans les prochaines années.

Du coup, plutôt que d'investir dans des bras articulés industriels qui demandent de repenser tout le poste de travail, JAL parie sur des humanoïdes capables de s'intégrer dans un poste conçu pour des humains. 

En pratique, on est encore loin du compte. Une valise standard pèse entre 20 et 30 kg. Un humanoïde d'environ 35 kg sur deux jambes qui tient à peine debout, ce n'est pas vraiment l'outil idéal pour balancer du Samsonite à la chaîne pendant huit heures. JAL le sait.

D'où les deux ans de test prévus avant tout déploiement réel, et l'envie d'observer ce qui marche, ce qui casse, et ce qui finira aux oubliettes. Les deux fournisseurs choisis ne sont d'ailleurs pas des inconnus : Unitree et UBTECH se positionnent comme les gros chinois de l'humanoïde, face à un Tesla Optimus encore largement scénarisé.

Vous l'avez compris  on est plus dans la com' que sur de l'efficacité pure. Faire coucou à un bagage, ça ne le met toujours pas en soute.

Source : ARS Technica


Fin de partie pour la riposte graduée. Le Conseil d'État a déclaré illégale, le 30 avril 2026, la phase la plus dure du dispositif anti-piratage Arcom, héritier de la Hadopi.

La décision s'applique immédiatement et décapite le système après 17 ans de chasse aux téléchargeurs sur les réseaux peer-to-peer. La Quadrature du Net, qui pilote le contentieux depuis 2019, a publié dans la foulée un bilan intitulé "Hadopi (2009-2026)".

Concrètement, deux failles ont été retenues. La juridiction a constaté que le décret de 2010 n'oblige nulle part les opérateurs à stocker les adresses IP dans "un compartiment totalement isolé", comme l'avait pourtant exigé la Cour de justice de l'Union européenne en avril 2024.

Et surtout, la troisième étape de la riposte graduée, celle qui transmet votre dossier au procureur après deux avertissements ignorés, ne prévoyait aucune autorisation judiciaire préalable. Du coup, les sanctions pénales, jusqu'à 1 500 euros d'amende et 3 000 euros en cas de récidive, ne peuvent plus être déclenchées.

Les deux premiers étages tiennent quand même encore debout. Si vous récupérez un torrent illégal demain, l'Arcom peut toujours vous envoyer un email d'avertissement, puis une lettre recommandée. Mais l'arme dissuasive, le passage devant le juge, exige désormais qu'un magistrat valide d'abord l'identification de l'abonné, et que les données aient été stockées dans le respect du droit européen.

Côté Arcom, l'institution prépare déjà une bascule sur le blocage de sites pirates et le déréférencement, c'est-à-dire la pression sur les intermédiaires plutôt que sur vous, particuliers.

Pour rappel, Hadopi a été lancée en 2009 sous le gouvernement Sarkozy, puis fusionnée avec le CSA en 2021 pour devenir l'Arcom. Le bilan ? Environ 13 millions d'avertissements envoyés et seulement 500 jugements rendus en 17 ans.

Soit un taux de conversion qui ferait glousser n'importe quel directeur commercial. La Quadrature, qui a mené le contentieux avec FDN et Franciliens.net, parle aujourd'hui d'une "victoire" pour les droits fondamentaux et appelle à ne pas ressusciter le dispositif sous une autre forme.

La Quadrature rappelle que le dispositif a surtout servi à criminaliser le partage culturel non-marchand entre internautes, sans jamais améliorer la rémunération des artistes ni endiguer le piratage à grande échelle.

Le streaming illégal, les plateformes IPTV, les sites de direct download : tout ça a continué à prospérer pendant que l'Autorité s'acharnait sur les utilisateurs de torrents. À côté, l'industrie culturelle a fini par s'adapter avec Spotify, Deezer ou Netflix, sans qu'on ait eu besoin de surveiller les abonnés de manière excessive.

Bref, on aura mis 17 ans à constater que ficher massivement les internautes sans contrôle judiciaire, c'est illégal, mais on s'en est toujours douté.

Source : La Quadrature du Net


Vous vous souvenez de l'époque où on s'écroulait comme des merdes dans notre canapé après une grosse journée de boulot et où on regardait juste ce que la télé nous balançait ? Pas de choix à faire sur Netflix, ni de recommandation sur l'Apple TV. On zappait juste en mode no-brain jusqu'à ce qu'on tombe sur une connerie qui réveille notre cerveau reptilien.

Eh bah le dev Chris Benincasa a créé Tunarr , un soft open source qui ressuscite ce truc-là en transformant votre Plex ou Jellyfin en chaîne de TV en continue.

Grâce à Tunarr, vous configurez vos chaînes dans une interface web (en glisser-déposer...), le soft émule un tuner HDHomeRun (le standard de la TV réseau aux US), que Plex, Jellyfin ou Emby reconnaissent ensuite comme une vraie source TV. Et voilà comment vous avez maintenant votre propre antenne maison.

Ou alors vous exportez en M3U pour des players IPTV comme Tivimate ou UHF, le tout avec un EPG intégré (c'est le guide des programmes), des bumpers (vous savez ces petites séquences Tchii Tchaaa ou M6 Mhmmmh des chaînes TV), des pubs vintage entre les programmes et même des clips musicaux pour faire authentique.

Bref, du déjà-vu, mais avec votre catalogue d'émissions à vous.

L'histoire de ce projet est d'ailleurs assez marrante car c'est un fork de dizqueTV (de vexorian), lui-même fork de pseudotv-plex (de DEFENDORe) et chacun de ces devs contribuent à Tunarr. 3 générations de mainteneurs qui collaborent sur le même projet, ça fait plaisir à voir car dans l'open source et la tech en général, ce genre de filiation c'est souvent rare tant les egos sont groooos.

Et côté fonctionnalités, c'est plutôt pas mal. Vous programmez vos chaînes par créneaux horaires (comme une vraie grille TV), par shuffle aléatoire ou par blocs cycliques. Vous balancez alors du contenu de remplissage entre les épisodes, vous personnalisez les profils de transcodage par chaîne, et vous regardez ça directement dans votre navigateur web ou via votre client Plex préféré.

De son côté, le hardware transcoding gère NVENC, VAAPI, Intel QuickSync et VideoToolbox sur macOS, donc votre GPU ne bosse pas pour rien.

Pour ma part, je me ferais bien une ambiance "C'est dimanche" qui balance des séries TV + vidéo gag et des docs sur la nature toute la journée, ou une "chaîne minuit" uniquement pour les vieux films d'horreur et les clips MTV de ma jeunesse ^^. Aaaah, nostalgie quand tu nous tiens ! Et je mettrais des vrais bumpers vintage entre les programmes, comme ça, ça donnerait l'illusion qu'on est sur une vraie programmation TF1 des années 90. Ce serait chouette non ?

Pour faire tourner ça, un Docker compose suffit (port 8000), avec un FFmpeg 6.1 minimum (7.1.1 recommandé). Vous lancez simplement :

docker run -d -p 8000:8000 -v ./tunarr-data:/config/tunarr chrisbenincasa/tunarr:latest

et c'est en ligne !

Maintenant sauf si votre Pi 3 a 2 Go de RAM, le transcoding 4K ne marchera pas mais sur du x86 récent ou un Pi 5, ça envoie carrément bien.

Et si vous préférez la méthode à l'ancienne, y'a également des binaires Linux, macOS, Windows, et même une image ARM pour Raspberry Pi . Le code est en TypeScript à 99,6%, sous license zlib (très permissive) et y'a des nouvelles releases régulières.

Voilà, ce projet n'a aucun sens dans le monde du streaming à la demande et c'est précisément pour ça que je vous en parle ! Si vous voulez retrouver l'ambiance zapping, c'est par ici ou sur le GitHub .

Et un GRAND merci à Johnny pour l'info !!


Ouais, je sais, on est le 1er mai, et je suis pas censé bosser mais que voulez-vous on ne se refait pas ^^. Et si j'ai ouvert l'ordi ce matin, c'est pour vous parler de KULA !

KULA est un binaire tout simple qui permet de monitorer très facilement votre serveur Linux en temps réel, sans aucune dépendance. c0m4r , le dev derrière le projet, l'a codé en Go avec une obsession claire : Que ça marche partout sans rien installer à côté !

C'est vrai que les outils de monitoring temps réel sur Linux ont tendance à grossir avec le temps. Netdata est passé par exemple d'un script léger à une plateforme SaaS.

KULA veut faire exactement l'inverse ! Parce que si vous avez un VPS à 5 balles, un Raspberry Pi ou trois homelabs qui ronronnent dans le placard, c'est pas la peine de sortir un bazooka quand il y a ce petit binaire qui fait tout aussi bien.

Vous le posez sur la machine, vous lancez ./kula, et c'est plié ! Il y a même un installeur guidé en une commande (nia nia nia lisez le contenu du .sh avant de le lancer, nia nia nia, je me répète, je sais):

bash -c "$(curl -fsSL https://raw.githubusercontent.com/c0m4r/kula/refs/heads/main/addons/install.sh)"

Côté technique, le projet va chercher ses infos directement dans /proc et /sys toutes les secondes. Comme ça y'a pas besoin d'un programme "agent" séparé à installer, ni besoin de vous lancer dans du scraping HTTP. C'est juste KULA qui tourne en daemon et qui lit ce qui se passe au niveau du kernel.

Les données passent ensuite dans un moteur de stockage maison : un ring-buffer avec trois niveaux (1 seconde brut, 1 minute agrégé, 5 minutes agrégé), chacun ayant une taille max fixe (250 Mo, 150 Mo, 50 Mo par défaut). Et quand la limite est atteinte, les nouvelles données écrasent les vieilles. Comme ça l'usage disque est maîtrisé, et y'a pas besoin de faire de ménage.

Niveau métriques, c'est plutôt complet je trouve... CPU, GPU (VRAM, charge, conso), mémoire, swap, load average, processus par état, températures CPU/GPU/disque, batteries, entropie système, sync horloge. Le réseau remonte les débits par interface, les paquets par seconde, les erreurs, les drops, les retransmissions TCP, les connexions établies...etc.

Et côté disque c'est par composant : IOPS, lectures/écritures par seconde, octets/s, plus l'usage des systèmes de fichiers. Et bien sûr tout ce qui est containers Docker, podman, et même ces cgroups bruts dont vous êtes si fiers ^^, pour ceux qui font tourner des trucs sans Docker.

Et le truc auquel je ne m'attendais pas mais que j'aurais pu anticiper parce que c'est à la modeuuuuh, c'est l'assistant IA via Ollama. Vous configurez une instance Ollama locale, et le dashboard vous laisse causer à un modèle de votre choix qui peut analyser les courbes en cours, exporter du CSV par graphique, et même faire appel à une fonction get_metrics pour interroger les données en mode agent.

Tout ça en local bien sûr. C'est plutôt sympa pour debugger par exemple un pic de CPU récurrent à 3h du matin sans devoir vous taper des heures de graphes !

Le déploiement Docker c'est comme ça :

docker run -d --name kula --pid host --network host
 -v /proc:/proc:ro -v kula_data:/app/data c0m4r/kula:latest

Notez le paramètre --pid host et /proc:/proc:ro : car KULA a besoin de voir l'hôte et pas le container.

Bah ouais, c'est logique, sinon il va monitorer juste son propre container, ce qui n'a aucun intérêt, hein...

Notez que si vous êtes sur un VPS LXC mutualisé bas de gamme, certains hébergeurs restreignent l'accès à /proc du host... et là, malheureusement, KULA ne pourra remonter que ce qu'il voit ce qui est souvent pas grand-chose... sniiif.

Pour les puristes, y'a aussi des paquets .deb, .rpm, AUR pour Arch, et du multi-arch (amd64, ARM, RISC-V). Ça couvre à peu près tout ce qui se croise sur un homelab !

Et côté auth, c'est désactivé par défaut (le port par défaut est le 27960, pas le 80), mais quand vous l'activerez vous tomberez sur de l'Argon2id avec des jetons de session hashés en base.

Par contre, même si y'a quelques alertes internes (clock sync, low entropy, overload), vous n'aurez pas de notifications natives (pas de mail, ni Slack, ni webhook...etc). Et pas de support multi-node non plus puisque KULA monitore une machine à la fois.

Donc si vous avez 30 serveurs, faudra vous farcir 30 instances et 30 dashboards séparés. Pas glop ! Et bien sûr, c'est Linux only parce que tout repose sur /proc et /sys.

C'est encore un projet un peu jeune, donc à voir comment ça vieillit mais pour votre petit VPS perso d'amour ou une machine dans un setup d'auto-hébergement , c'est top pour esquiver à la fois htop qui est trop minimaliste et Grafana qui est trop usine à gaz.

Si vous voulez voir la démo, y'en a une ici : demo.kula.ovh !

Source


Powered by VroumVroumBlog 0.1.31 - RSS Feed
Download config articles