Contenuti

  1. Linee guida
  2. La nuova versione del sito
  3. Software utilizzato

Questa pagina raccoglie le informazioni tecniche sul mio sito web. Se avete delle curiosità o vi chiedete il perché di alcune scelte, questo è il posto giusto per trovare una risposta.

Linee guida

Questa è la terza versione del mio sito personale e rappresenta un aggiornamento sia per quanto riguarda i contenuti sia per l'approccio tecnico della seconda.

La prima versione, risalente al 1997, era la "classica" Home Page anni '90 con i limiti e le ingenuità del caso, anche se a ripensarla ora la trovo comunque carina. Nel 2003 la prima vera revisione del mio spazio sul web si era basata sulle seguenti linee guida:

A queste linee guida base si aggiunse ben presto la volontà di trasformare il sito da prettamente personale a personale ma informativo, inserendo in ogni contesto collegamenti a siti esterni per offrire approfondimenti sul tema trattato. Un esempio di tale scelta è visibile in questa stessa pagina, ove sono proposti collegamenti a tutte le risorse citate.

La nuova versione del sito

La versione del sito prodotta nel 2003 seguiva tutte le linee guida definite ma rappresentava comunque un progetto nato vecchio in quanto basata su HTML statico, con un uso delle "tag" di definizione caratteri e intestazioni ben lontano dalle direttive del W3c. Il sito era scritto in HTML sintatticamente corretto ma non rispettava le convenzioni. La combinazione HTML statico/HTML4.01 senza quasi uso del CSS comportava poi tempi di aggiornamento più lunghi e serie difficoltà nel caso di modifiche globali dell'impostazione grafica. Il tutto per garantire la visibilità dell'impostazione grafica ai pochi utenti che usano browser antecedenti al 1998 e privi di CSS penalizzando nel contempo molte più persone, a partire dai non vedenti che in quel "layout" basato su tabelle si perdevano!

Un altro problema del sito erano le sezioni perennemente "in costruzione" o "da completare" ed i "rami secchi", ossia parti che avevano un senso in fase progettuale ma che poi erano state "soppiantate" dal BLOG, aperto successivamente al battesimo del sito.

A settembre 2005, forte dell'esperienza acquisita nei due anni precedenti lavorando su altri siti e studiando linguaggi e tecnologie quali CSS, XHTML e PHP, ho deciso di rimettere mano al progetto, cercando di affrontarne i problemi alla radice e aggiungendo una serie di ulteriori linee guida per lo sviluppo:

  1. Struttura basata su un programma PHP che costruisce la maschera delle pagine in base a una serie di parametri specificabili nelle singole pagine. Oltre a definire le componenti XHTML della pagina lo script supporta la creazione dei contenuti ripetitivi (link di navigazione e ricerca) e la loro localizzazione. Ciò significa che per modificare la struttura portante del sito o aggiungere funzioni valide in tutte le pagine è sufficiente intervenire su un file.
  2. Integrazione "trasparente" di script PHP all'interno delle pagine: ora non vi è differenza fra pagine statiche e dinamiche (nel senso di pagine con contenuti creati da uno script), ne' tecnicamente, ne' per l'utente, grazie all'uso di estensioni coerenti. Varie pagine del sito generano contenuti variabili o sfruttano script anche se ciò non si nota. L'integrazione trasparente degli script avviene anche grazie ad un'accorta configurazione del server web Apache.
  3. Utilizzo di XHTML 1.0 Transictional (con il proposito di passare alla versione Strict) per la struttura delle pagine che risulta quindi più leggera ed accessibile a un maggior numero di utenti, compresi non vedenti e disabili.
  4. Rigido rispetto delle norme del W3c circa l'uso coerente delle intestazioni e l'apertura dei collegamenti a siti esterni nella finestra corrente e non in una nuova. Tali collegamenti sono comunque "evidenziati" tramite CSS.
  5. Utilizzo di CSS 2.1 per tutti gli aspetti estetici del sito, dal dimensionamento dei caratteri ai colori, dai bordi alla posizione dei contenuti. L'adozione dei fogli di stile ha permesso di ridurre la dimensione delle pagine, semplificare la gestione dell'aspetto grafico e facilitare la stampa, grazie alla creazione di un foglio di stile ad hoc. In prospettiva ulteriori modifiche estetiche al sito saranno più semplici, dovendo operare su singolo file invece che su tutte le pagine.

L'approccio tecnico usato per creare questa versione di favrin.net è lo stesso che ho seguito per creare diversi altri siti. Nel medio termine la soluzione si è rivelata valida sia per gli utenti finali sia per quanto concerne la gestione e la crescita dei siti. In particolare il fatto che un sito si fondi sul PHP permette di creare nuove funzionalità locali (limitate a singole pagine) o globali (riguardanti tutto il sito) senza eccessivi problemi, mentre la separazione fra struttura (XHTML) e aspetto (CSS) rende più semplice intervenire su entrambi i fronti.

L'unico risvolto negativo riguarda l'impaginazione meno ricca visibile agli utenti dotati di browser non compatibili con CSS. Ho comunque creato il sito seguendo le direttive W3c per rendere le pagine leggibili e comprensibili anche a chi non dispone dei fogli di stile. Provare a disattivarli per credere!

Per quanto concerne i contenuti, ho lavorato alacremente per convertire il materiale pre-esistente migliorandolo in più punti e inserire tutto il nuovo materiale (o meglio quello che mi ripromettevo di inserire da anni), prima dell'apertura al pubblico della nuova versione.
Ho inoltre eliminato e/o ripensato diversi "rami secchi" del sito: meglio offrire meno pagine ma con contenuti reali, piuttosto che avere decine di pagine in costruzione. Del resto il sito per sua natura è un "deposito" relativamente statico, mentre gli aggiornamenti più frequenti avvengono nel blog.

Software utilizzato

Le pagine di questo sito web sono state create utilizzando esclusivamente editor di testo: PSPad su Windows e NANO in ambiente Linux.

I documenti sono poi stati verificati con i validatori XHTML e CSS del W3c e pressoché in tempo reale tramite l'estensione "HTML Validator" per il browser Firefox.

Le estensioni "Web developer toolbar" e "Colorzilla" per Firefox hanno inoltre semplificato e velocizzato enormemente lo sviluppo! Si tratta di programmi di cui qualsiasi sviluppatore web dovrebbe disporre!

Il controllo e la gestione del sito avvengono tramite FileZilla e PuTTY, rispettivamente un client FTP e un client SSH1/2. A completare il trio di utilità, KeePass, un programma per conservare in un archivio criptato le decine di password necessarie per web hosting e servizi vari. Da KeePass è anche possibile aprire automaticamente PuTTY, per "loggarsi" nel sito in maniera assolutamente sicura. Tutti e tre i programmi sono open source, a dimostrazione che anche su Windows si trovano ottimi programmi liberi (una volta credevo di no...).

Il sito si appoggia anche ai programmi Analog (statistiche ad uso interno), WordPress (blog) ed ai servizi per webmaster offerti da Google: SiteSearch, Maps API e Web API.

Favrin.net sarebbe un sogno sul mio hard disk senza Dreamhost, il servizio di web hosting su cui risiede il sito. Volete saperne di più? Leggete la pagina dedicata a Dreamhost, in cui vi dico quante belle cose offrono!

Altri dubbi e curiosità su questo sito? Chiedete!