Initial
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,3 +1,4 @@
|
|||||||
build/
|
build/
|
||||||
|
dist/
|
||||||
__pycache__/
|
__pycache__/
|
||||||
*.pyc
|
*.pyc
|
||||||
|
|||||||
17
CHANGELOG.md
17
CHANGELOG.md
@@ -4,6 +4,23 @@ Toutes les modifications notables de ce projet sont documentées ici.
|
|||||||
Le format suit [Keep a Changelog](https://keepachangelog.com/fr/1.1.0/), et ce
|
Le format suit [Keep a Changelog](https://keepachangelog.com/fr/1.1.0/), et ce
|
||||||
projet suit le [Semantic Versioning](https://semver.org/lang/fr/).
|
projet suit le [Semantic Versioning](https://semver.org/lang/fr/).
|
||||||
|
|
||||||
|
## [1.2.0] - 2026-07-13
|
||||||
|
|
||||||
|
### Ajouté
|
||||||
|
|
||||||
|
- Cible `make deb` : génère un paquet Debian autonome
|
||||||
|
(`dist/assembly-player_<version>_all.deb`, dépendances déclarées,
|
||||||
|
architecture `all`), installable via `sudo apt install ./dist/*.deb`.
|
||||||
|
- Aide (`make help`) réorganisée par catégories (🔧 Installation, 💻
|
||||||
|
Développement, ⏰ Démarrage automatique), avec bannière et emoji sur chaque
|
||||||
|
commande.
|
||||||
|
- README : étiquettes (badges) et emoji ajoutés pour une lecture plus rapide.
|
||||||
|
|
||||||
|
### Corrigé
|
||||||
|
|
||||||
|
- Les paquets générés (`make install` et `make deb`) n'embarquent plus de
|
||||||
|
fichiers `__pycache__` residuels du poste de développement.
|
||||||
|
|
||||||
## [1.1.1] - 2026-07-13
|
## [1.1.1] - 2026-07-13
|
||||||
|
|
||||||
### Ajouté
|
### Ajouté
|
||||||
|
|||||||
94
Makefile
94
Makefile
@@ -5,36 +5,55 @@ SHAREDIR := $(PREFIX)/share/assembly-player
|
|||||||
APPDIR := $(PREFIX)/share/applications
|
APPDIR := $(PREFIX)/share/applications
|
||||||
ICONDIR := $(PREFIX)/share/icons/hicolor
|
ICONDIR := $(PREFIX)/share/icons/hicolor
|
||||||
BUILDDIR := build
|
BUILDDIR := build
|
||||||
|
DISTDIR := dist
|
||||||
|
|
||||||
APT_PACKAGES := python3-gi python3-gi-cairo gir1.2-gtk-3.0 gir1.2-webkit2-4.1 \
|
APT_PACKAGES := 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
|
gir1.2-ayatanaappindicator3-0.1 gir1.2-notify-0.7 gir1.2-rsvg-2.0
|
||||||
|
|
||||||
.PHONY: help deps check-deps icons install uninstall run test clean autostart-enable autostart-disable
|
# Paquets requis à l'EXÉCUTION seulement (pas gir1.2-rsvg-2.0/gi-cairo, qui ne
|
||||||
|
# servent qu'à générer les icônes au moment du build, déjà incluses dans le .deb).
|
||||||
|
DEB_DEPENDS := python3-gi, gir1.2-gtk-3.0, gir1.2-webkit2-4.1, gir1.2-ayatanaappindicator3-0.1, gir1.2-notify-0.7
|
||||||
|
DEB_VERSION := $(shell $(PYTHON) -c "from assembly_player import __version__; print(__version__)")
|
||||||
|
DEB_ARCH := all
|
||||||
|
DEB_STAGE := $(BUILDDIR)/deb
|
||||||
|
DEB_PKG := $(DISTDIR)/assembly-player_$(DEB_VERSION)_$(DEB_ARCH).deb
|
||||||
|
|
||||||
|
.PHONY: help deps check-deps icons install uninstall deb run test clean autostart-enable autostart-disable
|
||||||
|
|
||||||
.DEFAULT_GOAL := help
|
.DEFAULT_GOAL := help
|
||||||
|
|
||||||
help: ## Afficher cette aide
|
help: ## 📖 Afficher cette aide
|
||||||
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | \
|
@echo ""
|
||||||
awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-20s\033[0m %s\n", $$1, $$2}'
|
@echo " 🎬 \033[1mLecteur de sessions\033[0m — commandes disponibles (v$(DEB_VERSION))"
|
||||||
|
@echo " 📂 Préfixe d'installation : \033[2m$(PREFIX)\033[0m (make install PREFIX=... pour changer)"
|
||||||
|
@awk 'BEGIN {FS = ":.*?## "} \
|
||||||
|
/^##@/ {printf "\n\033[1m%s\033[0m\n", substr($$0, 5); next} \
|
||||||
|
/^[a-zA-Z_-]+:.*?## / {printf " \033[36m%-22s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)
|
||||||
|
@echo ""
|
||||||
|
|
||||||
check-deps: ## Vérifier que les bibliothèques système requises sont installées
|
##@ 🔧 Installation
|
||||||
|
|
||||||
|
check-deps: ## 🔍 Vérifier que les bibliothèques système requises sont installées
|
||||||
@$(PYTHON) -c "import gi; gi.require_version('Gtk','3.0'); gi.require_version('WebKit2','4.1'); from gi.repository import Gtk, WebKit2" \
|
@$(PYTHON) -c "import gi; gi.require_version('Gtk','3.0'); gi.require_version('WebKit2','4.1'); from gi.repository import Gtk, WebKit2" \
|
||||||
|| { echo "❌ GTK3 / WebKit2GTK (4.1) introuvables. Lancez 'make deps'."; exit 1; }
|
|| { echo "❌ GTK3 / WebKit2GTK (4.1) introuvables. Lancez 'make deps'."; exit 1; }
|
||||||
@echo "✅ Dépendances Python/GTK présentes."
|
@echo "✅ Dépendances Python/GTK présentes."
|
||||||
|
|
||||||
deps: ## Installer les paquets système requis (Debian/Ubuntu, sudo)
|
deps: ## 📥 Installer les paquets système requis (Debian/Ubuntu, sudo)
|
||||||
@command -v apt-get >/dev/null || { echo "❌ apt-get introuvable ; installez manuellement : $(APT_PACKAGES)"; exit 1; }
|
@command -v apt-get >/dev/null || { echo "❌ apt-get introuvable ; installez manuellement : $(APT_PACKAGES)"; exit 1; }
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y $(APT_PACKAGES)
|
sudo apt-get install -y $(APT_PACKAGES)
|
||||||
|
@echo "✅ Dépendances système installées."
|
||||||
|
|
||||||
icons: ## Générer les icônes PNG (hicolor) à partir du SVG source
|
icons: ## 🎨 Générer les icônes PNG (hicolor) à partir du SVG source
|
||||||
@$(PYTHON) -c "import gi; gi.require_version('Rsvg','2.0')" \
|
@$(PYTHON) -c "import gi; gi.require_version('Rsvg','2.0')" \
|
||||||
|| { echo "❌ gir1.2-rsvg-2.0 introuvable. Lancez 'make deps'."; exit 1; }
|
|| { echo "❌ gir1.2-rsvg-2.0 introuvable. Lancez 'make deps'."; exit 1; }
|
||||||
$(PYTHON) tools/gen_icons.py $(BUILDDIR)/icons
|
$(PYTHON) tools/gen_icons.py $(BUILDDIR)/icons
|
||||||
|
@echo "✅ Icônes générées dans $(BUILDDIR)/icons."
|
||||||
|
|
||||||
install: check-deps icons ## Installer l'application pour l'utilisateur courant (PREFIX=$(PREFIX))
|
install: check-deps icons ## 🚀 Installer l'application (voir PREFIX ci-dessus)
|
||||||
install -d $(BINDIR) $(SHAREDIR) $(APPDIR)
|
install -d $(BINDIR) $(SHAREDIR) $(APPDIR)
|
||||||
cp -r assembly_player $(SHAREDIR)/
|
cp -r assembly_player $(SHAREDIR)/
|
||||||
|
find $(SHAREDIR)/assembly_player -name '__pycache__' -type d -exec rm -rf {} +
|
||||||
sed -e 's#__PYTHONPATH__#$(SHAREDIR)#' packaging/assembly-player.in > $(BUILDDIR)/assembly-player
|
sed -e 's#__PYTHONPATH__#$(SHAREDIR)#' packaging/assembly-player.in > $(BUILDDIR)/assembly-player
|
||||||
install -m 755 $(BUILDDIR)/assembly-player $(BINDIR)/assembly-player
|
install -m 755 $(BUILDDIR)/assembly-player $(BINDIR)/assembly-player
|
||||||
install -m 644 packaging/assembly-player.desktop $(APPDIR)/assembly-player.desktop
|
install -m 644 packaging/assembly-player.desktop $(APPDIR)/assembly-player.desktop
|
||||||
@@ -46,9 +65,43 @@ install: check-deps icons ## Installer l'application pour l'utilisateur courant
|
|||||||
install -m 644 $(BUILDDIR)/icons/scalable/apps/assembly-player.svg $(ICONDIR)/scalable/apps/assembly-player.svg
|
install -m 644 $(BUILDDIR)/icons/scalable/apps/assembly-player.svg $(ICONDIR)/scalable/apps/assembly-player.svg
|
||||||
@command -v update-desktop-database >/dev/null && update-desktop-database $(APPDIR) 2>/dev/null || true
|
@command -v update-desktop-database >/dev/null && update-desktop-database $(APPDIR) 2>/dev/null || true
|
||||||
@command -v gtk-update-icon-cache >/dev/null && gtk-update-icon-cache -f -t $(ICONDIR) 2>/dev/null || true
|
@command -v gtk-update-icon-cache >/dev/null && gtk-update-icon-cache -f -t $(ICONDIR) 2>/dev/null || true
|
||||||
@echo "✅ Installé. Lancez 'assembly-player' (vérifiez que $(BINDIR) est dans votre PATH)."
|
@echo "✅ Installé ! Lancez \033[1massembly-player\033[0m (vérifiez que $(BINDIR) est dans votre PATH)."
|
||||||
|
|
||||||
uninstall: ## Désinstaller l'application (PREFIX=$(PREFIX))
|
deb: check-deps icons ## 📦 Générer un paquet .deb dans dist/
|
||||||
|
@command -v dpkg-deb >/dev/null || { echo "❌ dpkg-deb introuvable (paquet dpkg)."; exit 1; }
|
||||||
|
rm -rf $(DEB_STAGE)
|
||||||
|
install -d $(DEB_STAGE)/DEBIAN $(DEB_STAGE)/usr/bin $(DEB_STAGE)/usr/share/assembly-player $(DEB_STAGE)/usr/share/applications
|
||||||
|
cp -r assembly_player $(DEB_STAGE)/usr/share/assembly-player/
|
||||||
|
find $(DEB_STAGE)/usr/share/assembly-player/assembly_player -name '__pycache__' -type d -exec rm -rf {} +
|
||||||
|
sed -e 's#__PYTHONPATH__#/usr/share/assembly-player#' packaging/assembly-player.in > $(DEB_STAGE)/usr/bin/assembly-player
|
||||||
|
chmod 755 $(DEB_STAGE)/usr/bin/assembly-player
|
||||||
|
install -m 644 packaging/assembly-player.desktop $(DEB_STAGE)/usr/share/applications/assembly-player.desktop
|
||||||
|
@for size in 16 22 24 32 48 64 128 256 512; do \
|
||||||
|
install -d $(DEB_STAGE)/usr/share/icons/hicolor/$${size}x$${size}/apps; \
|
||||||
|
install -m 644 $(BUILDDIR)/icons/$${size}x$${size}/apps/assembly-player.png $(DEB_STAGE)/usr/share/icons/hicolor/$${size}x$${size}/apps/assembly-player.png; \
|
||||||
|
done
|
||||||
|
install -d $(DEB_STAGE)/usr/share/icons/hicolor/scalable/apps
|
||||||
|
install -m 644 $(BUILDDIR)/icons/scalable/apps/assembly-player.svg $(DEB_STAGE)/usr/share/icons/hicolor/scalable/apps/assembly-player.svg
|
||||||
|
printf '%s\n' \
|
||||||
|
"Package: assembly-player" \
|
||||||
|
"Version: $(DEB_VERSION)" \
|
||||||
|
"Section: video" \
|
||||||
|
"Priority: optional" \
|
||||||
|
"Architecture: $(DEB_ARCH)" \
|
||||||
|
"Depends: $(DEB_DEPENDS)" \
|
||||||
|
"Maintainer: Johnny <infocpea@gmail.com>" \
|
||||||
|
"Description: Lecteur automatise de sessions d'assemblee (stream.jw.org)" \
|
||||||
|
" Lit automatiquement, dans l'ordre, les sessions video d'une assemblee sur" \
|
||||||
|
" un lien stream.jw.org configurable, avec reprise de lecture, demarrage" \
|
||||||
|
" automatique et icone dans la barre des taches (GNOME/Wayland)." \
|
||||||
|
" Projet non officiel, non affilie a jw.org / stream.jw.org." \
|
||||||
|
> $(DEB_STAGE)/DEBIAN/control
|
||||||
|
install -d $(DISTDIR)
|
||||||
|
dpkg-deb --build --root-owner-group $(DEB_STAGE) $(DEB_PKG)
|
||||||
|
@echo "✅ Paquet généré : \033[1m$(DEB_PKG)\033[0m"
|
||||||
|
@echo " 📀 Installation : sudo apt install ./$(DEB_PKG)"
|
||||||
|
|
||||||
|
uninstall: ## 🗑️ Désinstaller l'application (voir PREFIX ci-dessus)
|
||||||
rm -f $(BINDIR)/assembly-player
|
rm -f $(BINDIR)/assembly-player
|
||||||
rm -rf $(SHAREDIR)
|
rm -rf $(SHAREDIR)
|
||||||
rm -f $(APPDIR)/assembly-player.desktop
|
rm -f $(APPDIR)/assembly-player.desktop
|
||||||
@@ -59,21 +112,26 @@ uninstall: ## Désinstaller l'application (PREFIX=$(PREFIX))
|
|||||||
rm -f $(HOME)/.config/autostart/assembly-player.desktop
|
rm -f $(HOME)/.config/autostart/assembly-player.desktop
|
||||||
@echo "✅ Désinstallé."
|
@echo "✅ Désinstallé."
|
||||||
|
|
||||||
run: check-deps ## Lancer l'application depuis les sources (développement)
|
##@ 💻 Développement
|
||||||
|
|
||||||
|
run: check-deps ## ▶️ Lancer l'application depuis les sources (développement)
|
||||||
$(PYTHON) -m assembly_player
|
$(PYTHON) -m assembly_player
|
||||||
|
|
||||||
test: ## Vérifier que les modules Python compilent
|
test: ## 🧪 Vérifier que les modules Python compilent
|
||||||
$(PYTHON) -m py_compile assembly_player/*.py tools/gen_icons.py
|
$(PYTHON) -m py_compile assembly_player/*.py tools/gen_icons.py
|
||||||
@echo "✅ Compilation OK."
|
@echo "✅ Compilation OK."
|
||||||
|
|
||||||
autostart-enable: ## Activer le lancement automatique au démarrage du PC
|
clean: ## 🧹 Supprimer les fichiers générés
|
||||||
|
rm -rf $(BUILDDIR)
|
||||||
|
find . -name '__pycache__' -type d -exec rm -rf {} +
|
||||||
|
@echo "✅ Nettoyé."
|
||||||
|
|
||||||
|
##@ ⏰ Démarrage automatique
|
||||||
|
|
||||||
|
autostart-enable: ## ✅ Activer le lancement automatique au démarrage du PC
|
||||||
@$(PYTHON) -c "from assembly_player import config; config.set_autostart(True)"
|
@$(PYTHON) -c "from assembly_player import config; config.set_autostart(True)"
|
||||||
@echo "✅ Démarrage automatique activé."
|
@echo "✅ Démarrage automatique activé."
|
||||||
|
|
||||||
autostart-disable: ## Désactiver le lancement automatique au démarrage du PC
|
autostart-disable: ## 🚫 Désactiver le lancement automatique au démarrage du PC
|
||||||
@$(PYTHON) -c "from assembly_player import config; config.set_autostart(False)"
|
@$(PYTHON) -c "from assembly_player import config; config.set_autostart(False)"
|
||||||
@echo "✅ Démarrage automatique désactivé."
|
@echo "✅ Démarrage automatique désactivé."
|
||||||
|
|
||||||
clean: ## Supprimer les fichiers générés
|
|
||||||
rm -rf $(BUILDDIR)
|
|
||||||
find . -name '__pycache__' -type d -exec rm -rf {} +
|
|
||||||
|
|||||||
64
README.md
64
README.md
@@ -1,4 +1,10 @@
|
|||||||
# Lecteur de sessions — Assembly Session Player
|
# 🎬 Lecteur de sessions — Assembly Session Player
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
Application de bureau (GNOME / Wayland) **très simple à utiliser**, qui lit
|
Application de bureau (GNOME / Wayland) **très simple à utiliser**, qui lit
|
||||||
automatiquement, **dans l'ordre**, toutes les sessions vidéo disponibles sur un
|
automatiquement, **dans l'ordre**, toutes les sessions vidéo disponibles sur un
|
||||||
@@ -11,34 +17,35 @@ https://stream.jw.org/9021-8224-3277-8078
|
|||||||
Elle retient où vous en étiez (session + position exacte) pour reprendre la
|
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.
|
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
|
> ⚠️ **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.
|
> 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
|
> 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é,
|
> (WebKitGTK) et de l'automatiser via le DOM — aucun contenu n'est téléchargé,
|
||||||
> copié ou redistribué par l'application.
|
> copié ou redistribué par l'application.
|
||||||
|
|
||||||
## Fonctionnalités
|
## ✨ Fonctionnalités
|
||||||
|
|
||||||
- Lien d'assemblée **configurable** (Paramètres, ou menu de l'icône de la
|
- 🔗 Lien d'assemblée **configurable** (Paramètres, ou menu de l'icône de la
|
||||||
barre des tâches).
|
barre des tâches).
|
||||||
- Détection automatique de la liste des sessions et **lecture dans le bon
|
- 📋 Détection automatique de la liste des sessions et **lecture dans le bon
|
||||||
ordre**, enchaînement automatique d'une session à l'autre.
|
ordre**, enchaînement automatique d'une session à l'autre.
|
||||||
- **Reprise de lecture** exacte (session + position en secondes), même après
|
- ⏯️ **Reprise de lecture** exacte (session + position en secondes), même après
|
||||||
fermeture complète de l'application ou redémarrage du PC.
|
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
|
- ⏰ **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
|
le menu de l'icône), en arrière-plan (fenêtre réduite dans la barre des
|
||||||
tâches), avec reprise automatique.
|
tâches), avec reprise automatique.
|
||||||
- **Mode plein écran** (bouton dédié, touche `F11`, ou menu de l'icône) ; `F10`
|
- 🖥️ **Mode plein écran** (bouton dédié, touche `F11`, ou menu de l'icône) ;
|
||||||
ouvre les Paramètres même en plein écran.
|
`F10` ouvre les Paramètres même en plein écran.
|
||||||
- **Icône dans la barre des tâches** (system tray / AppIndicator, compatible
|
- 🔔 **Icône dans la barre des tâches** (system tray / AppIndicator, compatible
|
||||||
GNOME sur Wayland) avec Lecture/Pause, session précédente/suivante, plein
|
GNOME sur Wayland) avec Lecture/Pause, session précédente/suivante, plein
|
||||||
écran, démarrage automatique et changement de lien.
|
é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
|
- 🎨 Icône d'application dédiée, utilisée dans la fenêtre, le lanceur et la
|
||||||
barre des tâches.
|
barre des tâches.
|
||||||
- Bouton discret « À propos » (barre du haut ou menu de l'icône) : nom,
|
- ℹ️ Bouton discret « À propos » (barre du haut ou menu de l'icône) : nom,
|
||||||
version et rappel du caractère non officiel de l'application.
|
version et rappel du caractère non officiel de l'application.
|
||||||
|
- 📦 Paquet `.deb` prêt à l'emploi (`make deb`).
|
||||||
|
|
||||||
## Limitation connue (sécurité navigateur, pas un bug)
|
## ⚠️ Limitation connue (sécurité navigateur, pas un bug)
|
||||||
|
|
||||||
Les navigateurs (et WebKitGTK) bloquent le démarrage automatique du son/vidéo
|
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
|
tant qu'aucun **clic réel** n'a eu lieu dans la page. Concrètement : **au
|
||||||
@@ -49,7 +56,7 @@ suivante) sans autre action, tant que la fenêtre reste ouverte. C'est une
|
|||||||
protection standard des navigateurs contre la lecture automatique intempestive
|
protection standard des navigateurs contre la lecture automatique intempestive
|
||||||
— l'application ne peut pas (et ne doit pas) la contourner.
|
— l'application ne peut pas (et ne doit pas) la contourner.
|
||||||
|
|
||||||
## Prérequis
|
## 📋 Prérequis
|
||||||
|
|
||||||
Testé sur Ubuntu/GNOME (Wayland). Paquets système nécessaires :
|
Testé sur Ubuntu/GNOME (Wayland). Paquets système nécessaires :
|
||||||
|
|
||||||
@@ -66,7 +73,7 @@ Installation en une commande :
|
|||||||
make deps
|
make deps
|
||||||
```
|
```
|
||||||
|
|
||||||
## Installation
|
## 📥 Installation
|
||||||
|
|
||||||
```
|
```
|
||||||
make install
|
make install
|
||||||
@@ -82,7 +89,17 @@ Pour une installation système (tous les utilisateurs) :
|
|||||||
sudo make install PREFIX=/usr/local
|
sudo make install PREFIX=/usr/local
|
||||||
```
|
```
|
||||||
|
|
||||||
## Utilisation
|
### 📦 Paquet .deb
|
||||||
|
|
||||||
|
```
|
||||||
|
make deb
|
||||||
|
sudo apt install ./dist/assembly-player_*.deb
|
||||||
|
```
|
||||||
|
|
||||||
|
Génère un paquet Debian autonome (`dist/assembly-player_<version>_all.deb`)
|
||||||
|
avec toutes les dépendances déclarées, prêt à installer ou à partager.
|
||||||
|
|
||||||
|
## ▶️ Utilisation
|
||||||
|
|
||||||
Lancez `assembly-player` depuis le terminal, le menu d'applications, ou
|
Lancez `assembly-player` depuis le terminal, le menu d'applications, ou
|
||||||
cliquez sur l'icône **Lecteur de sessions**.
|
cliquez sur l'icône **Lecteur de sessions**.
|
||||||
@@ -99,12 +116,12 @@ cliquez sur l'icône **Lecteur de sessions**.
|
|||||||
utilisez « Masquer la fenêtre » dans le menu de l'icône (au lieu de la
|
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.
|
croix) ; « Afficher la fenêtre » la fait réapparaître.
|
||||||
|
|
||||||
### Changer le lien de l'assemblée
|
### 🔗 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 →
|
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… ».
|
« Changer le lien de l'assemblée… ».
|
||||||
|
|
||||||
### Démarrage automatique au démarrage du PC
|
### ⏰ Démarrage automatique au démarrage du PC
|
||||||
|
|
||||||
Cochez « Lancer automatiquement au démarrage du PC » dans les Paramètres (ou
|
Cochez « Lancer automatiquement au démarrage du PC » dans les Paramètres (ou
|
||||||
le menu de l'icône), ou en ligne de commande :
|
le menu de l'icône), ou en ligne de commande :
|
||||||
@@ -118,7 +135,7 @@ Au démarrage du PC, l'application se lance réduite dans la barre des tâches e
|
|||||||
reprend automatiquement à l'endroit où vous vous étiez arrêté (un clic sur ▶
|
reprend automatiquement à l'endroit où vous vous étiez arrêté (un clic sur ▶
|
||||||
reste nécessaire, voir plus haut).
|
reste nécessaire, voir plus haut).
|
||||||
|
|
||||||
### Plein écran
|
### 🖥️ Plein écran
|
||||||
|
|
||||||
Bouton dédié dans la fenêtre, touche `F11`, ou menu de l'icône.
|
Bouton dédié dans la fenêtre, touche `F11`, ou menu de l'icône.
|
||||||
|
|
||||||
@@ -132,29 +149,30 @@ revenir en fenêtré ou ouvrir les Paramètres sans repasser par la souris :
|
|||||||
|
|
||||||
Une notification rappelle ces deux raccourcis à chaque entrée en plein écran.
|
Une notification rappelle ces deux raccourcis à chaque entrée en plein écran.
|
||||||
|
|
||||||
## Emplacement des données
|
## 🗂️ Emplacement des données
|
||||||
|
|
||||||
- Configuration (lien, options) : `~/.config/assembly-player/config.json`
|
- Configuration (lien, options) : `~/.config/assembly-player/config.json`
|
||||||
- Progression de lecture (par assemblée) : `~/.local/state/assembly-player/state.json`
|
- Progression de lecture (par assemblée) : `~/.local/state/assembly-player/state.json`
|
||||||
- Démarrage automatique : `~/.config/autostart/assembly-player.desktop`
|
- Démarrage automatique : `~/.config/autostart/assembly-player.desktop`
|
||||||
|
|
||||||
## Désinstallation
|
## 🗑️ Désinstallation
|
||||||
|
|
||||||
```
|
```
|
||||||
make uninstall
|
make uninstall
|
||||||
```
|
```
|
||||||
|
|
||||||
## Développement
|
## 💻 Développement
|
||||||
|
|
||||||
```
|
```
|
||||||
make test # vérifie que le code Python compile
|
make test # vérifie que le code Python compile
|
||||||
make run # lance l'application depuis les sources
|
make run # lance l'application depuis les sources
|
||||||
make icons # régénère les icônes PNG depuis le SVG source
|
make icons # régénère les icônes PNG depuis le SVG source
|
||||||
|
make deb # génère un paquet .deb dans dist/
|
||||||
```
|
```
|
||||||
|
|
||||||
Icône source (vecteur) : `assembly_player/icons/assembly-player.svg`.
|
Icône source (vecteur) : `assembly_player/icons/assembly-player.svg`.
|
||||||
|
|
||||||
## Dépannage
|
## 🛠️ Dépannage
|
||||||
|
|
||||||
- **L'icône n'apparaît pas dans la barre des tâches** : sur GNOME/Wayland,
|
- **L'icône n'apparaît pas dans la barre des tâches** : sur GNOME/Wayland,
|
||||||
l'extension GNOME Shell « AppIndicator and KStatusNotifierItem Support »
|
l'extension GNOME Shell « AppIndicator and KStatusNotifierItem Support »
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
__version__ = "1.1.1"
|
__version__ = "1.2.0"
|
||||||
|
|||||||
Reference in New Issue
Block a user