# Partite Alert Web — aggiornamento Cloudflare

La nuova versione web è pronta da pubblicare, **non è già online**. Il pacchetto aggiorna l’interfaccia dell’app precedente; filtri, adattatore dati, privacy e budget restano gli stessi. Non interviene su Ricardo.

## Cosa cambia

- Dashboard scura per telefono e computer, con verde/ciano e avvisi ambra.
- Bandiere degli 11 paesi nelle 22 categorie, selezione rapida e schede partita quando il paese è verificato.
- Identità visive locali dei 10 operatori: icone dei siti e marchio testuale SNAI; non sono tutte loghi completi e non dimostrano copertura API.
- Catalogo iniziale di **9 stemmi reali**: Juventus, AC Milan, Real Madrid, Barcelona, Bayern Munich, Arsenal, Ajax, FC Copenhagen e Celtic. Corrispondenza solo per nome/alias esatto e paese verificato. Gli altri club hanno uno scudo di iniziali etichettato «Simbolo generico».
- Demo volontaria con tre partite inventate, stemmi dimostrativi, dati recenti e dati vecchi. Non richiede chiavi e rispetta le selezioni e le soglie correnti.
- Pagina «Fonti di icone e stemmi» con provenienza delle immagini. Tutte le immagini sono locali: nessuna chiamata a database di loghi o siti degli operatori mentre usi l’app.

Non sono stati aggiunti fornitori a pagamento, copertura live garantita, scheduler o notifiche a pagina chiusa. Le quote restano «prima osservata», non vere quote di apertura.

## Se hai già installato Partite Alert

1. Apri il progetto **Partite Alert** nel tuo account Cloudflare Pages, separato da Ricardo.
2. Crea una nuova distribuzione tramite caricamento diretto e carica **Partite_Alert_Web_Cloudflare.zip**. Nella radice dell’archivio ci sono index.html e _worker.js, non una cartella contenitore.
3. Mantieni il database D1 associato a **DB** e i segreti **ODSS_API_KEY** e **APP_TOKEN** già impostati. Non ricreare né azzerare il database: osservazioni, associazioni e budget vengono mantenuti.
4. Apri l’indirizzo Pages, aggiorna la pagina e, se vedi ancora la grafica precedente, chiudi tutte le schede dell’app e riaprila per attivare il nuovo service worker. Svuotare i dati del sito può eliminare le preferenze locali; non è normalmente necessario.
5. Premi **Esplora la dimostrazione** per verificare la grafica. Per i dati reali esci dalla demo e reinserisci il codice privato dell’app, che non viene salvato tra le sessioni.

## Se parti da zero

1. Verifica il piano gratuito corrente su https://odss-api.com e crea una chiave che consenta prepartita e live (all). Non attivare acquisti o prove a pagamento.
2. Crea un progetto Cloudflare Pages nuovo e carica lo ZIP web. Crea un database D1 nuovo e distinto dalle altre app, collegato con binding **DB**.
3. Aggiungi nei segreti di produzione **ODSS_API_KEY** (chiave del fornitore) e **APP_TOKEN** (codice lungo e casuale scelto da te, almeno 20 caratteri). Ripubblica lo ZIP dopo la configurazione. Non mettere la chiave API nei file.
4. Nell’app → Fonte e operatori → Collega e configura, inserisci solo APP_TOKEN, inizializza il database e verifica il catalogo.
5. Associa i nomi dei campionati soltanto se paese e divisione sono verificabili. I nomi ambigui restano esclusi. Seleziona le categorie e osserva le quote **prima del calcio d’inizio**: nessuna qualificazione retroattiva.
6. Aggiungi l’app alla Home tramite il menu del browser. Le notifiche richiedono permesso e browser compatibile; funzionano durante una sessione attiva. Il telefono può sospendere la pagina.

Se il caricamento Pages da telefono non gestisce il Worker, usa il caricamento della cartella estratta da computer o Wrangler. Non serve comprare un dominio.

## Limiti che restano

Stop locale a 450 richieste per finestra di 30 giorni, con controllo del residuo noto del fornitore. Un aggiornamento ogni 2 minuti significa circa **15 ore totali**, non un mese continuo. La presenza di bandiere o loghi non conferma nessuna delle 22 categorie o dei 10 operatori.

Il timestamp originale del punteggio non è disponibile. Gli avvisi richiedono uno snapshot sufficientemente recente e coerente; dati vecchi, parziali o interrotti sospendono gli avvisi. Il primo punteggio già in svantaggio non viene segnalato come nuovo evento. Restano da provare copertura e dati reali con la tua chiave gratuita. Nessun consiglio di puntata o promessa di guadagno.

Il nuovo catalogo grafico copre nove squadre, non tutti i club dei campionati. Fonti TheSportsDB per gli stemmi, FlagCDN per le bandiere e pagine/siti degli operatori per le loro identità. Nomi e paese delle squadre sono stati controllati; l’app non certifica attualità grafica o diritti dei marchi. Nessuna affiliazione o approvazione viene dichiarata.

## File e verifiche

- **Partite_Alert_Web_Cloudflare.zip**: versione da pubblicare.
- **Partite_Alert_Web_Cloudflare_Sorgenti.zip**: sorgenti e test, da non caricare come sito.
- Cartella sorgente: partite-alert.
- Guida completa nell’app: Installazione e limiti; provenienza dei file: Fonti di icone e stemmi.

Verificati test automatici di regressione, autenticazione, budget, deduplicazione, matching degli stemmi, integrità dei riferimenti locali e cache offline. Contrasto dei principali testi e stati controllato numericamente. Non è stato eseguito collaudo visuale nel browser o su telefono, né deploy o chiamate al feed con chiavi personali.

Per modificare il catalogo, aggiungere un’immagine locale e una voce con paese e alias espliciti in public/assets/teams/catalog.json dopo averne verificato l’identità e le condizioni d’uso. Nessun matching parziale. Eseguire `node build.mjs` e `npm test`, quindi ricreare lo ZIP con il contenuto di public nella radice.
