Commit 2919b1a4 authored by Kourser's avatar Kourser
Browse files

docs: changelog, README and roadmap for the new features



Co-Authored-By: default avatarClaude <claude@anthropic.com>
parent d7317b01
Loading
Loading
Loading
Loading
+43 −0
Original line number Diff line number Diff line
@@ -7,9 +7,52 @@ adopte le [versionnage sémantique](https://semver.org/lang/fr/).

## [Non publié]

### Ajouté
- Réglages par podcast : vitesse de lecture dédiée et sauts automatiques de
  l'intro / du générique de fin (par abonnement).
- Intervalles d'avance et de retour rapides configurables (10/15/30/45/60 s),
  appliqués au lecteur, au mini-lecteur et aux commandes de l'écran verrouillé.
- Téléchargement automatique des nouveaux épisodes (activable par podcast, au
  rafraîchissement du flux), avec conditions globales **WiFi uniquement** et
  **seulement en charge**.
- Nettoyage du cache : limite d'épisodes téléchargés conservés par podcast et
  option **supprimer après lecture**.
- Rafraîchissement des flux **en arrière-plan** (iOS/iPadOS, `BGTaskScheduler`),
  qui déclenche le téléchargement automatique.
- **Notifications** locales (opt-in) quand de nouveaux épisodes sont trouvés.
- **Transcriptions** (Podcasting 2.0 : SRT, WebVTT, JSON) avec suivi du segment
  courant et tap pour se positionner.
- **Chapitres embarqués** (ID3/MP4) en complément des chapitres JSON.
- **Historique de lecture** et écran de **statistiques d'écoute**.
- Plage de **vitesse élargie** (0,8×–3×) avec réglage fin par pas de 0,1.
- **Découverte fyyd** (sans clé) en plus d'Apple Podcasts ; **recherche dans les
  épisodes** d'un abonnement.
- Suggestions de **podcasts populaires** à l'ouverture de la recherche (avant
  toute saisie), par source.
- **Recommandations** « pour vous » basées sur les catégories de vos abonnements
  (content-based), excluant les podcasts déjà ajoutés.
- **Localisation** (String Catalog, français comme langue source) en **18 langues** :
  anglais, espagnol, italien, allemand, portugais, polonais, néerlandais, tchèque,
  suédois, danois, finnois, grec, hongrois, roumain, slovaque, slovène, croate,
  bulgare ; l'interface suit la langue du système. Messages d'état et d'erreur
  (sync, import, restauration) également localisés.
- Suggestions et recommandations **filtrées selon la langue de l'interface**
  (fyyd `language`, storefront Apple).
- Réglage **Langue** (Système + 18 langues) pour surcharger la langue de
  l'interface (appliquée au redémarrage ; les suggestions s'adaptent aussitôt).
- **Sauvegarde / restauration** complète de la base (fichier SQLite).
- Réglage **Stockage** : taille du cache et bouton pour **vider** les
  téléchargements (abonnements et progression conservés).
- Historique et statistiques regroupés dans les **Réglages** (section Bibliothèque).
- **Suppression des silences** (activable par podcast) : nouveau moteur
  `AVAudioEngine` qui saute les passages silencieux au niveau buffer. Fonctionne
  sur les épisodes téléchargés ; le streaming reste en lecture normale.

### À venir
- Validation sur appareil réel et contre un vrai serveur de synchronisation.
- Sauvegarde de la position à la mise en arrière-plan ; finitions UI ; icône définitive.
- « Skip silence » (saut des silences) : nécessite un changement de moteur audio
  (AVPlayer → AVAudioEngine + analyse des échantillons) ; traité comme un jalon dédié.

## [0.1.0] - 2026-06-19

+9 −2
Original line number Diff line number Diff line
@@ -35,13 +35,20 @@ qui n'existe pas sur iOS.
- 🔍 **Recherche** dans la bibliothèque et les épisodes
- 🗂️ **Tri/filtre & tags** des abonnements ; **favoris**, filtres et tri des épisodes
- ▶️ **Lecture en arrière-plan** + contrôles écran verrouillé (Now Playing, AirPods…)
-**Vitesse** réglable (0,8× à 2×), **minuteur de sommeil**, **chapitres** (navigation)
-**Vitesse** réglable (0,8× à 3×, pas de 0,1), **minuteur de sommeil**, **chapitres** (navigation)
- ⚙️ **Réglages par podcast** (vitesse dédiée, saut intro/fin, **suppression des silences**) + **intervalles de saut** configurables
- 📝 **Notes d'épisode** avec liens cliquables, **partage** d'un épisode
- 🗒️ **Transcriptions** (SRT/VTT/JSON, suivi synchronisé) ; **chapitres embarqués** (ID3/MP4)
- 🕘 **Historique** de lecture & **statistiques** d'écoute
- 🔭 **Découverte** Apple Podcasts **+ fyyd** ; recherche dans les épisodes d'un flux
- 💾 **Sauvegarde / restauration** complète de la base
- 📃 **File d'attente** réordonnable avec enchaînement automatique
- ⬇️ **Téléchargement hors-ligne** des épisodes
- ⬇️ **Téléchargement hors-ligne** des épisodes, **automatique** (par podcast, conditions WiFi/charge) avec nettoyage du cache
- 🔄 **Rafraîchissement en arrière-plan** (iOS/iPadOS) + **notifications** de nouveaux épisodes
- ⏱️ **Reprise de lecture** (position mémorisée) + suivi lu / non lu
- 🔄 **Synchronisation** des abonnements et de la progression avec **Nextcloud**
  (app *GPodder Sync*) et **gpodder.net** — identifiants stockés dans le **Trousseau**
- 🌐 **Interface français / anglais** (suit la langue du système) ; suggestions filtrées par langue
- 🧹 **Réinitialisation** de l'app ; version & commit dans les réglages

## Plateformes & prérequis
+19 −3
Original line number Diff line number Diff line
@@ -22,13 +22,29 @@ persistance GRDB/SQLite · iOS 18+.
- Tri/filtre & **tags** des abonnements ; **export OPML**.
- Notes d'épisode (liens cliquables) ; **partage** d'un épisode.
- Réglages : réinitialisation de l'app ; **version & commit**.
- **Réglages par podcast** : vitesse dédiée, saut intro / fin automatique.
- **Intervalles de saut** (avance/retour) configurables.
- **Téléchargement automatique** (par podcast, conditions wifi/charge) +
  nettoyage du cache (limite par podcast, suppression après lecture).
- **Rafraîchissement en arrière-plan** (iOS/iPadOS) + **notifications** de
  nouveaux épisodes (opt-in).
- **Transcriptions** (SRT/VTT/JSON, suivi du segment) ; **chapitres embarqués** (ID3/MP4).
- **Historique** de lecture ; **statistiques d'écoute**.
- **Vitesse élargie** (0,8×–3×, pas de 0,1).
- **Découverte fyyd** + **recherche dans les épisodes** d'un flux.
- **Sauvegarde / restauration** de la base (SQLite).
- **Suppression des silences** (par podcast) : moteur `AVAudioEngine` dédié qui
  saute les silences au niveau buffer, pour les épisodes téléchargés.
- **Localisation** en 19 langues (français source + 18 traductions, String
  Catalog) + sélecteur de langue ; suggestions filtrées selon la langue.
- Multiplateforme natif iOS/iPadOS/macOS ; iconset complet.

## Suite envisagée

- **Téléchargement automatique** (règles wifi/charge, par podcast) + nettoyage du cache.
- **Transcriptions** (affichage / suivi) ; chapitres **embarqués** (ID3/MP4).
- **Widget**, **CarPlay**, statistiques d'écoute.
- **Widget**, **CarPlay**, **Apple Watch**, **Siri/Raccourcis**.
- Traduction des messages dynamiques restants.
- Langues UE manquantes (maltais, irlandais, letton, lituanien, estonien) :
  à faire via relecture native / flux de traduction communautaire.
- Validation sur **appareil réel** ; sync contre un vrai serveur ; localisation multi-langue.
- Signature / compte développeur pour distribution App Store.