2026-07-13 09:28:41 +02:00
2026-07-13 09:28:41 +02:00

Lecteur de sessions — Assembly Session Player

Application de bureau (GNOME / Wayland) très simple à utiliser, qui lit automatiquement, dans l'ordre, toutes les sessions vidéo disponibles sur un lien d'assemblée du type :

https://stream.jw.org/9021-8224-3277-8078

Elle retient où vous en étiez (session + position exacte) pour reprendre la lecture pile où vous vous êtes arrêté·e, y compris après un redémarrage du PC.

Projet non officiel, réalisé pour un usage personnel. Il n'est ni développé, ni approuvé, ni affilié à watchtower.org / jw.org / stream.jw.org. Il se contente d'afficher la page officielle telle quelle dans une fenêtre (WebKitGTK) et de l'automatiser via le DOM — aucun contenu n'est téléchargé, copié ou redistribué par l'application.

Fonctionnalités

  • Lien d'assemblée configurable (Paramètres, ou menu de l'icône de la barre des tâches).
  • Détection automatique de la liste des sessions et lecture dans le bon ordre, enchaînement automatique d'une session à l'autre.
  • Reprise de lecture exacte (session + position en secondes), même après fermeture complète de l'application ou redémarrage du PC.
  • Démarrage automatique au démarrage du PC (option dans les Paramètres ou le menu de l'icône), en arrière-plan (fenêtre réduite dans la barre des tâches), avec reprise automatique.
  • Mode plein écran (bouton dédié, touche F11, ou menu de l'icône) ; F10 ouvre les Paramètres même en plein écran.
  • Icône dans la barre des tâches (system tray / AppIndicator, compatible GNOME sur Wayland) avec Lecture/Pause, session précédente/suivante, plein écran, démarrage automatique et changement de lien.
  • Icône d'application dédiée, utilisée dans la fenêtre, le lanceur et la barre des tâches.
  • Bouton discret « À propos » (barre du haut ou menu de l'icône) : nom, version et rappel du caractère non officiel de l'application.

Limitation connue (sécurité navigateur, pas un bug)

Les navigateurs (et WebKitGTK) bloquent le démarrage automatique du son/vidéo tant qu'aucun clic réel n'a eu lieu dans la page. Concrètement : au premier lancement de la fenêtre, un seul clic sur le bouton ▶ affiché dans la vidéo est nécessaire pour démarrer. Une fois ce clic fait, tout s'enchaîne ensuite automatiquement (reprise à la bonne position, passage à la session suivante) sans autre action, tant que la fenêtre reste ouverte. C'est une protection standard des navigateurs contre la lecture automatique intempestive — l'application ne peut pas (et ne doit pas) la contourner.

Prérequis

Testé sur Ubuntu/GNOME (Wayland). Paquets système nécessaires :

  • python3-gi, python3-gi-cairo
  • gir1.2-gtk-3.0
  • gir1.2-webkit2-4.1
  • gir1.2-ayatanaappindicator3-0.1
  • gir1.2-notify-0.7
  • gir1.2-rsvg-2.0 (uniquement pour générer les icônes)

Installation en une commande :

make deps

Installation

make install

Installe l'application pour l'utilisateur courant dans ~/.local (binaire, icônes, fichier .desktop). Assurez-vous que ~/.local/bin est dans votre PATH (c'est le cas par défaut sur la plupart des distributions GNOME).

Pour une installation système (tous les utilisateurs) :

sudo make install PREFIX=/usr/local

Utilisation

Lancez assembly-player depuis le terminal, le menu d'applications, ou cliquez sur l'icône Lecteur de sessions.

  1. La fenêtre s'ouvre sur le lien d'assemblée configuré (par défaut, celui fourni à la création du projet).
  2. L'application choisit automatiquement la bonne session à ouvrir (reprise, ou première session si c'est la première fois) et se positionne au bon endroit.
  3. Cliquez une fois sur ▶ dans la vidéo pour démarrer (voir limitation ci-dessus). Ensuite, tout est automatique.
  4. Fermer la fenêtre (croix) coupe la lecture et quitte complètement l'application. Pour la garder active en arrière-plan sans fenêtre visible, utilisez « Masquer la fenêtre » dans le menu de l'icône (au lieu de la croix) ; « Afficher la fenêtre » la fait réapparaître.

Changer le lien de l'assemblée

Bouton ☰ dans la fenêtre, ou clic droit sur l'icône de la barre des tâches → « Changer le lien de l'assemblée… ».

Démarrage automatique au démarrage du PC

Cochez « Lancer automatiquement au démarrage du PC » dans les Paramètres (ou le menu de l'icône), ou en ligne de commande :

make autostart-enable
make autostart-disable

Au démarrage du PC, l'application se lance réduite dans la barre des tâches et reprend automatiquement à l'endroit où vous vous étiez arrêté (un clic sur ▶ reste nécessaire, voir plus haut).

Plein écran

Bouton dédié dans la fenêtre, touche F11, ou menu de l'icône.

En plein écran, la barre du haut (avec le bouton ☰ Paramètres) est masquée — c'est normal, GTK fait disparaître la barre de titre dans ce mode. Pour revenir en fenêtré ou ouvrir les Paramètres sans repasser par la souris :

  • F11 : bascule plein écran / fenêtré (fonctionne même si la vidéo a le focus clavier).
  • F10 : ouvre directement les Paramètres, même en plein écran.

Une notification rappelle ces deux raccourcis à chaque entrée en plein écran.

Emplacement des données

  • Configuration (lien, options) : ~/.config/assembly-player/config.json
  • Progression de lecture (par assemblée) : ~/.local/state/assembly-player/state.json
  • Démarrage automatique : ~/.config/autostart/assembly-player.desktop

Désinstallation

make uninstall

Développement

make test     # vérifie que le code Python compile
make run      # lance l'application depuis les sources
make icons    # régénère les icônes PNG depuis le SVG source

Icône source (vecteur) : assembly_player/icons/assembly-player.svg.

Dépannage

  • L'icône n'apparaît pas dans la barre des tâches : sur GNOME/Wayland, l'extension GNOME Shell « AppIndicator and KStatusNotifierItem Support » doit être activée.
  • assembly-player introuvable après make install : vérifiez que ~/.local/bin figure dans votre $PATH (echo $PATH).
  • La vidéo ne démarre jamais : cliquez directement sur le bouton ▶ affiché dans la vidéo (voir « Limitation connue » ci-dessus).
  • La liste des sessions ne se met pas à jour : le site stream.jw.org a pu changer sa structure de page ; ouvrez une issue/PR sur le dépôt du projet.
  • Impossible de revenir aux Paramètres en plein écran : appuyez sur F10 (ouvre directement les Paramètres) ou F11 (revient en fenêtré), ou passez par le menu de l'icône de la barre des tâches.
  • Image noire ou figée (mais le son continue) en changeant de session : bug de compositing GPU connu de WebKitGTK. Depuis la version 1.0.4, l'accélération matérielle de la page est désactivée pour l'éviter structurellement. Si ça se reproduit malgré tout, basculer une fois en plein écran (F11) puis revenir force un rafraîchissement de l'image ; et n'hésitez pas à signaler le modèle de carte graphique/pilote utilisé.
Description
No description provided
Readme 56 KiB
First release Latest
2026-07-13 07:53:42 +00:00
Languages
Python 71.2%
Makefile 17.3%
JavaScript 11.1%
Shell 0.4%