Una variante re­la­ti­va­men­te nuova dei sistemi di gestione dei contenuti fa con­cor­ren­za ai CMS tra­di­zio­na­li quali WordPress, Typo3 e Drupal e si basa sul concetto dei co­sid­det­ti flat file (in italiano: “file piatto”), ovvero un formato di file con una struttura molto semplice. Questi sistemi di flat file pre­sen­ta­no vantaggi e svantaggi rispetto ai loro prin­ci­pa­li con­cor­ren­ti. Di seguito vi spie­ghia­mo come funziona un flat file CMS e forniamo una breve pa­no­ra­mi­ca dei diversi sistemi già di­spo­ni­bi­li.

Cosa sono i flat file?

Il flat file più semplice che si possa im­ma­gi­na­re è un file di testo in formato TXT, il quale contiene solo contenuti scritti senza link, indici o for­mat­ta­zio­ni. Lo stesso vale anche per i file binari: anche qui il codice viene sem­pli­ce­men­te scritto. Questo formato di file rap­pre­sen­ta 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 re­la­zio­na­li in cui i record di dati hanno col­le­ga­men­ti, indici, gerarchie e formati pre­de­fi­ni­ti. Un database di flat file non ha tutto questo: si tratta piuttosto del­l'e­qui­va­len­te digitale di una lista della spesa o di una scheda perforata.

Per un simile database è possibile uti­liz­za­re un'ampia varietà di formati di testo semplici e binari. Un esempio noto sono i file CSV (comma-separated values): le in­for­ma­zio­ni al­l'in­ter­no di un set di dati sono separate da virgole, il set di dati stesso termina con un'in­ter­ru­zio­ne 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 ra­pi­da­men­te e sus­si­sto­no meno fonti di errore per via della loro bassa com­ples­si­tà. Anche il flat file CMS si avvale di questo principio e offre quindi un'in­te­res­san­te con­tro­par­te ai sistemi di gestione dei contenuti classici dalle di­men­sio­ni elevate.

Come fun­zio­na­no 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 back­ground. I sistemi di gestione dei database (in breve DBMS) operano in modo re­la­zio­na­le: vale a dire che lavorano con diverse tabelle perciò or­ga­niz­za­no le query. Proprio per questo, tuttavia, ne­ces­si­ta­no di un server ap­po­si­ta­men­te impostato. Un flat file CMS elimina com­ple­ta­men­te la gestione di database, motivo per cui spesso si parla di CMS senza database. Il DBMS non è più ne­ces­sa­rio 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, mul­ti­me­dia­li e di testo) solo sul server. Il sito web è quindi pra­ti­ca­men­te pronto per l'uso. Le richieste vanno di­ret­ta­men­te ai file e non vengono di­stri­bui­te via MySQL.

Ad esempio gli svi­lup­pa­to­ri me­mo­riz­za­no i dati di accesso per ogni utente in un file YAML separato. Il nome del file consente al CMS di trovare i dati cor­ri­spon­den­ti. Il contenuto può anche essere creato esat­ta­men­te nello stesso modo: In linea di principio l'idea è che gli utenti di un flat file CMS possano sem­pli­ce­men­te creare un testo o un file di Markdown per ogni post del blog e me­mo­riz­zar­lo nella cartella corretta. Questo può essere fatto anche senza un'in­ter­fac­cia di am­mi­ni­stra­zio­ne: 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 ela­bo­ra­zio­ne di testi come Word. Ten­den­zial­men­te l’editor di testo salva il testo immesso in un formato di testo normale e viene so­prat­tut­to uti­liz­za­to per la creazione e la modifica del codice sorgente.

Quali sono i vantaggi e gli svantaggi?

A seconda di come i webmaster vogliono uti­liz­za­re il proprio flat file CMS, questi sistemi possono essere la soluzione perfetta o al contrario sem­pli­ci­fi­ca­re dove invece è richiesta la com­ples­si­tà. 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 re­la­zio­na­le va ben oltre le reali esigenze e non è veramente ne­ces­sa­rio. È possibile ottenere velocità più elevate sem­pli­fi­can­do la struttura in un flat file system.
  • Sem­pli­ci­tà: Ge­ne­ral­men­te i grandi database hanno una struttura molto complessa. Le catene di ri­fe­ri­men­ti tengono insieme il costrutto. Per i prin­ci­pian­ti è facile com­met­te­re 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 co­no­scen­za dei database e non ha ne­ces­sa­ria­men­te bisogno di un database completo per il proprio progetto web.
  • Sicurezza: Più semplice è un sistema, più facile è evitare errori. La maggior parte delle di­sav­ven­tu­re si verifica quando si perde la traccia della struttura. A quel punto l’errore si insinua fino nelle pro­fon­di­tà del­l'ar­chi­tet­tu­ra e potrà essere in­di­vi­dua­to e rimosso solo con grande dif­fi­col­tà. Curare una struttura di cartelle semplice e con poche di­pen­den­ze risulta invece molto più facile. Vale lo stesso anche per la sicurezza esterna: SQL è un bersaglio popolare per i cyber attacchi. Uti­liz­zan­do le SQL in­jec­tions (in italiano “iniezioni”), infatti, gli ag­gres­so­ri cercano di in­fil­tra­re i propri comandi nel database e quindi di spiare e ma­ni­po­la­re 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 ri­chie­do­no routine di backup che me­mo­riz­za­no i dati di sistema, il database e tutti i file inclusi. Con una soluzione flat file, invece, è suf­fi­cien­te copiare e incollare tutto altrove. Spesso è suf­fi­cien­te una chiavetta USB per la me­mo­riz­za­zio­ne.
  • Tra­sfe­ri­men­to: 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 uti­liz­za­te un CMS classico siete vincolati al relativo back end per mo­di­fi­ca­re il contenuto. Tuttavia, se de­si­de­ra­te apportare modifiche o ag­giun­ge­re nuovo contenuto all’interno di un flat file CMS, potete ricorrere al vostro editor preferito.

Na­tu­ral­men­te i flat file CMS non co­sti­tui­sco­no la soluzione uni­ver­sa­le. Pertanto ciò che può ancora essere con­si­de­ra­to un vantaggio per un progetto può invece avere l'effetto opposto e diventare uno svan­tag­gio per un altro:

  • Velocità: Non appena i volumi di dati escono dalla struttura gestibile, è possibile che le query di ricerca più complesse ri­chie­da­no più tempo. In questi casi la scelta giusta ricade sul DBMS: qui gli accessi sono guidati alla de­sti­na­zio­ne corretta at­tra­ver­so i col­le­ga­men­ti. Con un flat file CMS, invece, tutti i record di dati devono essere scan­sio­na­ti uno dopo l'altro.
  • Esten­sio­ne del server: Per via della struttura delle cartelle è as­so­lu­ta­men­te ne­ces­sa­rio che tutti i file vengano eseguiti su un server web. La di­stri­bu­zio­ne su più server con grandi quantità di dati o a causa di ri­don­dan­ze de­li­be­ra­te non è possibile.
  • User-friendly: La po­po­la­ri­tà di WordPress è es­sen­zial­men­te dovuta, tra le altre cose, al fatto che non è ne­ces­sa­rio scrivere nemmeno una singola riga di codice per mettere online un sito web pro­get­ta­to cor­ret­ta­men­te. I flat file CMS sono ancora al­l'i­ni­zio del loro sviluppo e non è ancora stato investito ab­ba­stan­za nella facilità d'uso. Piuttosto l'o­biet­ti­vo attuale è quello di mi­glio­ra­re la stabilità, le pre­sta­zio­ni e la fun­zio­na­li­tà. Per questo motivo so­li­ta­men­te quando si utilizza un flat file CMS è ancora ne­ces­sa­rio un lavoro perlopiù manuale. Chi ha co­no­scen­ze di HTML, PHP, CSS e Markdown non avrà problemi con un flat file system. Al contrario l'utente inesperto di WordPress ne­ces­si­te­rà di un aiuto.
  • As­si­sten­za: Le community attorno ai singoli flat system non sono ancora così grandi come quelle dei CMS tra­di­zio­na­li e ciò si ri­per­cuo­te sul supporto e sulla con­di­vi­sio­ne delle co­no­scen­ze. Quando esiste già un'ampia base di utenti, è anche possibile trovare una soluzione do­cu­men­ta­ta e un referente per ogni area di ap­pli­ca­zio­ne.
  • Temi e plug-in: Un piccolo gruppo di utenti è inoltre il motivo per cui lo sviluppo delle esten­sio­ni procede len­ta­men­te e più che altro in un'area molto specifica. I CMS tra­di­zio­na­li offrono un pool molto più ampio di temi e plug-in per estendere il framework di base.
  • Aree di ap­pli­ca­zio­ne: Un flat file CMS può essere adattato a esigenze speciali solo con grande dif­fi­col­tà, sempre che sia possibile farlo. WordPress può invece essere adattato a diverse aree di ap­pli­ca­zio­ne at­tra­ver­so 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 in­stal­la­re 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 pre­sen­ta­ti, è ob­bli­ga­to­ria l'in­stal­la­zio­ne 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'in­ter­fac­cia di am­mi­ni­stra­zio­ne simile a un vero e proprio CMS. Per la fornitura del CMS il pro­gram­ma­to­re (Kirby è un'im­pre­sa in­di­vi­dua­le) at­tual­men­te 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 suc­ces­si­va­men­te 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 fun­zio­na­men­to più facile. Statamic rac­co­man­da l'uso di Redactor, un editor HTML WYSISYG.
  • Grav: Uno dei flat file CMS più uti­liz­za­ti. Il progetto open source gratuito è guidato da Roc­ket­The­me, un fornitore di temi CMS. Pertanto non sorprende che Grav at­tri­bui­sca maggiore im­por­tan­za al­l'im­ple­men­ta­zio­ne grafica rispetto alla con­cor­ren­za. Le immagini, ad esempio, possono essere inserite e regolate molto bene. Anche i filtri fo­to­gra­fi­ci del sistema ap­par­ten­go­no a Grav. At­tra­ver­so l'im­ple­men­ta­zio­ne di Doctrine Cache, il CMS offre anche ottime pre­sta­zio­ni.
  • HTMLy: anche HTMLy è un software open source, ma il suo focus prin­ci­pa­le è sul blogging e ritorna quindi agli albori di WordPress. Il CMS leggero offre anche ca­rat­te­ri­sti­che molto simili: widget, gestione multi-autore e l'in­te­gra­zio­ne di funzioni di commento così come si conoscono già nel gigante del settore. Il pannello di am­mi­ni­stra­zio­ne e il programma di in­stal­la­zio­ne web sem­pli­fi­ca­no l'in­stal­la­zio­ne e l'am­mi­ni­stra­zio­ne.
  • razorCMS: il CMS bri­tan­ni­co funziona con una soluzione di­ret­ta­men­te sul sito web, invece di uti­liz­za­re un pannello di am­mi­ni­stra­zio­ne. Ciò significa che gli utenti possono apportare modifiche di­ret­ta­men­te sulle pagine. A tal fine è ne­ces­sa­rio 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 Com­mer­cia­le
Kirby alcuni pochi
Statamic alcuni pochi
Grav alcuni molti
HTMLy pochi
razorCMS in page editing pochi pochi

Rie­pi­lo­gan­do: 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 suf­fi­cien­te porsi la seguente domanda prima di decidere il sistema più adatto: è ne­ces­sa­rio cambiare re­go­lar­men­te 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 pro­get­ta­ti per essere una soluzione leggera per il content ma­na­ge­ment. In termini di usabilità, tuttavia, si rivolgono più che altro agli utenti che sanno uti­liz­za­re il codice. Nella maggior parte dei casi, infatti, sono richieste co­no­scen­ze HTML, PHP o CSS. Non è però richiesta alcuna co­no­scen­za in termini di database. I webmaster possono con­cen­trar­si sul design del sito web e be­ne­fi­cia­re di un sistema leggero.

Per gli utenti che ne­ces­si­ta­no solo di una pagina web aziendale statica o di una landing page one page anche un ge­ne­ra­to­re di siti statici può essere la scelta giusta: grazie ai ge­ne­ra­to­ri, infatti, si riescono già a coprire molti campi di ap­pli­ca­zio­ne, ad esempio uti­liz­zan­do il kit di siti pronti IONOS. Se tuttavia de­si­de­ra­te lavorare con contenuti dinamici ma solo al­l'in­ter­no di una struttura piccola, i flat file system offrono una buona al­ter­na­ti­va ai pesi massimi quali sono i classici CMS.

Vai al menu prin­ci­pa­le