Vue normale

UsenetStreamer : addon Stremio pour lier NZBdav et streamer depuis Usenet

Par : Aerya
12 novembre 2025 à 14:57

Je me suis récemment remis sur Stremio notamment en présentant les addons que j’utilise et pourquoi/comment avec leurs composes, sur GitHub, pour pouvoir le faire rapidement de votre côté soit en console soit via DockeGE ou équivalent.
Je viens de publier un article sur NZBdav, que j’utilise depuis des semaines, qui permet de streamer du contenu depuis Usenet.
Donc, en toute logique, voici comment lier les 2 🙂


Grâce au boulot de Sanket qui a créé UsenetStreamer, on peut ajouter NZBdav comme source de flux à Stremio, comme StreamFusion, Comet etc. Il suffit d’avoir également un moteur de recherche de .nzb (logique) tel que Prowlarr ou NZBhydra, je préfère ce dernier.

ATTENTION si vous gérez vos flux avec un cache, tel que Stream Prefetchers comme moi, ça va appeler un bon nombre de .nzb qui seront chargés dans NZBdav, parfois en échec car incompatibles avec du coup une nouvelle recherche.
Ce qui induit un grand nombre de hits et/ou téléchargements via Prowlarr/NZBHydra auprès des indexeurs Usenet dont les limites sont fonctions des dons ou abonnements. Il y a un risque de consommer inutilement ces quotas simplement du fait de la mise en cache des contenus des catalogues.

usenetstreamer4

Quand on ouvre la page d’un film ou d’un épisode de série, tout comme StreamFusion lance la recherche du média chez AllDebrid (dans ma config), UsenetStreamer va la lancer sur NZBhydra et afficher le retour sur Stremio.
Je passe StreamFusion et UsenetStreamer dans AIOStreamers pour modifier le rendu de la liste des releases ET filtrer l’affichage des rlz : 1080/1440/2160p, FRENCH/MULTI, j’exclus les mots complete.bluray et bluray (pour éviter d’avoir des .iso depuis mes indexeurs Usenet) et je tente de trouver le bon combo de filtre du nombre de résultats par addon et résolution pour avoir une liste courte de releases à lancer (sinon j’en ai par exemple eu 64 tout à l’heure ce qui est complètement inutile). – c’est encore perfectible –

On lance le film, ici depuis Usenet, NZBdav charge le .nzb et ça stream de suite dans Stremio. Il faut pour ça un .nzb compatible : sans archive (donc fichier posté sans compression). NZBdav prend en charge les mots de passe.

usenetstreamer7
usenetstreamer8
usenetstreamer6

Et si on tombe sur un .nzb non compatible, il suffit de changer de release puisqu’on en liste quelques-unes de différentes sources. On remarque au passage que cette vidéo est faite par l’IA…

usenetstreamer9
usenetstreamer10


EDIT 18.11.25 : Usenet-Streamer intègre maintenant parfaitement NZBHydra et permet également de trier les résultats par qualité puis taille ou langue puis qualité puis taille. On peut également filtrer sa langue préférée (1 seule) et définir -ou non- une taille maximale de release.

usenetstreamer17



Pour l’installer il faut suivre les recommandations du GitHub, voici à titre d’exemple mon setup avec NZBHydra. Je l’ai ajouté à ma stack sur GitHub.


services:
  stremio-usenetstreamer:
    container_name: stremio-usenetstreamer
    restart: always
    ports:
      - 32867:7000
    environment:
      INDEXER_MANAGER: nzbhydra
      INDEXER_MANAGER_URL: http://192.168.0.163:5076
      INDEXER_MANAGER_API_KEY: NBFQU9ECCN9PIBE6ES00HI1901
      # INDEXER_MANAGER_INDEXERS: xxx
# ne fonctionne pas chez moi, du coup je n'ai activé que l'indexeur que je sais le plus compatible avec NZBdav
      ADDON_SHARED_SECRET: blahbluhbloh
      NZBDAV_URL: http://192.168.0.163:3029
      NZBDAV_API_KEY: 8bc33968842a4257891521d29ba0fb36
      NZBDAV_WEBDAV_URL: http://192.168.0.163:3029
      NZBDAV_WEBDAV_USER: xxx
      NZBDAV_WEBDAV_PASS: xxx
      NZBDAV_CATEGORY: Stremio
      ADDON_BASE_URL: https://stremio-usenetstreamer.xxx.xxx
    image: ghcr.io/sanket9225/usenetstreamer:latest
    labels:
      - com.centurylinklabs.watchtower.enable=true
  nzbhydra2:
    image: lscr.io/linuxserver/nzbhydra2:dev
    container_name: nzbhydra2
    restart: always
    network_mode: container:gluetun-airvpn
    environment:
      TZ: Europe/Paris
      PUID: 0
      PGID: 0
    volumes:
      - /home/aerya/docker/nzbhydra2/data:/config
    labels:
      - com.centurylinklabs.watchtower.enable=true


L’URL de mon addon pour l’ajouter à Stremio sera donc https://stremio-usenetstreamer.xxx.xxx/blahbluhbloh/manifest.json

Bon… j’ai commencé la rédaction ce matin, il est 16h, et entre temps il a publié une version :dev, qui n’a rien à voir ^^
Exit la configuration via les variables, c’est passé en format WebUI !
C’est bogué pour utiliser NZBHydra, il faut passer par Prowlarr, voici le nouveau compose

services:
  stremio-usenetstreamer:
    container_name: stremio-usenetstreamer
    restart: always
    ports:
      - 32867:7000
    environment:
      ADDON_SHARED_SECRET: blahbluhbloh
    image: ghcr.io/sanket9225/usenetstreamer:dev
    labels:
      - com.centurylinklabs.watchtower.enable=true

Je n’active pas le health check, NZBdav s’en occupant déjà avec sa fonction Repair.

usenetstreamer16


Pour vous donner une idée, voici les médias que j’ai lancés dans Stremio pour ce test

usenetstreamer12

Et les stats de NZBHydra pour l’unique indexeur utilisé

usenetstreamer11

Il me semble dangereux d’utiliser une mise en cache pour UsenetStreamers. Étant seul, ou au pire 2 avec Madame, sur Stremio, je peux aisément me passer du cache. Si vous faites de la revente du partage en famille ou entre amis, ça peut être plus compliqué. Et pourtant je pense qu’en terme de qualité de service, le cache peut avoir son intérêt. À creuser !

Loading

Kaspersky met en garde contre le chantage exercé par de prétendus « pirates informatiques », « forces de l’ordre » et « tueurs à gages »

Par : UnderNews
12 novembre 2025 à 13:18

Dans leurs e-mails frauduleux, les pirates intègrent des informations personnelles, telles que les noms complets et les numéros de téléphone, afin de paraître crédibles et de semer la panique parmi leurs victimes. En effet, ils se font généralement passer pour des hackers informatiques détenant des données compromettantes, des forces de l’ordre émettant de fausses convocations, […]

The post Kaspersky met en garde contre le chantage exercé par de prétendus « pirates informatiques », « forces de l’ordre » et « tueurs à gages » first appeared on UnderNews.

Mozilla Firefox 145 est désormais disponible et supprime la prise en charge 32 bits sous Linux, apportant également des améliorations en matière de confidentialité et des optimisations du flux de travail

12 novembre 2025 à 12:45
Mozilla Firefox 145 est désormais disponible et supprime la prise en charge 32 bits sous Linux, apportant également des améliorations en matière de confidentialité et des optimisations du flux de travail

Firefox 145.0 est désormais disponible avec de nouvelles fonctionnalités de commentaire PDF, des améliorations en matière de confidentialité et des optimisations du flux de travail. Cette dernière version de Firefox ne prend pas en charge les systèmes Linux 32 bits. Firefox 145 et toutes les versions...

Sensibilisation à la cybersécurité : le phishing et les mises à jour logicielles restent les principaux enjeux

Par : UnderNews
12 novembre 2025 à 10:43

Si cette année, les menaces sont devenues plus automatisées, opportunistes et incessantes, deux pratiques fondamentales restent essentielles : se protéger contre le phishing et maintenir les logiciels à jour. Ces pratiques n’ont rien de nouveau, mais elles restent la meilleure défense d’aujourd’hui et de demain. Tribune par Derek Manky Chief Security Strategist & Global VP Threat […]

The post Sensibilisation à la cybersécurité : le phishing et les mises à jour logicielles restent les principaux enjeux first appeared on UnderNews.

NZB Dav : streamer depuis Usenet

Par : Aerya
12 novembre 2025 à 10:28


Déjà fan du streaming dans Plex/Jellyfin depuis des .torrents via Decypharr (pour lequel je propose le compagnon de seed DecypharrSeed), j’avais à l’époque testé Decypharr-Usenet qui donnait des résultats corrects. Le streaming depuis Usenet est prégnant depuis plusieurs mois, divers projets se succèdent et, pour moi, le plus abouti est NZBdav (trouvant AltMount trop… instable).


Il faut évidemment un accès à Usenet via un FAU (je suis chez Eweka, lien sans sponsoring) et un indexeur de .nzbs qui référence des .nzb compatibles (sans archive).

Il agit comme un client de téléchargement SABnzbd pour les *arrs, à la manière de Decypharr, et s’il tombe sur un .nzb non compatible, il remonte alors le fichier en erreur à Radarr/Sonarr qui cherche une source alternative.

Ça s’installe en 2-2 avec Docker, voici mon exemple de compose avec le montage rClone dans lequel peuvent aller lire Plex/Emby/Jellyfin/Radarr/Sonarr/whatever.

Le rclone.conf est à créer selon les directives.

services:
  rclone-nzbdav:
    image: rclone/rclone:latest
    container_name: rclone-nzbdav
    restart: always
    cap_add:
      - SYS_ADMIN
    devices:
      - /dev/fuse
    security_opt:
      - apparmor:unconfined
    volumes:
      - /root/.config/rclone/rclone.conf:/config/rclone/rclone.conf:ro
      - /mnt/nzbdav:/mnt/nzbdav:rshared
      - /mnt/Data/rCloneCache:/mnt/Data/rCloneCache
    command: >
      mount nzb-dav: /mnt/nzbdav --vfs-cache-mode=full --buffer-size=1024
      --dir-cache-time=1s --links --use-cookies --allow-other
      --vfs-cache-max-size=5G --vfs-cache-max-age=180m --allow-non-empty
      --cache-dir /mnt/Data/rCloneCache
    logging:
      driver: json-file
      options:
        max-size: 10m
        max-file: "3"
  nzbdav:
    image: ghcr.io/nzbdav-dev/nzbdav:latest
    container_name: nzbdav
    restart: always
    depends_on:
      - rclone-nzbdav
    environment:
      - PUID=0
      - PGID=0
      - TZ=Europe/Paris
    ports:
      - 3029:3000
    volumes:
      - /mnt/nzbdav:/mnt/nzbdav:rshared
      - /home/aerya/docker/nzbdav:/config
    labels:
      - com.centurylinklabs.watchtower.enable=true


Sur l’accueil sont listés les derniers .nzb chargés, leur état et leur catégorie (« Stremio » c’est pour un artricle à venir). Pour Radarr et Sonarr on verra leurs catégories Movies et Shows.

nzbdav1

On peut parcourir le WEBdav qui est monté par rClone, selon ma configuration, dans /mnt/nzbdav

nzbdav2
nzbdav3
nzbdav4

Côté serveur, c’est bien un montage rClone

aerya@StreamBox:~$ df -H
Filesystem           Size  Used Avail Use% Mounted on
tmpfs                824M  5.6M  818M   1% /run
/dev/sdb2            251G  105G  134G  44% /
tmpfs                4.2G     0  4.2G   0% /dev/shm
tmpfs                5.3M  8.2k  5.3M   1% /run/lock
/dev/sda1            472G   54G  394G  12% /mnt/Data
tmpfs                824M  2.7M  821M   1% /run/user/1000
/dev/sdb2            251G  105G  134G  44% /mnt/decypharr/qbit
nzb-dav:             1.2P     0  1.2P   0% /mnt/nzbdav
decypharr-alldebrid  1.2P     0  1.2P   0% /mnt/decypharr/alldebrid

root@StreamBox:/home/aerya# tree /mnt/nzbdav/
/mnt/nzbdav/
├── completed-symlinks
│   ├── movies
│   ├── Stremio_MOVIE
│   │   ├── A.House.of.Dynamite.2025.MULTi.VF2.HDR.DV.2160p.WEB.H265-SUPPLY
│   │   │   └── A.House.of.Dynamite.2025.MULTi.VF2.HDR.DV.2160p.WEB.H265-SUPPLY.mkv -> /mnt/nzbdav/.ids/5/6/f/7/9/56f79c37-8539-439f-a2a4-2734e4973994
│   │   ├── Road.House.2024.MULTi.HDR.2160p.WEB.H265-UKDHD
│   │   │   └── extracted
│   │   │       └── Road.House.2024.MULTi.HDR.2160p.WEB.H265-UKDHD.mkv -> /mnt/nzbdav/.ids/1/2/0/1/6/120164fd-4fe9-4b84-8475-9f70fb86d89c
│   │   ├── Road.House.2024.MULTi.VF2.SDR.2160p.WEB.H265-FW
│   │   │   └── extracted
│   │   │       └── Road.House.2024.MULTi.VF2.SDR.2160p.WEB.H265-FW.mkv -> /mnt/nzbdav/.ids/b/2/6/6/b/b266b988-9958-465a-ae32-30e5d5a61fcc
│   │   ├── The.Woman.in.Cabin.10.2025.MULTi.DV.2160p.WEB.H265-LOST
│   │   │   └── The.Woman.in.Cabin.10.2025.MULTI.DV.2160p.WEB.H265-LOST.mkv -> /mnt/nzbdav/.ids/e/a/2/1/e/ea21eb64-df23-40ad-87fe-bc56a29f974f
│   │   └── Weapons.2025.MULTi.VFF.VFQ.CUSTOM.Hybrid.2160p.Bluray.REMUX.DV.HDR10P.HEVC-BDHD
│   │       └── Weapons.2025.Multi.VFF.VFQ.Custom.Hybrid.2160p.Bluray.Remux.DV.HDR10P.HEVC-BDHD.mkv -> /mnt/nzbdav/.ids/d/f/9/f/5/df9f5587-1a15-4a58-aa77-6eacdc76b72b
│   ├── Stremio_TV
│   │   └── My.Hero.Academia.The.Movie.Youre.Next.2024.FRENCH.1080p.WEB.x264-SUPPLY
│   │       └── My.Hero.Academia.The.Movie.Youre.Next.2024.FRENCH.1080p.WEB.x264-SUPPLY.mkv -> /mnt/nzbdav/.ids/f/a/2/4/4/fa2441b5-48e2-4d0d-b336-747a6cf3b0bd
│   └── uncategorized
├── content
│   ├── Stremio_MOVIE
│   │   ├── A.House.of.Dynamite.2025.MULTi.VF2.HDR.DV.2160p.WEB.H265-SUPPLY
│   │   │   └── A.House.of.Dynamite.2025.MULTi.VF2.HDR.DV.2160p.WEB.H265-SUPPLY.mkv
│   │   ├── Road.House.2024.MULTi.HDR.2160p.WEB.H265-UKDHD
│   │   │   └── extracted
│   │   │       └── Road.House.2024.MULTi.HDR.2160p.WEB.H265-UKDHD.mkv
│   │   ├── Road.House.2024.MULTi.VF2.SDR.2160p.WEB.H265-FW
│   │   │   └── extracted
│   │   │       └── Road.House.2024.MULTi.VF2.SDR.2160p.WEB.H265-FW.mkv
│   │   ├── The.Woman.in.Cabin.10.2025.MULTi.DV.2160p.WEB.H265-LOST
│   │   │   └── The.Woman.in.Cabin.10.2025.MULTI.DV.2160p.WEB.H265-LOST.mkv
│   │   └── Weapons.2025.MULTi.VFF.VFQ.CUSTOM.Hybrid.2160p.Bluray.REMUX.DV.HDR10P.HEVC-BDHD
│   │       └── Weapons.2025.Multi.VFF.VFQ.Custom.Hybrid.2160p.Bluray.Remux.DV.HDR10P.HEVC-BDHD.mkv
│   ├── Stremio_TV
│   │   └── My.Hero.Academia.The.Movie.Youre.Next.2024.FRENCH.1080p.WEB.x264-SUPPLY
│   │       └── My.Hero.Academia.The.Movie.Youre.Next.2024.FRENCH.1080p.WEB.x264-SUPPLY.mkv
│   └── uncategorized
│       ├── Attentat.du.Bataclan.ils.ont.donne.l.assaut.2025.DOC.FRENCH.720p.WEB.H264-THESYNDiCATE
│       │   └── Attentat.du.Bataclan.ils.ont.donne.l.assaut.2025.DOC.FRENCH.720p.WEB.H264-THESYNDiCATE.mkv
│       ├── Internet.un.geant.tres.vulnerable.2025.DOC.VFF.WEB.1080p.H264.AAC-NoX
│       │   └── extracted
│       │       └── Internet.un.geant.tres.vulnerable.2025.DOC.VFF.WEB.1080p.H264.AAC-NoX.mkv
│       └── The.Lost.Leonardo.2021.DOC.VOSTFR.1080p.BluRay.HDLight.H264.AC3.5.1-ARTHECL0WN
│           └── The.Lost.Leonardo.2021.DOC.VOSTFR.1080p.BluRay.HDLight.H264.AC3.5.1-ARTHECL0WN.mkv
└── nzbs

Les arrs (ou CineSync) viennent taper dans /mnt/nzbdav/content/xxx pour organiser/copier/symlinker les fichiers dans des bibliothèques lisibles dans Plex/Jellyfin.


NZBdav possède également une option de réparation (quand c’est possible, via les .par2)

nzbdav5

Loading

zLabs a découvert « Fantasy Hub » : un RAT Android russe disponible sous la forme de malware-as-a-service

Par : UnderNews
12 novembre 2025 à 09:54

zLabs, la division de recherche de Zimperium annonce la découverte de Fantasy Hub, un nouveau cheval de Troie d’accès à distance (RAT) ciblant Android et commercialisé sous forme d’abonnement Malware-as-a-Service (MaaS) sur des plateformes russophones. Ce logiciel espion propose une suite complète d’outils d’intrusion et de contrôle à distance des appareils : vol de SMS, […]

The post zLabs a découvert « Fantasy Hub » : un RAT Android russe disponible sous la forme de malware-as-a-service first appeared on UnderNews.

Des enceintes Bluetooth au cœur d’un réseau international de vol de voitures

Par : UnderNews
12 novembre 2025 à 09:44

La gendarmerie a annoncé ce dimanche, l’interpellation de cinq personnes dans le cadre du démantèlement d’un réseau criminel international de vol de voitures à l’aide d’enceintes connectées trafiquées. L’enquête aurait été menée par le département criminalité organisée de l’Unité nationale cyber et placée sous la direction de la section de lutte contre la cybercriminalité du […]

The post Des enceintes Bluetooth au cœur d’un réseau international de vol de voitures first appeared on UnderNews.

La fracture de la cyber-résilience coûte des millions aux entreprises françaises

Par : UnderNews
12 novembre 2025 à 09:41

Cohesity, spécialiste de la sécurisation des données alimentée par l’IA, publie aujourd’hui son premier baromètre mondial de la cyber-résilience. Ce rapport inédit, basé sur une enquête menée auprès de plus de 3200 décideurs IT et sécurité dans 11 pays, analyse la maturité des organisations en matière de cyber résilience, c’est-à-dire leur capacité à se remettre […]

The post La fracture de la cyber-résilience coûte des millions aux entreprises françaises first appeared on UnderNews.

📰 Revue de presse — novembre 2025

12 novembre 2025 à 10:01

Ça y est, l'automne s'est définitvement installé et c'est le moment où l'on peut passer plus de temps à hacker, bidouiller, programmer, administrer, essayer de nouvelles choses sans culpabiliser. Et ça tombe bien, les nouveaux numéros de vos magazines préférés sont de sortie. Petit panorama, forcément subjectif et parti{e,a}l, de la presse papier disponible cet automne 2025.

Image une de Journal

Voici donc les nouveautés sorties en octobre et novembre des éditions Diamond et disponibles jusqu'à fin de l'année, peu ou prou. Pour rappel, Linux Pratique est devenu SysOps Pratique, pour acter un état de fait et mieux refléter son contenu dédié aux administrateurs de systèmes libres et open source.

  • GNU/Linux Magazine France no 278 créez un rootkit, histoire de mieux comprendre comment vous défendre. Personnellement, j'adore le style des nouvelles couvertures de GLMF, même si on note une sur-représentation des chats et strigidés ;
  • SysOps Pratique no 152 remplace votre VPN par Nebula ;
  • MISC magazine no 142, vous déployez ou prévoyez de déployer un CERT, ce numéro est pour vous ;
  • MISC hors-série no 33 s'intéresse au pentest mobile ;
  • Hackable no 63 sécurise votre assistant domotique.

Et les éditions Diamond fêtent toujours leurs 30 ans. À cette occasion, elles proposent de (re)découvrir l'une de leurs publications en offrant le numéro 270 de GNU/Linux Magazine via leur support de lecture en ligne, Kiosk Online (en HTML).

Les sommaires des numéros sortis en octobre et novembre 2025

Mosaïque des couvertures GLMF 278 Mosaïque des couvertures SOP 152 Mosaïque des couvertures MISC 142 Mosaïque des couvertures HK 63 Mosaïque des couvertures MISC HS 33

GNU/Linux Magazine numéro 278

Au sommaire de ce numéro de novembre — décembre 2025 :

  • Quarante ans d’IOCCC : enfin les gagnants de l’édition 2024 !
  • Dettes techniques, cas concrets, retours d’expérience ;
  • Git : merge et rebase ;
  • Les codes fantastiques : bas les masques !
  • Hack : utiliser les sous-titres comme source d'action durant une lecture audio ;
  • Comprendre pour se protéger : écrivez votre premier rootkit ;
  • Concevez une application web de A à Z avec Taipy ;
  • Permutations aléatoires : comment battre les cartes avec Galois.

SysOps Pratique numéro 152 (ex Linux Pratique)

Au sommaire de ce numéro de novembre — décembre 2025, devenu SysOps Pratique :

  • Premiers pas vers une IA qui comprend vos documents ;
  • Mettre en place une ingestion pipeline entre HAProxy et Loki ;
  • Introduction aux protocoles en informatique ;
  • Interconnectez vos serveurs à l’aide de Nebula ;
  • Exécuter des conteneurs au sein d’un conteneur ;
  • Sécurisez la construction de votre application dans une CI/CD avec Trivy ;
  • « Day One Operations » avec Ansible : maintenance et évolution.

MISC Magazine numéro 142

Au sommaire de ce numéro de novembre — décembre 2025 :

  • CyberEnJeux : former les élèves à la cybersécurité… par la création de jeux !
  • Les (mauvaises) idées reçues sur la robustesse des mots de passe ;
  • Plongée au cœur des interactions inter-applications sur Android ;
  • Déploiement opérationnel d’un starter kit du CERT : retour d’expérience et outils open source pour la surveillance proactive ;
  • DOIP : sécuriser les diagnostics automobiles utilisant Internet Protocol (IP) ;
  • Attaque de modèles d’apprentissage : cas d’usage pour le contournement de la détection d’hameçonnage ;
  • Vulnerability Management : utiliser l’IA pour réduire la charge mentale des équipes ?

Hackable numéro 63

Au sommaire de ce numéro de novembre — décembre 2025 :

  • Entretien avec Gwenhaël Goavec-Merou, créateur d'OpenFPGAloader ;
  • STC15 : les microcontrôleurs avec un cœur vieux de 45 ans sont toujours d'actualité !
  • À la découverte des machines à états finis ;
  • Créons un « pilote » bare metal pour une interface série ;
  • Renforcez la sécurité de votre Home Assistant ;
  • Comprendre et reproduire un badge NFC avec un ESP32 : signaux, commutation et synchronisation ;
  • Toujours plus loin dans LiteX : des histoires de nonos et de bar.

MISC hors‑série numéro 33

Au sommaire de ce numéro hors-série d'octobre — novembre 2025 :

  • Cybersécurité : le commercial, premier rempart contre les cybermenaces ?
  • Dossier : Pentest mobile — Nouvelles techniques d’audits & d’attaques ;
    • Évolution de la sécurisation des applications mobiles depuis 5 ans ;
    • Sécurité mobile augmentée : comment l’IA transforme l’analyse des APK Android ;
    • Patcher une appli Android ? Une option pas si inutile…
    • MITM sur Android : from 0 to Hero ;
    • Sécurité des API : de la stratégie à l’implémentation ;
  • Déployer l’IA dans une équipe sécurité : entre ambition et pragmatisme.

Télécharger GNU/Linux Magazine numéro 270

Pour le récupérer, il suffit de

  1. se connecter ou de créer un compte sur leur boutique en ligne ;
  2. d'ajouter le numéro 270 de GNU/Linux Magazine à votre panier en sélectionnant bien le support Kiosk Online avant ;
  3. d'indiquer le code de remise ED30LINUXFR lors de la validation de la commande.

Bonnes lectures !

Commentaires : voir le flux Atom ouvrir dans le navigateur

Sortie du jeu Bim! en version 12

12 novembre 2025 à 09:24

Bim! est un jeu libre (code AGPL3 et assets CC-by-sa 4.0) multijoueur de type dernier survivant, et qui se joue uniquement en ligne. Il n’est disponible que pour les systèmes Android.

Le jeu est développé depuis plus de deux ans. Jusque-là restreint à quelques pays sur le PlayStore, la sortie de la version 12 marque la mise à disposition de l’app à tous les pays en mode tests ouverts ; c’est-à-dire que vous pouvez installer l’app et même laisser des commentaires mais ceux-ci ne seront pas visibles dans le PlayStore.

En plus du PlayStore, le jeu est disponible sur GitHub, F-Droid, et d’autres magasins alternatifs.

La suite de la dépêche présente les nouveautés des versions publiées depuis la dernière communication en ces pages, soit les versions 11 et 12.

Bim est multijoueur pour jouer avec ses amis

Sommaire

Bim! est un jeu « à la bomberman ». Deux à quatre joueurs sont dans une arène, le dernier survivant a gagné. Pour combattre, les joueurs posent des bombes dont ils peuvent augmenter la puissance en trouvant les améliorations disséminées dans l’arène. De plus, d’autres bonus peuvent être découverts pour faire varier l’expérience de jeu.

Un pilier dans la création de ce jeu est de proposer aux joueurs de partager un bon moment d’amusement avec d’autres personnes. C’est pourquoi il ne propose aucun mode hors-ligne ni de bots en guise d’adversaires.

Le jeu est disponible en allemand, anglais, brésilien, breton, français, portugais, et turc.

Historique du développement

Le développement du jeu a été régulièrement conté dans des journaux sur LinuxFr.org, au rythme d’un journal toutes les deux versions. J’en profite pour remercier profondément tous ceux qui ont testé ou commenté jusqu’ici :)

Le premier journal, dix mois après la création du dépôt, intitulé Bim! On parle de dev de jeu mobile, de gestion de projet, de dépendances, etc., présente le début du projet, les choix de technos, la mise en place d’outils de dev, et le chemin pour arriver à une première application et un environnement de dev robuste. Au final on obtient une application humble sur laquelle on va pouvoir construire, et bien qu’elle soit en mode texte le mode de jeu en réseau est déjà fonctionnel.

Première version avec gameplay, dans un terminal Première version de l’app graphique
Première version avec gameplay, dans un terminal Première version de l’app graphique

Dans le deuxième journal, Dev update du jeu Bim!, on présente les résultats d’une première version graphique, et des problèmes liés à la gestion de sticks logiciels. Des assets temporaires sont utilisés en attendant de valider le fonctionnel.

Capture de la version de Bim! lors du second journal

Le troisième journal, Bim! Ça joue là, marque la mise à disposition du premier APK. Les joueurs peu regardants sur l’esthétique du jeu peuvent faire des matchs.

Capture de la version de Bim! lors du troisième journal
Clique sur l’image pour voir une vidéo du jeu.

Le quatrième journal, Version 2 de Bim!, avec des menus, présente l’interface des premiers menus. L’interface du jeu lui-même est toujours à base de placeholders mais les menus s’approchent d’une esthétique convenable. On y parle aussi de réglages liés au jeu en réseau.

Capture de la version de Bim! lors du quatrième journal

Dans le cinquième journal, Sortie de Bim! en version 3 pour les fêtes, on parle de l’arrivée de l’écran de paramétrage, ainsi que de réglages graphiques suite à des sessions de tests avec joueurs. C’est aussi dans cette version qu’est introduite l’enregistrement des parties sur le serveur afin d’aider à déboguer a posteriori.

Écran des paramètres Interface de visualisation des parties enregistrées
Écran des paramètres Interface de visualisation des parties enregistrées

Le sixième journal, De beaux graphismes dans la version 4 de Bim!, marque un tournant avec le remplacement des assets du jeu par des graphismes convenables. Ça change tout. L’avatar du joueur, la bombe, les flammes, et les caisses sont le résultat d’une commande à Aryeom. Pour le reste c’est de mon fait, parfois avec des ressources libres trouvées sur le web. On y parle aussi de conso mémoire, d’équité dans la répartition des bonus, et de recherche graphique.

Capture d’une partie Recherche d’adversaire
Capture d’une partie Recherche d’adversaire

La version présentée dans le septième journal, Sortie de Bim! en version 6, est la première à ne plus utiliser d’éléments graphiques provisoires. C’est aussi celle qui introduit le mode de jeu avec brouillard de guerre.

Capture de la version du septième journal
Clique sur l’image pour voir une vidéo du jeu.

Dans la version du huitième journal, Ça bouge dans Bim! en version 8, les joueurs sont enfin animés. C’est aussi une version qui contient des contributions externes, notamment le bonus d’invisibilité. Enfin, les joueurs gagnent maintenant des pièces en jouant, leur permettant d’acheter les modes de jeu supplémentaires.

Animations du personnage Vidéo du bonus d’invisibilité
Animations du personnage Vidéo du bonus d’invisibilité

Enfin, le neuvième et dernier journal en date, Sortie de Bim! en version 10, avec un bouclier et des stats, marque l’arrivée du bonus « bouclier » ainsi que d’une refonte graphique des bonus. Cette version est aussi la première à proposer une boutique ainsi qu’à présenter les stats de jeu au joueur. Enfin, grâce à Weblate des contributeurs à travers le monde ont pu proposer de nouvelles traductions.

Boutique Statistiques Bonus
Boutique Statistiques Bonus

Nouveautés des versions 11 et 12

Il n’y a qu’une nouveauté de gameplay dans ces versions, il s’agit d’une modification du comportement des flammes pour qu’elles puissent se croiser. Auparavant une flamme qui en rencontrait une autre était bloquée, ce qui réduisait de fait son pouvoir de destruction. Dorénavant elles s’étendront jusqu’au prochain obstacle solide. Cela rend les fins de parties et les mêlées vachement plus fun.

Capture avec intersection des flammes

Du côté des outils j’ai intégré l’instrumentalisation avec Tracy, et j’ai commencé à faire quelques mesures de perf, pour voir où le jeu se situe. Très sympa comme outil, ça me permet de prendre des mesures par frame et de regarder comment l’application se comporte. Il y a aussi la possibilité de tracer des données personnalisées, ce dont je me sers pour suivre le trafic réseau.

Utilisation de Tracy

Sur cette frame on a une petite pile d’appels (c’est moi qui indique manuellement quelles fonctions doivent être mesurées) qui correspond à l’update du jeu. En rouge on a l’étape de synchronisation avec le serveur, où on joue ce qu’il nous a envoyé pour ensuite simuler les itérations locales. En bleu on a la préparation de l’affichage. Tout cela est inclus dans la section « update », qui contient d’autres trucs non tracés et prend donc une milliseconde sur mon Pixel 3a. Sur la droite il y a une section « draw » qui n’a pas de pile d’appels. Il s’agit de l’affichage proprement dit, géré par Axmol. Ça prend donc 14 ms, ce qui est un peu trop à mon goût. Il faudra que je creuse.

Nouveautés sur le serveur

Le serveur de jeu maintient maintenant des statistiques d’activité sur une fenêtre glissante, à savoir le nombre de parties jouées et le nombre de joueurs connectés. Ces deux métriques sont disponibles en instantané, sur la dernière heure, les 24 dernières heures, et les 30 derniers jours. Ces statistiques sont disponibles dans les logs du serveur mais aussi à la demande des clients.

Ce travail est basé sur une contribution de HanevyN. Dans le cadre de l’utilisation de Bim! comme outil d’apprentissage du C++ présenté dans le journal sur la version 8, cette personne avait choisi la tâche d’intégrer des statistiques au serveur. Le problème à résoudre était mal spécifié, mais nous avons trouvé une reformulation plus réaliste qui a ensuite bien occupé ce contributeur. Lorsqu’il n’a plus pu se charger de ce développement j’ai pris la suite pour le finaliser et l’intégrer au dépôt.

Nouveautés sur le client.

Les transitions entre les écrans sont maintenant animées ! C’est vachement plus agréable. Avec l’arrivée d’animations dans les menus j’ai dû remettre le framerate à 60 dans ces derniers parce que sinon c’était trop saccadé.

Affichage de statistiques du serveur

Autre nouveauté sur le client, il affiche maintenant une statistique du serveur. À l’origine de cette fonctionnalité il y a une demande d’un utilisateur reçue par courriel :

Bim is such a great game, but sometimes I join for a casual match, and there is no one playing. Sometimes I sit in the lobby for 2 minutes to check if someone else's game ends and join them, but it would be even greater to have a games in progress count in the lobby.

Le problème de cette personne est qu’elle lance une recherche d’adversaire et la laisse tourner sans jamais voir de joueur la rejoindre. C’est très frustrant en effet. Cette personne propose d’avoir une indication sur l’écran principal de l’application du nombre de parties en cours.

C’est quelque chose que j’avais auparavant refusé de faire, car la plupart du temps cela affichera zéro, et si c’est zéro sans doute que les joueurs qui ouvrent l’app ne vont pas tenter de lancer un match, ce qui ne va pas aider à faire monter le compteur.

Cependant, suite à ce message, j’ai réfléchi à la possibilité de suggérer l’activité sur le serveur mais de manière toujours positive. L’idée est d’indiquer le nombre de parties en cours mais de se rabattre sur une indication du nombre de joueurs connectés s’il n’y a pas assez de matchs en cours. Et s’il n’y a pas trop de joueurs, alors on se rabat sur des mesures agrégées sur la dernière heure, puis les 24 dernières heures, puis les 30 derniers jours. Ça tombe bien, j’avais toutes ces mesures sur le serveur !

Ça me semble être un bon compromis. On ne voit pas qu’il n’y a personne, mais on voit que le jeu n’est pas à l’abandon.

Boutons pour la boutique et les stats sur le lobby.

J’ai fait pas mal d’UI dans ces versions à commencer par ajouter un bouton permettant d’accéder à la boutique et un autre pour afficher les statistiques du joueur. Auparavant on accédait à la première en cliquant sur le solde de pièces et les secondes étaient affichées directement sur l’écran principal.

Le plus simple pour moi, quand je dois faire ce genre de bouton, est de commencer par des croquis pour dégrossir les idées.

Des croquis

En haut à gauche on voit la base du bouton. L’icône est trop petite, et le libellé trop rigide ; je l’ai donc incliné (c’est une des lignes directrices que j’applique pour l’interface, d’avoir des inclinaisons, pour donner un sentiment de dynamisme). Pour l’icône je me suis posé plein de questions sur la taille du store, la forme de la porte, les proportions… D’où le lot de croquis.

Pour l’icône des statistiques c’était plus simple, il y avait moins de questions. Enfin, il y a surtout eu des questions de couleurs mais ça je ne le travaille pas sur le carnet.

Au final ça donne ça. J’ai peut-être fait un peu de zèle pour l’icône de la boutique, sans doute que je voulais impressionner mon enfant qui me regardait dessiner dans GIMP (ça a marché :)).

Icône de la boutique

Intégration d’un outil d’analytics

L’application Android intègre maintenant une remontée de statistiques anonymes sur son utilisation. L’outil que j’ai choisi est PostHog, qui a le bon goût d’être libre, auto-hébergeable, de proposer le stockage des données en Europe, d’avoir une offre gratuite, et de permettre une remontée des statistiques sans identification de l’utilisateur.

Grâce à cet outil j’ai maintenant une idée de ce qu’il se passe sur le client ; notamment le nombre d’utilisateurs par jour, ou encore la proportion de joueurs qui cherchent et trouvent un adversaire.

Écran de sélection des fonctionnalités de jeu.

Le déblocage et la sélection des fonctionnalités de jeu se faisaient auparavant sur l’écran de recherche d’adversaire. Les joueurs pouvaient activer la chute de blocs, les boucliers, le brouillard, ou encore l’invisibilité depuis cet endroit. Dans la nouvelle version cette sélection se fait maintenant sur un écran dédié, accessible depuis le lobby. De plus, seules deux options peuvent être activées par joueur. Cela permettra d’avoir un peu plus de variété et de surprise dans les matchs en combinant les fonctionnalités activées par les uns et les autres.

Cet écran a été un très gros chantier, avec pas mal de code qui n’était pas prêt mais que je ne le savais pas et que donc j’ai dû m’interrompre plein de fois pour préparer ce code que j’aurais dû écrire en amont. Galère.

Déjà sur les croquis ont voit que ça n’allait pas être simple.

Encore des croquis

J’avais envisagé une vue grille (en haut à gauche) pour ensuite m’orienter sur une liste de fiches présentant chaque fonctionnalité (milieu gauche). J’avais besoin d’emplacements où poser les éléments sélectionnés par le joueur, que je mettais en haut sur les croquis, sans trop savoir s’ils allaient être en ligne ou en pyramide, inclinés ou horizontaux.

Étonnamment dès lors que j’ai ouvert GIMP pour faire une maquette j’ai abandonné l’idée des fiches en faveur de la grille. La longue liste de fiches m’a semblé soudain peu attrayante par rapport à une grande grille qui montrerait au premier coup d’œil la variété de l’offre.

J’ai ajouté une zone de présentation de chaque fonctionnalité ainsi qu’une petite notice explicative, et j’ai fait beaucoup d’essais pour déterminer la couleur des contours des boutons.

Essais

Et au final, quand j’ai mis ça dans l’application, eh bien j’ai jeté la petite explication pour la fusionner dans la nouvelle boîte de présentation des fonctionnalités ! On avance clairement à tâtons sur cet écran.

Personnalisation des parties

Il faut savoir qu’il y a aussi beaucoup d’animations liées aux interactions sur cet écran, mais évidemment ça ne se voit pas sur les images :)

Quelques statistiques

À chaque communication je présente quelques statistiques du jeu. Comme d’habitude je vais sortir des graphiques à partir des logs du serveur, mais cette fois j’ai aussi des mesures intégrées au client grâce à PostHog ; je vais donc pouvoir sortir quelques graphes supplémentaires. Commençons par le nombre de joueurs par jour :

Nombre de joueurs par jour

On y voit clairement le déploiement des deux mises à jour. Dès lors que ça arrive sur F-Droid il y a plein de joueurs qui débarquent. Ensuite voici le nombre de parties par jour (logs serveur) :

Nombre de parties par jour

Une chouette info que me donnent les mesures sur le client est la proportion de joueurs qui lancent une recherche d’adversaire et trouve effectivement quelqu’un :

Proportion de joueurs qui lancent une recherche d’adversaire et trouve effectivement quelqu’un

Sur un autre graphe que je n’affiche pas ici, j’apprends que les joueurs restent en moyenne 17 secondes sur la recherche d’adversaire avant de laisser tomber.

En termes de répartition du nombre de joueurs par partie, cela donne :

Nombre de joueurs Nombre de parties
2 708
3 182
4 42

Et enfin, pour la répartition des joueurs par pays, on a :

Répartition des joueurs par pays

Ce sera tout pour cette fois. On se retrouve en match :)

Commentaires : voir le flux Atom ouvrir dans le navigateur

Parution du numéro 4 du Lama déchainé, mur de la joie et un navigateur perturbateur

12 novembre 2025 à 07:54

Grâce aux remontées de plusieurs personnes, nous avons appris que les Chrome/Chromium récents n'affichaient pas le site du Lama Déchaîné et crashaient sur l'affichage (avec un s et pas un c). Manifestement ces navigateurs n'aiment pas les mots croisés, enfin le multicolonage des grilles. Après quelques ajustements, le site devrait être à peu près accessible, sans que le problème ne soit vraiment réglé. Bref, ce n'est pas optimal. Help! :-)

Le mur de la joie a enfin fait son apparition sur la page d'accueil. Par mur de la joie, on entend en fait un mur de remerciement. Chaque nouvel adhérent ou adhérente, et chaque donateur ou donatrice, se voit remercié publiquement (prénom + initiale du nom), car c'est grâce à eux que la campagne avance. Si vous aussi, vous voulez apparaître sur ce mur, vous savez quoi faire ;-)

Enfin le numéro 4 du Lama sort ce mercredi 12 novembre ! Comme ce week-end c'est le Capitole du Libre, la thématique de notre numéro est la communauté.

L'April: un lama à mille pattes? - enfin 10, dont 8 qui portent des projets April

L'équipe de journalistes vous propose donc

  • un édito pour rappeler ce que l'April fait pour sa communauté et la remercier pour son soutien !
  • une anecdote d'un truc à savoir (et à vérifier) qui s'est passé l'année dernière au Capitole du Libre et un le saviez-vous pour dévoiler comment les stands sont organisés ;
  • une astuce de Gee pour changer le monde :
  • l'écho des assos est laissé à Infini, un des rares GULL plus vieux que l'April (si si c'est possible) ;
  • la plume invitée est pour nos amis de Framasoft qui nous présentent, s'il est encore besoin, le super logiciel PeerTube ;
  • un bénévole nous a permis de photographier son ordinateur, où un lama venait d'emménager à côté d'un autocollant… je vous le donne en mille, Linux-Fr ;
  • le logiciel Android proposé par Michaël cette semaine est StreetComplete ;
  • la distribution libre est cette fois-ci Zorin OS ;
  • une autre étape pour fabriquer le Lama Photonique interpellant ;
  • une nouvelle ineptia ;
  • et bien sûr des mot-croisés qui font planter Chromium/Chrome.

Merci à Miguel pour son témoignage de nouvel adhérent et Acryline qui a accepté de participer au courrier des lecteurs !

Bannière de la campagne du Lama déchaîné

Rappel, Le Lama déchaîné a pour but de vous présenter les actions de l’April et de ses proches jusqu'à Noël 2025, avec humour, légèreté et parfois quelques coups de gueule.

Ce travail astronomique qui occupe de nombreux bénévoles est fait pour assurer la pérennité des activités de l’April qui, comme de nombreuses associations en péril ces derniers temps, cherche à récolter une somme de 30 000€ avant le 31 décembre. Les débuts de la campagne sont difficiles avec seulement 10% récoltés en quatre semaines. Toujours moins que l’année dernière à la même époque. Nous essayons de ne pas nous inquiéter, car tout se joue les derniers jours… n'est-ce pas ?

Merci de votre lecture, de vos commentaires, de vos relais sur les réseaux sociaux ou ailleurs et, bien sûr, de votre soutien !

Commentaires : voir le flux Atom ouvrir dans le navigateur

❌