My boring Blog

Home page di Mauro Frigerio

Ritorno Futuro? O al passato?

05-06-2020 Tempo di lettura 4 minuti Article

Non sono un grande sviluppatore di siti e non ho problemi ad ammetterlo. Mi piace avere uno spazio dove poter “strusare” e condividere quello che faccio.

Un sito web non si crea da solo e quando ti ci metti un po’ i problemi aumentano esponenzialmente. Puoi crearlo basandoti su piattaforme disponibili gratuitamente (dove naturalmente il prodotto sei tu, perché loro devono guadagnare) come WordPress, Blogger e tanti altri.

Il mio primo sito l’ho programmato con Front Page di Microsoft (attorno al 2001), ero giovane e non capivo ancora niente d’informatica. Il design di siti all’ora era molto monolitico e statico. Quando volevi fare qualcosa di più dinamico allora si parlava di Flash.

Qualche anno più tardi nel 2008 ho deciso di acquistare l’attuale dominio e di creare il mio sito. Le scelta da fare era tra WordPress, Drupal o Joomla. Dopo vari tentativi mi sono lanciato su Joomla perché integrava meglio quello che avevo bisogno: un blog, una galleria fotografica e l’hosting di video. Sono passati oramai 12 anni e tanti update e alcuni cambi di template sono stati necessari. In questo lasso di tempo ho capito sempre di più cosa significa gestire un sito e tutto quello che gli gira attorno (spazio, database, versioni, …).

A inizio della crisi dovuto al corona virus mi sono ripromesso di aggiornare con contenuti ma anche graficamente e sotto il cofano il mio sito, che era fermo da un bel po’. Un po’ per caso mi sono imbattuto in un tweet di Infomaniak (il mio hosting) che parlava di Hugo. Si parla di un sistema automatico per caricare un sito web tramite GitHub.

Visto che sono un amante strusone ho deciso di approfondire un po’, ma cos’è veramente Hugo? In termini semplici è un generatore di siti statici. Tutto chiaro, no? Molti siti al giorno d’oggi sono generati dinamicamente, ma questo non aiuta a capire la differenza. Quindi proviamo a fare un esempio. Un computer richiede una pagina di un sito (esempio https://frigi.ch/esempio) a un server. Il server chiede al database tutte le informazioni legate alla pagina richiesta. Ricevute le informazioni viene creata una pagina in html contenente le informazioni, alla quale viene aggiunto lo stile grafico del sito. Quando tutto questo è pronto verrà inviato al computer che ha fatto la richiesta. Un sito statico invece non ha un database e non deve creare le pagine a ogni richiesta. Tutte le pagine sono generate in precedenza in base alla configurazione.

Non ci vuole un informatico per capire che i siti statici sono nettamente più veloci rispetto agli altri. Ma non solo, sono anche più sicuri perché hanno una superficie d’attacco minore, perché serve solo un server html e basta. Questo tipo di framework è utile per semplici siti (come il mio) che presentano dati che non cambiano. Non è adatto per un sito che si occupa di trading o di dati live.

Inoltre non è adatto a tutti perché qualche piccola nozione d’informatica aiuta nella configurazione e gestione. Anche se gli esempi e le nozioni richieste non sono da master in informatica. Il sistema di pagine statiche fa pensare agli albori d’internet e al mio primo sito. Sembra un passo in dietro, ma non è così. Perché gli attuali sistemi hanno una potenza maggiore grazie alla flessibilità nel creare contenuti e per un sito statico questo può sembrare un controsenso.

Installate velocemente hugo sul tuo computer con il comando snap install hugo. Nella cartella di sviluppo del tuo sito digita il comando per creare il sito: hugo new site nome-del-sito. Puoi aggiungere un tema tra i tanti disponibili e subito puoi testare sul tuo computer il tuo nuovo sito. Lanciando il comando hugo server -D il tuo sito viene compilato e reso disponibile in locale all’indirizzo http://localhost:1313. La potenza di questo sistema risiede nella compilazione istantanea. Modifichi un documento e lo salvi, in pochi millisecondi le modifiche sono pronte e le puoi testare con il tuo browser. Basta perdere ore a configurare un sistema di test in locale o remoto e tutto il tempo perso a spostare i file da dove sviluppi al sistema di test.

In poco tempo sono riuscito a configurare il mio sito con Hugo e ho migrato i vecchi post da Joomla. Ho impiegato un po’ più di tempo a configurare correttamente GitHub. In particolare l’aspetto per la compilazione e caricamento automatico delle modifiche al salvataggio di nuovi post. Se vuoi creare qualcosa di semplice e il tuo hosting non ti offre tanto, questa è un’ottima alternativa. Provala!