Flat file CMS: gerarchie piatte per un accesso più rapido

Una variante relativamente nuova dei sistemi di gestione dei contenuti fa concorrenza ai CMS tradizionali quali WordPress, Typo3 e Drupal e si basa sul concetto dei cosiddetti flat file (in italiano: “file piatto”), ovvero un formato di file con una struttura molto semplice. Questi sistemi di flat file presentano vantaggi e svantaggi rispetto ai loro principali concorrenti. Di seguito vi spieghiamo come funziona un flat file CMS e forniamo una breve panoramica dei diversi sistemi già disponibili.

Cosa sono i flat file?

Il flat file più semplice che si possa immaginare è un file di testo in formato TXT, il quale contiene solo contenuti scritti senza link, indici o formattazioni. Lo stesso vale anche per i file binari: anche qui il codice viene semplicemente scritto. Questo formato di file rappresenta inoltre la base per i database più semplici. I database dei flat file possono essere inseriti all’interno di un singolo file e sono in contrasto con complessi database relazionali in cui i record di dati hanno collegamenti, indici, gerarchie e formati predefiniti. Un database di flat file non ha tutto questo: si tratta piuttosto dell'equivalente digitale di una lista della spesa o di una scheda perforata.

Per un simile database è possibile utilizzare un'ampia varietà di formati di testo semplici e binari. Un esempio noto sono i file CSV (comma-separated values): le informazioni all'interno di un set di dati sono separate da virgole, il set di dati stesso termina con un'interruzione di riga per cui non vi è alcuna gerarchia, bensì solo un semplice elenco.

Il vantaggio dei flat file è la loro struttura semplice: poiché i dati non sono collegati tra loro, possono essere creati molto rapidamente e sussistono meno fonti di errore per via della loro bassa complessità. Anche il flat file CMS si avvale di questo principio e offre quindi un'interessante controparte ai sistemi di gestione dei contenuti classici dalle dimensioni elevate.

Come funzionano i flat file CMS?

Tutti i grandi e noti sistemi di gestione dei contenuti si servono di MySQL o simili sistemi di gestione dei database in background. I sistemi di gestione dei database (in breve DBMS) operano in modo relazionale: vale a dire che lavorano con diverse tabelle perciò organizzano le query. Proprio per questo, tuttavia, necessitano di un server appositamente impostato. Un flat file CMS elimina completamente la gestione di database, motivo per cui spesso si parla di CMS senza database. Il DBMS non è più necessario e con esso nemmeno il server impostato a tal fine.

Il CMS si basa invece su una struttura di cartelle molto comune: i webmaster caricano i file (HTML/PHP, multimediali e di testo) solo sul server. Il sito web è quindi praticamente pronto per l'uso. Le richieste vanno direttamente ai file e non vengono distribuite via MySQL.

Ad esempio gli sviluppatori memorizzano i dati di accesso per ogni utente in un file YAML separato. Il nome del file consente al CMS di trovare i dati corrispondenti. Il contenuto può anche essere creato esattamente nello stesso modo: In linea di principio l'idea è che gli utenti di un flat file CMS possano semplicemente creare un testo o un file di Markdown per ogni post del blog e memorizzarlo nella cartella corretta. Questo può essere fatto anche senza un'interfaccia di amministrazione: basterà infatti un semplice editor di testo per creare un post.

Consiglio

Un editor di testo come Sublime Text non va confuso con un sistema di elaborazione di testi come Word. Tendenzialmente l’editor di testo salva il testo immesso in un formato di testo normale e viene soprattutto utilizzato per la creazione e la modifica del codice sorgente.

Quali sono i vantaggi e gli svantaggi?

A seconda di come i webmaster vogliono utilizzare il proprio flat file CMS, questi sistemi possono essere la soluzione perfetta o al contrario semplicificare dove invece è richiesta la complessità. I vantaggi del sistema di gestione dei contenuti basato su file sono in gran parte dovuti alla sua struttura semplice:

  • Velocità: Per i progetti di siti web più piccoli, un DBMS relazionale va ben oltre le reali esigenze e non è veramente necessario. È possibile ottenere velocità più elevate semplificando la struttura in un flat file system.
  • Semplicità: Generalmente i grandi database hanno una struttura molto complessa. Le catene di riferimenti tengono insieme il costrutto. Per i principianti è facile commettere un errore e fare crollare il database come un castello di carte. Dal momento, però, che il flat file CMS si basa solo su una semplice struttura di cartelle, il danno è limitato. Pertanto simili sistemi sono molto adatti per chi ha poca conoscenza dei database e non ha necessariamente bisogno di un database completo per il proprio progetto web.
  • Sicurezza: Più semplice è un sistema, più facile è evitare errori. La maggior parte delle disavventure si verifica quando si perde la traccia della struttura. A quel punto l’errore si insinua fino nelle profondità dell'architettura e potrà essere individuato e rimosso solo con grande difficoltà. Curare una struttura di cartelle semplice e con poche dipendenze risulta invece molto più facile. Vale lo stesso anche per la sicurezza esterna: SQL è un bersaglio popolare per i cyber attacchi. Utilizzando le SQL injections (in italiano “iniezioni”), infatti, gli aggressori cercano di infiltrare i propri comandi nel database e quindi di spiare e manipolare i dati. Una simile lacuna di sicurezza non esiste invece nel flat file CMS.
  • Back-up: Eseguire il backup di un flat file CMS non potrebbe essere più facile: basta copiare e incollare. I sistemi più complessi richiedono routine di backup che memorizzano i dati di sistema, il database e tutti i file inclusi. Con una soluzione flat file, invece, è sufficiente copiare e incollare tutto altrove. Spesso è sufficiente una chiavetta USB per la memorizzazione.
  • Trasferimento: Spostarsi con WordPress, Typo3 o Drupal da un server all'altro è un compito che richiede molto lavoro. Ciò che vale per il backup di un flat file CMS è valido anche quando il sito web viene spostato. Basta copiare e incollare e il sito funziona su un altro server.
  • Processi di lavoro: Se utilizzate un CMS classico siete vincolati al relativo back end per modificare il contenuto. Tuttavia, se desiderate apportare modifiche o aggiungere nuovo contenuto all’interno di un flat file CMS, potete ricorrere al vostro editor preferito.

Naturalmente i flat file CMS non costituiscono la soluzione universale. Pertanto ciò che può ancora essere considerato un vantaggio per un progetto può invece avere l'effetto opposto e diventare uno svantaggio per un altro:

  • Velocità: Non appena i volumi di dati escono dalla struttura gestibile, è possibile che le query di ricerca più complesse richiedano più tempo. In questi casi la scelta giusta ricade sul DBMS: qui gli accessi sono guidati alla destinazione corretta attraverso i collegamenti. Con un flat file CMS, invece, tutti i record di dati devono essere scansionati uno dopo l'altro.
  • Estensione del server: Per via della struttura delle cartelle è assolutamente necessario che tutti i file vengano eseguiti su un server web. La distribuzione su più server con grandi quantità di dati o a causa di ridondanze deliberate non è possibile.
  • User-friendly: La popolarità di WordPress è essenzialmente dovuta, tra le altre cose, al fatto che non è necessario scrivere nemmeno una singola riga di codice per mettere online un sito web progettato correttamente. I flat file CMS sono ancora all'inizio del loro sviluppo e non è ancora stato investito abbastanza nella facilità d'uso. Piuttosto l'obiettivo attuale è quello di migliorare la stabilità, le prestazioni e la funzionalità. Per questo motivo solitamente quando si utilizza un flat file CMS è ancora necessario un lavoro perlopiù manuale. Chi ha conoscenze di HTML, PHP, CSS e Markdown non avrà problemi con un flat file system. Al contrario l'utente inesperto di WordPress necessiterà di un aiuto.
  • Assistenza: Le community attorno ai singoli flat system non sono ancora così grandi come quelle dei CMS tradizionali e ciò si ripercuote sul supporto e sulla condivisione delle conoscenze. Quando esiste già un'ampia base di utenti, è anche possibile trovare una soluzione documentata e un referente per ogni area di applicazione.
  • Temi e plug-in: Un piccolo gruppo di utenti è inoltre il motivo per cui lo sviluppo delle estensioni procede lentamente e più che altro in un'area molto specifica. I CMS tradizionali offrono un pool molto più ampio di temi e plug-in per estendere il framework di base.
  • Aree di applicazione: Un flat file CMS può essere adattato a esigenze speciali solo con grande difficoltà, sempre che sia possibile farlo. WordPress può invece essere adattato a diverse aree di applicazione attraverso numerosi plug-in; in questo modo si può impostare la propria pagina di WordPress sia come negozio online sia come community, mentre i flat file system non sono concepiti per questo scopo.

Quali flat file CMS esistono?

  • Kirby: Per installare il CMS dall’Italia, gli utenti devono solo caricare i file dello starter kit sul proprio server web. In aggiunta, come per tutti i progetti presentati, è obbligatoria l'installazione di PHP sul server. Kirby legge la struttura del sito web dai nomi delle cartelle. I testi possono essere creati in Markdown. Se tuttavia ritenete che sia troppo lavoro da fare, potete ricorrere al pannello di Kirby, ossia un'interfaccia di amministrazione simile a un vero e proprio CMS. Per la fornitura del CMS il programmatore (Kirby è un'impresa individuale) attualmente addebita un canone per sito web. Nel frattempo c’è anche un piccolo numero di plug-in e temi per Kirby. Inoltre, se avete bisogno di una struttura più complessa, il flat file CMS può essere successivamente collegato a un database MySQL.
  • Statamic: L'offerta di Statamic è un po' più costosa. Si basa su file YAML, Markdown, HTML e PHP. In più offre anche un pannello per un funzionamento più facile. Statamic raccomanda l'uso di Redactor, un editor HTML WYSISYG.
  • Grav: Uno dei flat file CMS più utilizzati. Il progetto open source gratuito è guidato da RocketTheme, un fornitore di temi CMS. Pertanto non sorprende che Grav attribuisca maggiore importanza all'implementazione grafica rispetto alla concorrenza. Le immagini, ad esempio, possono essere inserite e regolate molto bene. Anche i filtri fotografici del sistema appartengono a Grav. Attraverso l'implementazione di Doctrine Cache, il CMS offre anche ottime prestazioni.
  • HTMLy: anche HTMLy è un software open source, ma il suo focus principale è sul blogging e ritorna quindi agli albori di WordPress. Il CMS leggero offre anche caratteristiche molto simili: widget, gestione multi-autore e l'integrazione di funzioni di commento così come si conoscono già nel gigante del settore. Il pannello di amministrazione e il programma di installazione web semplificano l'installazione e l'amministrazione.
  • razorCMS: il CMS britannico funziona con una soluzione direttamente sul sito web, invece di utilizzare un pannello di amministrazione. Ciò significa che gli utenti possono apportare modifiche direttamente sulle pagine. A tal fine è necessario prima accedere tramite una barra di controllo sul bordo superiore, dopodiché verranno mostrate numerose opzioni: qui i blogger possono creare nuovi post e cambiare pagina. Tale sistema è offerto anche come software open source via GitHub.
Flat file CMS Admin Panel Temi Plug-in Commerciale  
Kirby alcuni pochi  
Statamic alcuni pochi  
Grav alcuni molti  
HTMLy pochi  
razorCMS in page editing pochi pochi  

Riepilogando: chi dovrebbe optare per un flat file CMS?

I sistemi di gestione dei contenuti basati sul principio dei flat file si trovano tra un normale CMS e un sito statico. Prima che facesse capolino sul mercato il flat file CMS, era sufficiente porsi la seguente domanda prima di decidere il sistema più adatto: è necessario cambiare regolarmente il contenuto o la pagina rimane statica?

I nuovi sistemi sono a metà tra le due opzioni e sono ideali per i progetti più piccoli. Essi sono stati progettati per essere una soluzione leggera per il content management. In termini di usabilità, tuttavia, si rivolgono più che altro agli utenti che sanno utilizzare il codice. Nella maggior parte dei casi, infatti, sono richieste conoscenze HTML, PHP o CSS. Non è però richiesta alcuna conoscenza in termini di database. I webmaster possono concentrarsi sul design del sito web e beneficiare di un sistema leggero.

Per gli utenti che necessitano solo di una pagina web aziendale statica o di una landing page one page anche un generatore di siti statici può essere la scelta giusta: grazie ai generatori, infatti, si riescono già a coprire molti campi di applicazione, ad esempio utilizzando il kit di siti pronti IONOS. Se tuttavia desiderate lavorare con contenuti dinamici ma solo all'interno di una struttura piccola, i flat file system offrono una buona alternativa ai pesi massimi quali sono i classici CMS.

Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.