Files

85 lines
4.2 KiB
Markdown

# Il Post Podcasts — plasmoide KDE Plasma 6
![Avatar del progetto](assets/repository-avatar.png)
Plasmoide standalone per KDE Plasma 6 che visualizza gli episodi più recenti dei podcast de Il Post, mette i programmi preferiti in cima e permette di riprodurre gli episodi con un player KDE compatibile con MPRIS.
> **Progetto derivato, non libreria upstream.** Questo repository **non è** il repository upstream originale clonato e non pretende di essere una nuova versione della libreria `thekoma/ilpostapi`. È un progetto separato, con scopo, struttura, UI e ciclo di rilascio propri, che integra e utilizza gli endpoint/API individuati nel progetto upstream.
## Relazione con upstream
- **Upstream di riferimento:** [`thekoma/ilpostapi`](https://github.com/thekoma/ilpostapi)
- **Questo progetto:** [`enne2/ilpost-podcasts-plasmoid`](https://git.enne2.net/enne2/ilpost-podcasts-plasmoid)
- Il repository upstream resta la sorgente di riferimento per gli endpoint non ufficiali de Il Post; questo plasmoide ne riusa il modello API senza incorporare il backend web upstream.
- Gli aggiornamenti upstream non vengono importati automaticamente: vanno valutati e integrati manualmente quando cambiano endpoint o formato delle risposte.
- Il client usa gli endpoint non ufficiali autenticati de Il Post (`/user/v1/auth/login` e `/podcast/v1/podcast`). Usarlo solo con un account autorizzato e nel rispetto dei Termini di servizio.
## Funzionalità
- Elenco degli episodi più recenti dei programmi disponibili.
- Programmi preferiti selezionabili dalle impostazioni Plasma e mostrati con priorità.
- Copertine asincrone con cache e icona di fallback se l'artwork non è disponibile.
- Login dal widget; username, password e token vengono conservati in KWallet tramite `kwallet-query`, non in KConfig o nei file del progetto.
- Riproduzione con Dragon Player, player KDE che espone MPRIS (`org.mpris.MediaPlayer2.dragonplayer`), con fallback al player predefinito tramite `xdg-open`.
- Aggiornamento periodico configurabile e filtro “solo preferiti”.
## Struttura
```text
package/
metadata.json
contents/config/ # impostazioni Plasma 6
contents/ui/ # interfaccia QML e catalogo programmi
contents/lib/ # plugin QML compilato durante la build
src/ # client API/KWallet e plugin QML C++
CMakeLists.txt
```
Il codice è volutamente standalone: `package/` è il pacchetto Plasma, mentre `src/` contiene il bridge C++ per rete, autenticazione, KWallet e avvio del player.
## Compilazione e installazione locale
Dipendenze: Qt 6 Core/Network/Qml, `kwallet-query`, `kpackagetool6` e Dragon Player (oppure un handler audio compatibile).
```bash
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
cmake --build build --target install-plasmoid
```
Per una prima installazione:
```bash
kpackagetool6 -t Plasma/Applet -i package
```
Test rapido:
```bash
plasmawindowed org.enne2.ilpost.podcasts
```
Dopo l'installazione, aggiungere **Podcast de Il Post** al desktop e aprire **Configura** per scegliere preferiti, quantità e intervallo di aggiornamento. Le credenziali vanno inserite nei campi del widget, non nella shell o nei file Git.
## Sviluppo upstream
Il repository upstream può essere registrato come remoto di sola lettura:
```bash
git remote add upstream https://github.com/thekoma/ilpostapi.git
git fetch upstream --prune
```
`origin` deve rimanere il repository Gitea del plasmoide. Prima di integrare modifiche upstream, verificare manualmente endpoint, autenticazione, campi JSON e Termini di servizio.
## Sicurezza e limiti
- Non committare credenziali, token, file `.env` o dump delle risposte API.
- KWallet deve essere disponibile nella sessione KDE; se non lo è, il login non può salvare i segreti.
- Le API usate non sono un contratto pubblico stabile e possono cambiare senza preavviso.
- L'audio e le copertine possono mancare per alcuni episodi o dipendere dai permessi dell'account.
## Licenza
Il codice del plasmoide è distribuito con licenza GPL-3.0-or-later, come indicato nei metadati del pacchetto. L'attribuzione all'upstream resta esplicita sopra; verificare sempre gli obblighi applicabili prima di redistribuire o modificare il progetto.