Coding: FileVox - Sito Podcast Veloce e Moderno con un Singolo File PHP, Senza DB
Da sempre volevo un modo semplice per pubblicare episodi audio e video, sia per il mio progetto #mamechannel sia per altri esperimenti. Le soluzioni esistenti, come WordPress, mi sono sempre sembrate troppo pesanti e complesse per un'esigenza così semplice: mettere un file in una cartella e renderlo disponibile online.
Volevo qualcosa di leggero, veloce, portabile, senza database da configurare e senza la necessità di un pannello di amministrazione. Volevo gestire il mio podcast semplicemente tramite FTP.
Così è nato FileVox, il mio script PHP "tutto-in-uno" per il podcasting.
La Filosofia: Semplicità e Controllo
Il principio dietro FileVox è semplice: il file system è il tuo CMS.
Nessun Database: Tutto è basato sulla struttura delle cartelle e dei file.
Zero Dipendenze Esterne (quasi): Lo script richiede solo un server PHP standard e la fantastica libreria getID3() per leggere i metadati dei file multimediali.
Automatico: Aggiungi un file MP3 o MP4 in una cartella, ricarica la pagina, e il nuovo episodio appare magicamente, sia sul sito che nel feed RSS.
Come Funziona
Il meccanismo è incredibilmente diretto:
Lo script scansiona la cartella principale podcasts/.
Ogni sottocartella al suo interno viene trattata come una categoria del podcast.
Analizza ogni file multimediale (.mp3, .mp4, .m4v, ecc.) con getID3() per estrarre i metadati come titolo, artista, album, genere, e anche la copertina incorporata.
Per garantire prestazioni eccellenti, utilizza un sistema di caching a due livelli in una cartella temp/. La prima volta analizza i file, ma le visite successive leggono i dati da semplici file di cache .json, rendendo il caricamento quasi istantaneo. La cache si aggiorna automaticamente se un file viene modificato.
Genera dinamicamente una pagina HTML5 con un design moderno in stile "dark mode" e un feed RSS 2.0 valido e compatibile con iTunes, Spotify e altri aggregatori.
Caratteristiche Principali
- Sito web e Feed RSS generati automaticamente.
- Supporto nativo per episodi Audio e Video.
- Sistema di Caching a due livelli per prestazioni elevate, con invalidazione basata sulla data di modifica dei file e sulla durata.
- Estrazione automatica dei metadati ID3 (titolo, artista, album, genere, copertina incorporata).
- Layout moderno in "Dark Mode" con font personalizzato, completamente definito nel blocco <style> e facile da modificare.
- Gerarchia dei contenuti basata su categorie = cartelle.
- Supporto per categorie nascoste (rinominando la cartella con un _ all'inizio).
- URL "puliti" con codifica corretta per compatibilità massima.
- Player HTML5 responsivo.
- Pulsanti "Scarica" e "Copia Link" per ogni episodio.
Installazione Rapida
Mettere online il proprio podcast con FileVox richiede 5 minuti:
- Caricare il file index.php sul proprio server.
- Caricare la cartella getid3/ nella stessa directory (download).
- Creare una cartella podcasts/.
- Creare una cartella temp/ e assegnarle i permessi di scrittura (es. chmod 755).
- Iniziare a creare le proprie cartelle-categoria dentro podcasts/ e a caricare i file multimediali!
Il Codice
Questo progetto è il risultato di un lungo processo di sviluppo e debug. Ecco il codice completo e funzionante per chiunque voglia usarlo o migliorarlo.
Spero che questo script possa essere utile anche a qualcun altro che, come me, cerca una soluzione semplice e potente per condividere le proprie passioni. Fatemi sapere cosa ne pensate nei commenti!

Commenti
Posta un commento