Webmaster - PC Open DVD

annuncio pubblicitario
1a lezione
A scuola con PC Open
Progetto
Web Master
di Roberto Mazzoni
Obiettivo: diventare
esperto nella creazione e
cura di siti Web di alto
livello qualitativo.
Benefici: avere le
competenze per produrre
una presenza su Internet
da protagonisti per sé e
per altri, un’abilità da
sfruttare sia per aiutare gli
amici sia per conquistare
nuove prospettive di lavoro
Approfondimenti sui
migliori editor HTML
freeware nella sezione
OPEN Action a p.156
Sul CD GUIDA le versioni
complete degli articoli.
In più sul CD i programmi
(gratuiti e demo) che
abbiamo citato.
iventare Webmaster è come assumere il comando
di una nave oppure la conduzione di un treno. La destinazione e lo scopo del viaggio
vengono quasi sempre scelti
da qualcun altro, ma una volta
partiti, spetta al Webmaster arrivare in porto secondo le scadenze previste e con il progetto
completato.
Nelle realtà più piccole, il
Webmaster di solito è anche responsabile direttamente di produrre il sito in tutte le sue componenti e di interagire con la
società di servizi che ospita il
server e fornisce la connettività
agli utenti, nel caso di progetti
ospitati all’esterno, oppure di
parlare con i responsabili dei sistemi informativi aziendali (magari un altro consulente nel caso di piccole aziende) per siti
che sono ospitati all’interno.
D
Che cosa fa
Le competenze centrali di un
Webmaster sono: progettare la
struttura di un sito partendo dai
contenuti che si vogliono pubblicare e dal percorso di navigazione che meglio si adatta alla situazione, produrre una struttura di pagina HTML che sia leggera, compatibile con i diversi
browser e vicina alle specifiche
grafiche previste per il sito, conoscenza perfetta dei linguaggi
usati per costruire le pagine
(HTML, JavaScript, Perl CGI,
DHMTL, CSS). Il Webmaster deve anche sapere come promuovere il sito sui principali motori
di ricerca così da attrarre traffico; come procurarsi e mantenere un nome a dominio; come integrare eventuali banner all’interno del sito, da utilizzare sia
come fonte di guadagno (pubblicità) sia come promozione incrociata tra siti. Una volta che il
sito è onl ine, gran parte del suo
lavoro sarà centrato sulla pubblicazione di nuovi contenuti,
che gli arriveranno nei formati
più diversi. Per questo motivo il
Webmaster opera in modo tale
che il sito sia strutturato in modo efficiente così che l’aggiunta
di pagine risulti un’operazione
semplice e veloce.
I problemi maggiori in questo senso si presentano con i siti statici, dove ciascuna pagina
deve essere generata a mano e
dove bisogna aggiornare continuamente gli elementi di navigazione per includere i nuovi
contenuti.
L’operazione diventa invece
più semplice nel caso dei cosid-
detti siti dinamici,
dove il contenuto
delle pagine viene
alimentato automaticamente da un
il corso è
database e basta
sul CD
inserire e catalogan. 65
re correttamente le
informazioni all’interno del database per ottenere un sito ordinato e funzionale.
I siti dinamici si prestano anche a un ulteriore livello di automazione: mediante particolari programmi, detti content
manager, che fanno da interfaccia semplificata nei confronti del database e della struttura
del sito, i nuovi contenuti possono essere caricati direttamente dall’utente, senza l’intervento continuo del Webmaster. Si tratta tuttavia di sistemi
complessi e, spesso, costosi
che richiedono un notevole impegno di programmazione.
Spetterà quindi al Webmaster
decidere se e quando usarli,
spesso curando in prima persona le operazioni di sviluppo necessarie a realizzarli. Nella
realtà, la quasi totalità dei siti sono ibridi, con porzioni statiche e
porzioni dinamiche a seconda
della natura delle informazioni e
della vita stimata del sito.
IL CALENDARIO DELLE LEZIONI
1/88
1° LEZIONE novembre 2002
Competenze e strumenti
- descrizione del ruolo di
Webmaster e dei possibili percorsi
professionali
- rudimenti per la progettazione di
un sito e descrizione delle altre
figure coinvolte
- panoramica degli strumenti di
lavoro gratuiti e professionali
(vengono indicati per primi perché
costituiscono la componente
pratica che poi accompagnerà il
corso per tutto il tempo)
- riferimenti (libri – siti) per iniziare
lo studio del linguaggio HTML su
cui sperimentare mediante gli
strumenti indicati
2° LEZIONE– dicembre 2002
Siti statici e linguaggio HTML
- concetti fondamentali della
produzione di un sito statico
- i trucchi del mestiere - la sintassi di
HTML - pagine - tabelle - frame - form
- logica di visualizzazione della
pagina e collocazione degli
elementi
- dove cercare lo spazio per
pubblicarlo: hosting e domini
- esempi usando gli editor di
riferimento
- i termini e gli standard
3° LEZIONE – gennaio 2003
Modelli di pagine e tabelle
- i protocolli di comunicazione
- concetti fondamentali di:
Fogli di stile in cascata
DHTML
JavaScript
- trucchi comuni per rendere il sito
attrattivo con poco sforzo
- differenze tra i tipi di browser
- Risorse esterne su cui
approfondire
- esempi usando gli editor
di riferimento
4° LEZIONE – febbraio 2003
HTML 4.01 e CSS
5° LEZIONE – marzo 2003
Design e multimedialità
6° LEZIONE – aprile 2003
Siti interattivi
7° LEZIONE – maggio 2003
Promuovere il sito
1a lezione
L’ultima trincea
Il Webmaster rappresenta
l’ultimo passaggio di controllo
prima che il sito vada in linea
ed è in “pole position” ogni volta che si presenta un problema.
Di conseguenza deve essere in
grado d’individuare, correggere o far correggere rapidamente qualsiasi errore compiuto
durante le precedenti fasi di
produzione da programmatori, grafici e sistemisti, le persone, cioè, che gestiscono fisicamente la macchina su cui risiede il sito.
Per tale motivo deve disporre di una certa familiarità con i
principali formati grafici del
Web e con i linguaggi di programmazione usati nello sviluppo di siti dinamici.
È anche opportuno che abbia conoscenze elementari di
sicurezza per poter evitare attacchi dall’esterno che potrebbero compromettere l’immagine del sito.
È importante infine che coltivi ottimi rapporti con altri
Webmaster, per potersi avvalere dell’assistenza di colleghi su
problemi comuni e deve avere
una buona sintonia con il provider che gestisce fisicamente
il sito, oppure dove sapere mettere le mani sul server in prima
persona.
Saper fare un po’ di tutto
Ora che l’epoca della New
Economy è finita e che ci sono
sempre meno soldi per sviluppare e mantenere siti, spesso si
chiede al Webmaster di realizzare in proprio anche la parte
di programmazione necessaria
alla produzione di un sito dinamico (normalmente affidata a
un Web developer). Quasi mai,
invece, ci si aspetta che il Webmaster realizzi la grafica, a meno che si tratti un sito di servizio dove le informazioni compaiano quasi sempre in formato testo.
Esiste naturalmente anche
l’eccezione di Webmaster con
particolare sensibilità grafica,
capaci di svolgere pienamente
anche le funzioni di Web designer, nel qual caso le possibilità di successo saranno ancora maggiori poiché avranno
pieno controllo delle varie fasi
di realizzazione anche senza
doverle eseguire necessariamente in prima persona.
Nella pratica, i problemi
principali a cui il Webmaster
dovrà prestare attenzione gli
verranno proprio dalla grafica
e da una programmazione imperfetta.
L’intervento di un Web developer incompetente può produrre intoppi nel funzionamento del sito difficili da individuare e risolvere.
Invece un Web designer incompetente può produrre pagine troppo complesse perché
siano visualizzate correttamente in tutti i principali browser, grafica troppo pesante che
rallenta i visitatori del sito, interfacce incomprensibili che
conducono a una navigazione
confusa, uso di “plug-in” poco
comuni che creano problemi
di compatibilità.
Perciò il Webmaster dovrà
essere pronto a intervenire
non solo sulla struttura della
pagina, ma anche sulla navigazione e sugli elementi grafici
per rimediare al volo qualsiasi
intoppo.
Dalla nostra
community,
una storia
di successo
il nostro lettore Giuseppe Lachello
ha creato il sito Mio Piemonte, che
si sta rivelando un’ottima vetrina
di presentazione
È stato il primo a rispondere
Giuseppe Lachello, 55 anni,
piemontese doc, quando il
mese scorso abbiamo chiesto
se tra i membri della
community di PC Open ci fosse
qualcuno disposto a raccontare
la propria esperienza sul Web.
E nel caso di Giuseppe, il
primato non è il solo: è lettore
di PC Open dal lontano n°3 e
abbonato dal n°10. Bene,
Giuseppe che attualmente è in
pensione, era il responsabile di
hardware e software per una
società del gruppo Fiat,
dedicata alla gestione
contabilità. “I primi approcci
con il Web risalgono al ‘98,
quando la società per cui
lavoravo mi chiese di creare un
sito interno all’ufficio che
potesse funzionare da centro di
smistamento di report aziendali
con la casa madre”. Le basi di
programmazione (programmava
in Visual Basic) servono a
Giuseppe come struttura su cui
inserire le nuove competenze.
“All’inizio non avevo ben chiare
le nozioni, per cui ho iniziato a
studiare libri sui linguaggi di
programmazione (HTML,
JavaScript) e a navigare in Rete
osservando i siti, cercando di
visualizzare la sorgente per poi
tentare di ricostruirli. Nel giro di
quattro mesi ho imparato la
maggior parte di ciò che mi
serviva per mettermi all’opera,
quindi è partito il sito, che è
stato molto apprezzato, tanto
che subito dopo sono stato
contattato dalla casa madre per
fornire una consulenza nella
costruzione del sito aziendale”.
In seguito Giuseppe ha affinato
le sue competenze
frequentando un corso on line
di manuali.net, trovandolo
completo e molto utile. Prima di
andare in pensione, Giuseppe
ha messo in Rete un suo sito,
si chiama Mio Piemonte, come
siamo e come eravamo, e
raccoglie molte informazioni,
documenti e immagini sulla
regione (it.geocities.com/
mepiemont).
“È iniziato per passione, come
hobby, ma si sta rivelando
un’ottima vetrina di
presentazione” ci rivela
Giuseppe, tanto che già alcune
piccole aziende della zona lo
hanno contattato per fornire
consulenza per la costruzione
dei loro siti.
GLOSSARIO
CONTENT MANAGER
è il responsabile dei contenuti
pubblicati sul sito (testo e grafica) e
da lui vengono le indicazioni operative
per il Webmaster e il Web designer.
In mancanza di questa figura, il ruolo
viene spesso svolto dal Webmaster
medesimo.
LINGUAGGI DI DEFINIZIONE
DELLA PAGINA
questi linguaggi indicano al browser
come visualizzare il contenuto di una
pagina Web.
I più importanti e utilizzati sono
l’HTML (HyperText Markup Language),
il DHTML (Dynamic HTML) e i CSS
(Cascading Style Sheets – fogli di
stile in cascata).
2/88
LINGUAGGI DI SCRIPTING
eseguono operazioni programmate
all’interno del browser o del server
Web nel momento in cui vengono
richieste le pagine. I più comuni sono
JavaScript (che funziona sia sul client
sia sul server) e CGI (Common
Gateway Interface) che viene
programmata attraverso lo speciale
linguaggio Perl (Practical extraction
and reporting language) nato per
l’elaborazione di testi oppure
mediante Java, C o Visual Basic.
Nei siti più moderni troviamo anche
ASP (Active Server Pages) di
Microsoft programmabile in VBScript
(il più usato), Javascript e Perlscript PHP open source e molto diffuso nel
mondo Linux - CFML (Coldfusion
Markup Language) di Macromedia.
Gli ultimi quattro operano unicamente
sul server.
WEB DESIGNER
progetta e sviluppa l’aspetto grafico
ed estetico di un sito, fornendo tutti
gli strumenti visivi per la navigazione
e la corretta visualizzazione e
organizzazione dei contenuti
all’interno delle pagine. Passa il
proprio lavoro al Webmaster per la
creazione del sito vero e proprio.
WEB DEVELOPER
realizza tutta la componente
“applicativa” dei siti che fanno perno
su un database. Progetta il database
e scrive i programmi che ne
permettono l’interrogazione
attraverso pagine interattive,
anch’esse generate in automatico.
Passa il proprio lavoro al Webmaster
che lo completa se necessario e lo
“mette in linea”.
WEBMASTER
è il responsabile globale di un sito, le
sue competenze abbracciano la
progettazione iniziale, la realizzazione
e la gestione, con particolare
attenzione all’aggiornamento dei
contenuti. Deve sapere fare un po’ di
tutto e mostra i suoi punti di forza
particolari nella conoscenza degli
strumenti e dei linguaggi per produrre
pagine capaci di essere viste
velocemente su qualsiasi browser.
1a lezione
1 I professionisti che affiancano il Webmaster
Web designer, coder, operatore grafico, Web developer, Content manager
e Content editor: ecco le funzioni che svolgono le altre figure professionali
sistono almeno sei interlocutori con cui il Webmaster
ha relazioni continue e dei
quali, talvolta può trovarsi ad
assumere anche i compiti. Come abbiamo accennato, la produzione di un sito Web facilita il
mescolamento dei ruoli sia per
ragioni di economia, vale a dire
non esistono mai soldi a sufficienza per ingaggiare tutte le
persone che sarebbero necessarie, sia per motivi di urgenza:
l’incaricato di una determinata
funzione potrebbe essere assente nel momento in cui sia necessario il suo intervento e perciò chi è presente deve poterne
fare le veci, almeno in parte.
La prima figura in ordine di
tempo con cui il Webmaster entra in contatto è il Web designer. Solitamente un esperto di
arti grafiche capace di tradurre
gli input del committente in una
struttura grafica di pagina e di
sito che abbia un bell’aspetto,
sia comprensibile dal navigatore, serva agli scopi del sito e sia
realizzabile con gli strumenti
tecnologici a disposizione (soprattutto osservando i limiti imposti dall’HTML e dal modo in
cui i vari browser lo interpretano).
La seconda figura con cui il
Webmaster entra in contatto subito dopo è il cosiddetto coder
vale a dire colui che stila il codice HTML o di programma che
compone le pagine, partendo
dalla bozza grafica preparata
dal Web designer.
Nel caso in cui abbia competenze centrate su HTML, il coder prende il nome comune di
Web editor, nel caso invece sia
competente nei linguaggi di
scripting lato server (come
Perl, ASP eccetera) prende il
nome comune di programmatore (le diciture formali si trasformano, poi, a seconda delle
circostanze, ma la sostanza non
cambia). Costui costruisce fisicamente le pagine seguendo le
indicazioni di qualcun altro, ma
non ha la responsabilità finale
di pubblicarle sul sito.
L’operatore grafico affianca
il coder nella costruzione del sito. Egli è in grado di gestire i va-
E
3/88
ri elementi grafici che compongono la pagina seguendo i dettami del progetto grafico e i vincoli della tecnologia
Solitamente, l’operatore grafico lavora con programmi di fotoritocco per creare immagini e
bottoni, e per ottimizzare immagini fornite da altri.
Nelle situazioni di budget ridotto, il Web designer svolge
anche funzioni di operatore grafico, vale a dire implementa e
continua nel tempo il progetto
grafico che lui stesso ha ideato,
mentre il Webmaster assume su
di sé il ruolo di coder. È raro che
un Webmaster operi anche da
Web designer e viceversa. I due
mestieri hanno matrici ben distinte. Il primo ha origini artistiche o grafiche, mentre il secondo prevalentemente tecniche.
La figura successiva con cui i
due entrano in contatto quasi
immediatamente è il Web developer, esperto nella progetta-
zione applicativa di un sito dinamico, vale a dire un sito che
presenti le proprie informazioni
attingendole da un database. Il
Web developer acquisisce il lavoro di progettazione grafica e
di codifica delle pagine HTML
già predisposto da qualcun altro, e vi aggiunge gli elementi
applicativi necessari all’interazione col server.
La sua esperienza è centrata
in prevalenza sui linguaggi di
scripting e di interrogazione di
database, ma di solito il suo
corredo di conoscenze comprende anche alcuni linguaggi
di programmazione.
Nei progetti in economia, il
Web developer finisce anche
per svolgere le funzioni di coder
e programmatore, realizzando
in prima persona l’intera pagina
e l’intero sito.
Nell’evoluzione delle proprie
competenze, il Webmaster tende a sua volta a diventare Web
developer, assumendo sempre
più dimestichezza con la produzione di pagine dinamiche e
degli elementi di programmazione.
La quinta figura di contatto
diretto per il Webmaster e per
gli altri attori coinvolti (soprattutto il Web designer e il Web
developer) prende il nome di
Content Manager e ha la responsabilità di regolare i contenuti del sito al fine di generare
traffico, come nel caso di un
portale o di un sito d’informazione, incoraggiare l’acquisto,
come nel caso di un sito di commercio elettronico, trasferire
nozioni, come nel caso di un sito di formazione a distanza. Nel
caso di siti di grandi dimensioni
viene assistito da Content editor che si occupano dell’aggiornamento di particolari segmenti del sito.
Il Content Manager ha solitamente un’estrazione giornalisti-
I componenti di un sito
WEB MASTER
WEB EDITOR
ARCHITETTO INFORMATIVO
Struttura
Testo
CONTENT MANAGER
CONTENT EDITOR
PUBLISHING SYSTEM
Abbiamo preso a prestito ed
espanso un grafico presente
nel libro “Web Design Arte e
Scienza” di Jeffrey Veen per
spiegare i contributi che le
principali figure professionali
descritte in questo corso
portano nella realizzazione di
un sito.
Il Webmaster estende
spesso il proprio ruolo alle
altre due aree periferiche.
Ma di rado tocca l’area
centrale, a meno che sia
sguarnita
Regole di pubblicazione
Coo
C
mpp
m
Coodd
orr
o
ii c
cee
tt a
am
meenn
W
WEE
tt o
o
ESPPROG BBDDEEVV
ERT RAM EELLOO
O U MA PPEERR
SAB TOR
ILIT E
Å
i
agaifnica
m
m
I e gr
one
tazi
n
e
s
Pre
NER ICO
ESIGE GRAFG
D
WEBRATOR KETIN
R
OPE MA
1a lezione
ca oppure editoriale, e solitamente non dispone di competenze tecniche, ma deve avere
una discreta sensibilità estetica
e una conoscenza dei vincoli
tecnologici del mezzo così da
trovare, assieme al Web designer, il giusto modo per presentare le informazioni.
Ha contatti con il Webmaster
o il coder per qualsiasi aggiornamento o variazione strutturale della pagina che diventi necessaria in corso d’opera al fine
di dare giusto risalto alle informazioni nuove o più importanti.
Dialoga occasionalmente anche
con il Web developer, soprattutto nella fase iniziale del progetto, per mettere a punto gli
automatismi necessari per l’agevole pubblicazione e aggiornamento dei contenuti, solitamente realizzati tramite una
specifica applicazione che prende il nome di Content Management System o, più comunemente, sistema di publishing.
Nuove prospettive
per il Webmaster
come Content Publisher
Qui vale la pena di aprire una
piccola parentesi. Nei siti di medio-grandi dimensioni, la scelta
del Content Management System
viene per prima e influenza tutte le altre attività in cascata, visto che il sistema richiederà
l’impiego di precisi linguaggi di
programmazione e porrà vincoli importanti nella struttura grafica della pagina e nella codifica
HTML. La scelta del sistema di
publishing non viene quasi mai
eseguita dal Content Manager,
ma spesso è stata demandata a
personale tecnico che opera
sulla base dei requisiti funzionali espressi dal Content Manager e sui vincoli imposti dal
budget e dalla piattaforma su
4/88
cui opera il server. Purtroppo la
scelta risulta spesso sbagliata e
si traduce in costi e vincoli inaspettati per tutte le parti in causa. Talvolta può arrivare fino al
punto di bloccare lo sviluppo
del sito.
Sono moltissime le realtà della New Economy che hanno fallito proprio perché non hanno
adottato un sistema di publishing fin dal principio, ne hanno
scelto uno sbagliato oppure se
lo sono fatto costruire su misura partendo da specifiche troppo generiche. Il motivo dell’errore è stato nella mancanza, da
parte del ruolo tecnico, di capire quali fossero le reali funzioni
del prodotto.
In conseguenza di ciò venivano valutati principalmente gli
aspetti di costo, compatibilità,
prestazioni, facilità di programmazione e via dicendo, senza fare i conti poi con chi avrebbe
dovuto caricare le informazioni
e mantenere il sito, vale a dire il
Webmaster e il Content Manager. Il risultato si è espresso
quasi sempre in procedure
macchinose nel caricamento
delle informazioni, nell’imposizione di vincoli sul tipo d’informazioni effettivamente pubblicabili e nella rigidità della struttura del sito (difficile aggiungere, togliere o accorpare sezioni
e canali). Da ciò, l’esigenza di
apportare modifiche costose
dell’ultimo minuto che diminuivano la stabilità complessiva
del sito in virtù dei continui
cambiamenti incontrollati.
In alcuni casi si è cercato di
aggirare il problema sviluppando sistemi di publishing che si
basavano sul flusso di lavorazione di un giornale su carta.
Di solito, il risultato è stato
migliore rispetto ai sistemi creati dal nulla, ma le notevoli diffe-
renze nei metodi di lavorazione
dell’editoria su carta e dell’editoria Web hanno compromesso
l’utilità anche di questi ultimi.
Senza considerare, poi, che un
sistema di publishing professionale, capace di gestire siti complessi per una grande industria,
costa diverse centinaia di migliaia di euro.
Per questi motivi, di recente
ha cominciato a svilupparsi una
figura professionale ibrida che
unisce alcune competenze di
un Content Manager e quelle di
un Webmaster o Web developer
così da poter scegliere o ancor
meglio progettare ex-novo un
sistema di publishing che sia
compatibile con i costi stimati e
che sia abbastanza flessibile da
soddisfare le esigenze future del
committente.
Questa figura non ha ancora
un nome ufficiale, ma noi l’abbiamo identificata come Web
Publisher perché ricalca in
qualche modo le funzioni di un
publisher editoriale che sceglie
la carta, il tipo di stampa e il tipo di processo da utilizzare per
la produzione di un giornale, lasciando alla redazione il compito di generare i contenuti. L’ultimo punto di contatto operativo
è il sistemista, vale a dire il tecnico esperto nella gestione del
server su cui il sito opera. Spesso è dislocato presso il provider
che ospita il sito e ha la responsabilità di garantirne il funzionamento continuo, agendo
principalmente sulla macchina,
ma anche richiedendo variazioni al sito medesimo nel caso in
cui si presentassero incompatibilità dovute al lavoro del Webmaster o del Web developer.
Altre figure di contatto
Esistono altre figure con cui il
Webmaster può avere rapporti
occasionali. La prima è il responsabile di Web marketing,
che solitamente è il promotore
nonché il finanziatore del sito,
perciò ne stabilisce gli obiettivi
e ne approva la realizzazione.
Le sue preoccupazioni principali sono la capacità di attrarre
visitatori e di trasferire correttamente le informazioni che la
sua azienda gli ha chiesto di comunicare.
Solitamente chiede al Webmaster di fornirgli statistiche attendibili sul traffico, di promuovere il sito sui principali motori
di ricerca e di allestire sistemi
efficaci per pubblicare banner e
informazioni promozionali. Si
aggiungono poi tre figure che
sono tipiche della fase progettuale e che possono confluire
nell’attività del Webmaster. Il
Project Manager coordina l’attività di tutte le figure coinvolte
nel progetto e garantisce il rispetto delle tempistiche concordate. L’architetto informativo trova la giusta distribuzione
delle informazioni e delle relative etichette. Il suo compito è sostanzialmente di facilitare il reperimento delle informazioni
contenute in un sito, ottimizzando i percorsi per arrivarci e
rendendole accessibili in vari
modi contemporaneamente. Un
sito con una buona architettura
impedisce al navigatore di perdersi. L’esperto di usabilità infine misura o anticipa le reazioni dei navigatori al sito, ed elimina eventuali ostacoli o possibilità di equivoco. Spesso la sua
funzione è cumulata con quella
di architetto, viste le ampie sovrapposizioni possibili tra i due
mestieri. Un Webmaster esperto trova spesso l’occasione per
evolvere le proprie competenze
per occuparsi anche di architettura e di usabilità.
1a lezione
2 Gli strumenti di lavoro
Come scegliere lo strumento di lavoro adeguato
Produttività
Esperienza
Editor testuali,
visuali e ambienti
grafici integrati:
cosa sono, come
funzionano e come
scegliere la
soluzione più
adatta a voi
Ambienti
grafici
integrati
Editor
HTML
testuali
er svolgere il proprio compito, il Webmaster ricorre
a strumenti che semplificano la scrittura e la correzione delle pagine Web e degli
script associati, spesso con
un’interfaccia grafica che consente di creare intere sezioni
della pagina senza scrivere
nemmeno una riga di HTML.
Il vero Webmaster professionista, tuttavia, deve essere in
grado di scrivere completamente a mano un intero sito, se
necessario, perché gli capiterà
sovente di dover correggere
anche gli errori e i contenuti
inutili introdotti proprio dai
programmi di generazione automatica che dovrebbero aiutarlo. Gli strumenti di lavoro in
questo campo si dividono in
quattro categorie.
colare portale che li ospita, imponendo quasi sempre la visualizzazione dei banner pubblicitari di quest’ultimo.
Editor on line gratuiti
Editor orientati al testo
Sono strumenti da usare nella produzione di siti personali,
molto semplici, all’interno di
portali che offrono spazio gratuito limitato e che prevedono
un’interfaccia propria per la generazione facilitata delle pagine partendo da moduli già impostati. Non sono stati inseriti
in questa rassegna perché di
fatto limitano moltissimo il formato e la struttura del sito e lo
vincolano al dominio del parti-
Leggeri e precisi, costituiscono un elemento irrinunciabile nella cassetta degli attrezzi
di un bravo Webmaster. Vi si ricorre per piccole correzioni al
volo oppure per la scrittura
d’intere pagine, a seconda dei
casi. Semplificano la scrittura
di codice HTML, CSS, DHTML,
JavaScript e così via, controllando in automatico la sintassi
dei comandi, evidenziando graficamente (a colori) i comandi
Editor visuali
commerciali
P
Editor visuali
semplificati
Capacità di spesa
Gli editor HTML testuali sono una necessità imprescindibile sia per chi comincia, così da poter disporre di
una palestra in cui imparare, sia per chi è già esperto, per non perdere controllo sulle pagine. Offrono
tuttavia una produttività bassa, a meno di essere virtuosi della tastiera.
Gli editor visuali (FrontPage, Web Editor e così via) sono una naturale evoluzione per chi vuole guadagnare
velocità, soprattutto nella stesura iniziale del sito.
Gli ambienti grafici integrati (Macromedia Dreamweaver, Adobe GoLive) offrono alta produttività e controllo
sull’intero sito a chi ha già esperienza e una discreta capacità di spesa
e i tag (marcatori) HTML rispetto al testo che costituisce
il contenuto informativo della
pagina (rappresentato solitamente in nero). Di solito prevedono finestre guidate per l’inserimento dei più comuni tag
HTML (marcatori di formattazione), di script già pronti e di
moduli (form), frame (finestre
multiple nella pagina) e tabelle.
Tra le funzioni tipiche abbiamo
anche l’anteprima all’interno
di uno o più browser, per verificare l’aspetto finale della pagina, il controllo dei link interni
ed esterni, la riduzione automatica delle ridondanze e il trasferimento verso server remo-
Gli editor presentati in questo numero
Programma
1st Page 2000
Arachnophilia 5.0
HTML-kit
Macromedia Dreamweaver MX
Stone's Web Writer 3.5.2
Top Dawg 2.6
WebPag-Wiz 1
Xoology Coda 2.4
5/88
Tipo
editor HTML testuale
editor HTML testuale
editor HTML testuale
ambiente grafico integrato
editor HTML testuale
editor HTML testuale
editor visuale
editor visuale
Distribuzione
freeware
freeware
freeware
demo
freeware
freeware
freeware
freeware
Reperibiità
nel CD
nel CD
sul Web
nel CD
nel CD
nel CD
nel CD
nel CD
Lingua
inglese
inglese
inglese consigliato
italiano consigliato
inglese
inglese
inglese
inglese
ti. Sono spesso gratuiti, ma ne
esistono anche versioni commerciali di costo relativamente
ridotto. Sono utilissimi per farsi le ossa e per correggere rapidamente pagine già esistenti.
Servono anche per ispezionare
le pagine prodotte con pacchetti più complessi al fine di
controllarne la correttezza.
Il fatto di dover scrivere tutto a mano, o quasi, ne riduce
l’utilità. La produttività scende
e aumenta le possibilità di errore, di conseguenza il Webmaster finisce per affiancarli o sostituirli con editor grafici che
automatizzano gran parte della
generazione delle pagine e di
interi siti e che permettono di
“impaginare” i contenuti lavorando col mouse e osservando
immediatamente i risultati, anziché digitare centinaia di righe
sulla tastiera e fare continue
anteprime all’interno del browser. Alcuni Webmaster veterani
comunque si limitano a usare i
semplici editor di testo, facendone un punto di orgoglio, anche perché “scottati” dalle pri- 1a lezione
Gli strumenti di lavoro presentati nei prossimi numeri
Programma
Adobe GoLive 6.0
CoffeeCup HTML Editor 9.6
HomePage +
Hot Metal Pro 6.0
Microsoft FrontPage 2002
Namo Web Editor 5
TopStyle Pro 3
Tipo
ambiente grafico integrato
editor HTML testuale
editor HTML testuale
editor HTML testuale
editor visuale
editor visuale
editor HTML testuale
me edizioni degli editor grafici
che avevano la pessima abitudine di inserire codice ridondante o addirittura errato, costringendo a lunghi lavori di
pulizia a mano, che finivano
per richiedere più tempo di
quanto ce ne sarebbe voluto
per scrivere la pagina da zero,
riga per riga.
Tra i completamente gratuiti, abbiamo selezionato: Aracnophilia, Firstpage 2000,
HTML Kit, Stone’s Web Writer,
Top Dawg, Xoology Coda; tra i
prodotti a pagamento o shareware abbiamo invece selezionato CoffeCup HTML Editor, Home Site, Hot Metal Pro,
TopStyle Pro 3.0.
Editor visuali semplificati
Offrono funzioni di “impaginazione” interattiva: il programma genera automaticamente il codice necessario per
produrre la sezione di pagina
dopo che l’abbiamo disegnata
sullo schermo pemettendoci,
poi, di modificarla a mano in
una finestra separata che mostra le righe di codice HTML,
JavaScript, ASP e così via.
È possibile inserire il testo e
le immagini di contenuto direttamente nella pagina visualizzata in anteprima, senza correre il rischio di alterare i marcatori in cui sono contenute e osservando immediatamente il risultato. Questi programmi
spesso integrano anche funzioni per la ricerca automatica de-
gli errori e di trasferimento a un
server remoto. Sono indispensabili come base minima di lavoro per garantire una buona
produttività e per semplificare
la gestione degli script e delle
pagine complesse, oltre che di
interi siti. Ne esistono diverse
edizioni gratuite, ma non ce la
sentiamo di consigliarle perché, a differenza degli editor di
solo testo, questi programmi
possono effettivamente rovinare una pagina già ben costruita
in partenza e costringervi a lunghe operazioni di correzione
manuale.
L’unico prodotto gratuito di
caratura professionale che si
può segnalare in questa categoria è Microsoft Web Matrix,
che s’indirizza in particolare a
chi prevede di lavorare su siti
dinamici dove sia necessario
affiancare all’HTML anche funzioni di programmazione e linguaggi di scripting.
In alternativa, conviene
orientarsi verso una soluzione
commerciale garantita da una
software house che già operi in
questo mondo da tempo e che
offra anche continui aggiornamenti per tenersi al passo con
gli standard. I due campioni di
questa categoria sono Namo
Web Editor e Microsoft FrontPage 2002.
Quest’ultimo, rispetto alle
versioni precedenti, ha raggiunto una vera caratura professionale, pur mantenendo la
proverbiale facilità d’uso.
Segnaliamo in chiusura di
questa categoria Easy Web Editor, un programma in italiano
che consente di creare pagine
Web semplicemente disegnandole al video, senza scrivere
nemmeno una riga di HTML
(www.visualvision.it). Molto indicato per chi vuole produrre
un sito personale senza dover
studiare, non è consigliato invece ai Webmaster, visto che il
sito viene costruito in formato
proprietario e, solo alla fine,
esportato in formato HTML,
perciò non è possibile esercitare un controllo dettagliato su
quel che succede.
Ambienti visuali integrati
Al terzo livello della scala
troviamo gli unici due prodotti
che hanno conquistato, negli
ultimi anni di grande crescita
del Web, la statura di riferimento per i Web Master professionisti:
Macromedia
Dreamweaver e Adobe GoLive. Oltre a riunire tutte le funzioni di impaginazione grafica
delle pagine di gestione integrali dei siti, con tutti gli automatismi per il controllo e la validazione degli stessi, questi
due prodotti hanno anche sviluppato collegamenti diretti
con altre applicazioni dello
stesso produttore al fine di costruire veri e propri ambienti di
sviluppo integrati dove Webmaster, Web developer e Web
designer possano condividere
tutti la stessa famiglia di prodotti beneficiando di un facile
scambio dei vari sottoprodotti
che vanno a comporre il sito.
Ancora più interessante per
il Webmaster, questi prodotti
gli consentono d’intervenire
con rapidità ed efficacia su
qualsiasi componente del sito
Web, utilizzando un solo strumento che conoscono bene,
anziché dover ricorrere a ogni
genere di utility e di mini-pro-
grammi complementari.
Macromedia MX, la versione più recente del prodotto,
costituisce oggi la fusione di
ben quattro programmi diversi
e permette di spaziare dalla
produzione di siti statici alla
programmazione avanzata, integrandosi con Fireworks MX
e Flash MX per le componenti
creative, e con Cold Fusion MX
per la componente programmatica sul server.
Adobe GoLive 6.0 dialoga invece con PhotoShop 7.0 e ImageReady (per l’ottimizzazione
delle immagini per il Web), con
InDesign per l’integrazione tra
editoria sul Web ed editoria
cartacea, con Premiere per la
gestione del video.
Benché saranno ben pochi i
Webmaster che si troveranno a
utilizzare tutti questi strumenti
e saranno ancora meno quelli
che li utilizzeranno per partire,
è importante capire che tanto
Dreamweaver quanto GoLive
costituiscono punti di arrivo
irrinunciabili per lo sviluppo e
la manutenzione di siti come
professione. Dreamweaver è il
più diffuso e il più “tecnico”.
S’indirizza al Webmaster e al
Web designer che abbiano anche vocazioni di programmatore. GoLive è invece un prodotto
di natura più “editoriale”, destinato a chi debba gestire gli
stessi contenuti sul Web e sulla
carta e abbia uno spiccato
background creativo.
Entrambi costano cari, ma si
ripagano ampiamente nell’uso
intensivo. Mettete in conto un
sensibile sforzo di apprendimento per entrambi, visto che
sono ormai diventati giganteschi e ricchissimi di funzioni.
A loro beneficio, indichiamo
che funzionano su piattaforme
diverse (Windows, Mac) e integrano spesso anche ottimi
strumenti tutorial per imparare
cammin facendo.
In esclusiva per i lettori: dominio scontatissimo e uno spazio di hosting gratis!
Avete trovato interessante il nostro
corso e volete prepararvi a mettere
alla prova le competenze acquisite?
Per farlo avrete bisogno di uno spazio
vostro sul Web, dove potervi
esercitare nello sviluppo di siti
campione su server reali.
Ecco quindi la nostra iniziativa, che
nasce in collaborazione con
Register.it, il più importante registrar
in Italia: nei prossimi mesi avrete a
disposizione gratuitamente per un
6/88
mese l’uso di uno spazio di hosting
dedicato, oltre ad una serie di altri
servizi supplementari. In più, dal
momento che per poter usare lo
spazio di hosting è necessario
disporre di un dominio, i lettori di PC
Open in esclusiva potranno
acquistare da subito il proprio
dominio presso Register ad un
prezzo scontatissimo (40% in meno,
lo sconto più alto oggi disponibile
sul mercato). Il metodo è
semplicissimo: dovrete collegarvi al
sito http://we.register.it/pcopen
oppure al sito www.register.it/pcopen,
inserire il codice segreto x6Wa3P nel
box all’interno della pagina e verrete
inviati alla home page del sito di
Register, da dove le registrazioni
verranno scontate in automatico del
40%. Le registrazioni saranno
comprensive di tutto quanto è indicato
all’indirizzo http://we.register.it
/domains/allincluded.html.
1a lezione
3 Per chi vuole approfondire: i libri consigliati
INDISPENSABIL
E
La “bibbia del Web designer” propone
l’esperienza e i consigli di uno tra i
progettisti che hanno fatto la storia del
Web: Jeffrey Veen. Il libro vi parla di
interfaccia, struttura e comportamento
delle pagine. Altamento informativo, un
classico.
Apogeo, 235 pagine, 35 euro.
INDISPENSABIL
Indirizzato ai designer della
transizione dalla carta a Web. Spiega
concetti base utili a tutti, ma in
particolar modo a chi è già esperto nel
governare un strumento passivo come
la pagina stampata e deve entrare nel
mondo dinamico delle pagine HTML.
Hops, 442 pagine, 35,12 euro.
Tutorial per Webmaster alle prime
armi oppure con modesta esperiernza.
Offre un sunto di molti aspetti
operativi utili nella produzione di un
sito, spiegati con illustrazioni ed
esempi. Facile da leggere, anche in
pillole. Manca il perché delle cose.
Jackson Libri, 616 pagine, 44 euro.
E
Riferimento indiscusso sulla sintassi e
la tecnica della versione più recente
del linguaggio HTML. Un libro che il
Webmaster professionista deve
possedere e conoscere, anche se non
tutte le informazioni sono essenziali e
alcuni strumenti sono datati.
Apogeo, 837 pagine, 45,45 euro.
INDISPENSABIL
Introduzione elementare alla
produzione di pagine HTML. Fornisce i
rudimenti del linguaggio per chi vuole
produrre un sito personale oppure
prototipale. Un po’ datato invece per
un impiego professionale: mancano i
riferimenti ai fogli di stile. Jackson
Libri, 334 pagine, 25, 31 euro.
Guida complementare al “Web Design
Arte e Scienza” di Veen. Costituisce un
buon manuale pratico per la
produzione dei più comuni elementi
che costituiscono un sito, con anche
po’ di teoria. Accessibile a tutti,
consigliato ai neofiti.
Apogeo, 290 pagine, 20,14 euro.
INDISPENSABIL
Standard e tecniche concentrati in
poche pagine con cenni sintetici che vi
portano dalla navigazione, all’usabilità,
all’accessibilità, passando per nozioni
sulla percezione dei colori e sull’uso
del linguaggio XML. Utile riepilogo per
chi sa già come fare. Tecniche Nuove,
212 pagine, 18,80 euro.
7/88
Usabilità nel redesign. Ecco la
seconda opera di Jackob Nielsen, al di
sotto delle aspettative, ma utile per chi
sta affrontando il redesign di un sito
complesso e vuole trarre spunto
dall’opera altrui. Il libro è più un elenco
di cose da non fare che da fare.
Apogeo, 310 pagine, 45 euro.
Guida alla riprogettazione di un sito
con indicazioni pratiche e numerose
illustrazioni. Perfetto per il consulente
che si propone di migliorare il lavoro
altrui o perfezionare il proprio
approccio progettuale, dalla definizione
della struttura al lancio.
Apogeo, 245 pagine, 36 euro.
E
Design e usabilità all’italiana. Più
concreto dei manuali di usabilità e più
ampio nei temi rispetto a un semplice
testo di design. Offre l’eperienza
completa di una progettista
professionale italiana che mette in
prospettiva le cose davvero importanti.
Hops, 236 pagine, 18,60 euro.
E
Master di usabilità. Non si può parlare
di usabilità dei siti Web senza aver
letto questo classico, che alcuni
amano e molti odiano per il totale
“integralismo” dimostrato dall’autore,
universalmente riconosciuto come
l’iniziatore di questa disciplina.
Apogeo, 418 pagine, 40,28 euro.
Quaderno di progetto in grande
formato, già pronto per accogliere le
note che costruirete durante il vostro
lavoro con un ipotetico cliente e che vi
porterà, attraverso le fasi principali, a
un progetto completo. Utile traccia per
i consulenti del Web.
Hops, 70 pagine, 25,31 euro.
1a lezione
Dalla progettazione al lancio: come nasce un sito
rima di mettere mano alle
pagine e alla scrittura di
marcatori HTML, è necessario definire la struttura del sito e la funzione dei diversi elementi che saranno nella pagina.
Questa fase precede anche la
stesura delle bozze grafiche che
traducono in colore e immagini
ciò che si è già ideato schematicamente sulla carta.
P
La progettazione
Esistono tanti modi per progettare un sito quanti sono i
progettisti, ma l’esperienza degli ultimi anni dimostra che la
sequenza ricorrente e forse ottimale segue queste fasi: raccolta delle informazioni sugli
scopi del sito ed eventuale analisi della concorrenza, costruzione di una mappa del concettuale sito (disegno schematico),
assemblaggio e sistematizzazione dei contenuti, definizione di
un sistema di navigazione, definizione della struttura di pagine
e interfaccia, assemblaggio del
tutto in una sequenza che “racconti” il sito (storyboard), prototipo di sito navigabile che mostri dal vivo lo storyboard, progetto grafico e multimediale,
progetto dinamico che definisca il tipo d’interazione che il sito avrà con l’utente e che stabilisca quali elementi di programmazione sarà necessario aggiungere, incluso l’eventuale
collegamento a un database
che contenga i dati da visualizzare nelle pagine dinamiche.
La realizzazione
Terminate queste fasi progettuali, si passa alla produzione
vera e propria, realizzando i
template, vale a dire la pagina
campione, senza contenuti, da
cui è possibile produrre molte
altre pagine ciascuna con contenuti propri. Il template è una
sorta di “modello” o “stampo”
da cui ricavare molte pagine
singole che avranno uniformità
visiva tra loro.
Una parte determinante nella
fase di produzione prima del
lancio è la formattazione dei
contenuti, vale a dire la raccolta
di tutte le informazioni che dovranno essere presenti sul sito
al momento dell’avvio e il loro
montaggio all’interno di pagine
HTML statiche oppure il loro inserimento e catalogazione all’interno di un server. Spesso si
sottovaluta l’impegno richiesto
da questa attività, di per sé semplice, ma gravosissima in ragione della grande quantità di elementi che vanno elaborati e dall’impossibilità di averli tutti in
un formato omogeneo fin dalla
partenza. I contenuti arriveranno infatti dalle fonti e nelle forme più disparate: molto di questo lavoro, alla fine peserà sul
Webmaster, sul Web editor e sul
Web designer oppure sull’operatore grafico.
Il test
La fase successiva è naturalmente quella di test. È raro che
ci sia abbastanza tempo per
condurla come si deve, ma è comunque necessaria per mettere
alla prova il sistema di navigazione e il sito in generale. Quando si riesce a coinvolgere nel test utenti estranei alle fasi di progettazione, si riesce a mettere in
evidenza i classici errori che finirebbero per mandare in tilt il
sistema se commessi da un navigatore reale.
Il lancio
Consiste di solito in un’attività frenetica per correggere all’ultimo minuto i difetti riscontrati durante la fase di test e per
caricare i contenuti finali prima
della partenza ufficiale, di solito
accompagnata da una qualche
attività di pubblicità.
Il mantenimento
Segue, infine, la fase di mantenimento dove si correggono
gli errori della fase di lancio e si
attivano le procedure per consentire ai gestori del sito di aggiornarlo gradualmente e per
mantenerlo stabile al crescere
del numero dei navigatori. Questa è la fase più delicata e pesa
fortemente sulle spalle del Webmaster a cui viene richiesta
grande esperienza nel riconoscere e prevenire eventuali problemi. Qualsiasi intervento deve essere efficace e rapido, poiché è raro poter fermare il sito
per lunghi periodi una volta che
lo si è avviato. È necessaria una
profonda conoscenza della piattaforma su cui il sito è basato
poiché il comportamento dei
server cambia drasticamente al
variare del carico di lavoro. Elementi chiave in tal senso sono il
tipo di server impiegato e il database scelto per l’eventuale attività dinamica.
Fa parte dell’attività di mantenimento anche l’adozione di misure di
prosegue
sicurezza.
(versione integrale
dell’articolo sul CD)
sul CD
n. 65
Fasi di progettazione
Risultato finale
Raccolta delle informazioni sugli scopi del sito
Analisi dell’eventuale concorrenza
Costruzione della mappa
Assemblaggio e sistematizzazione contenuti
Definire un sistema di navigazione
Strutturazione della pagina e dell'interfaccia
Assemblaggio sistematico delle pagine del sito
Prototipo solo testo
Concept del sito (sintesi delle varie idee in una singola intenzione)
Misura delle funzioni/servizi minimi che il sito deve offrire
Struttura concettuale del sito
Catalogazione e priorità delle informazioni
Percorsi chiari per arrivare all'informazione, alberazione sito
Posizione stabile per gli elementi di navigazione in rapporto al contenuto
Storyboard (descrizione, pagina per pagina, del contenuto statico e dinamico)
Un sito embrionale navigabile che mostri lo storyboard in azione (facoltativo,
ma consigliato)
Intercaccia grafica che perfeziona la presentazione e navigazione del sito
Definizione elementi di programma, collegamento eventuale
a database, scelta di Publishing System
Template HTML, elementi di programma lato server e client,
formattazione contenuti
Sito esaminato da utenti "veri"
Sito attivo e pubblicizzato grazie alle attività di marketing
Sito che cresce nei contenuti e nel traffico
Progetto grafico e multimediale
Progetto dinamico
Produzione
Test
Lancio
Mantenimento
8/88
Le risorse
on line
La formazione di un
Webmaster non finisce mai.
Le tecnologie continuano a
evolvere e ci sono
innumerevoli problemi da
risolvere nel lavoro di tutti i
giorni. Ecco alcune risorse
che consigliamo a tutti,
indipendentemente dal loro
livello di competenza. Vi
serviranno per approfondire
durante il corso e oltre:
http://hotwired.lycos.com/
webmonkey/ (uno dei due
siti americani più famosi per
i Webmaster e i Web
developer. Ricco di tutorial,
consigli, moduli già pronti).
http://builder.com.com/
(l’altro sito americano di
riferimento per i Webmaster
e i Web developer, orientato
a i più esperti).
http://www.html.it/ (il sito
italiano “storico” per chi
sviluppa siti e vuole
imparare a fare le cose da
solo. Adesso fornisce anche
corsi a pagamento).
http://www.antiloco.com/
(in italiano, una sorta di
directory di risorse
soprattutto per i Web
developer, ma utile anche ai
Webmaster).
http://www.fare-web.it/
(un riferimento in italiano
ricco di spunti tecnici, ma
anche di attualità)
http://www.fucinaweb.com/
home/ (in italiano, realizzato
da un giovane sviluppatore
che fornisce non solo
consigli di sviluppo, ma
anche indicazioni su temi più
generali come l’interfaccia e
l’usabilità).
http://www.manuali.net/
(sito dedicato agli autodidatti
e alla formazione a distanza
su diversi temi, tra cui anche
lo sviluppo Web).
http://www.scriptando.it/
(sito ricco di consigli e di
tutorial realizzato per
passione da un giovanissimo
Webmaster autodidatta).
http://www.webmasterpoint.
org/home.asp (un sito
italiano di consigli e tutorial
per le cose più semplici).
1a lezione
4 Macromedia Dreamweaver MX,
la nave scuola del Web design
onsiderato nettamente il
più diffuso tra gli strumenti professionali per lo
sviluppo di siti, Dreamweaver
ha da sempre offerto un efficiente ambiente di editing visuale delle pagine capace di
generare automaticamente codice senza alterare quello già
prodotto a mano dallo sviluppatore. Non si tratta di una
prerogativa da poco ed è probabilmente la chiave del suo
successo originale.
Oggi il prodotto si presenta
molto arricchito, di fatto riunisce al proprio interno quattro
applicazioni che prima erano
indipendenti e costituisce la
prima completa integrazione
nei prodotti Macromedia delle
tecnologie acquisite da Allaire,
società americana creatrice di
altri due prodotti celebri nel
mondo dei Webmaster: Home
Site (editor non visuale di elevata caratura) e ColdFusion
Studio (ambiente di programmazione per creare siti con pagine dinamiche).
L’obiettivo fondamentale di
Dreamweaver MX è di fornire
un ambiente capace di soddisfare contemporaneamente le
esigenze professionali di tre figure: Web designer, per la
creazione grafica del sito,
Webmaster per la costruzione
delle pagine vere e proprie e
Web developer per programmare la logica applicativa che
permetta all’utente d’interrogare un database attraverso le
pagine del sito.
C
1
Si tratta perciò del terreno
perfetto per chi già si sente
preparato in uno di questi tre
campi e vorrebbe ampliare le
proprie competenze, diventando, se possibile, un esperto
veramente completo.
Per la precisione, nel nuovo
Dreamweaver MX convergono
il precedente Dreamweaver 4,
con tutte le relative funzioni di
editing visuale, di controllo
centralizzato del sito, di amministrazione delle varie risorse e d’integrazione con le
altre applicazioni grafiche di
Macromedia (Flash e Fireworks); Home Site con le relative funzioni di editing manuale del codice HTML,
XHTML o di qualsiasi altro linguaggio di scripting; UltraDEV
per la programmazione con i
linguaggi di scripting più comuni (ASP, ASP.NET, JSP, PHP)
e ColdFusion studio per progettare applicazioni che usino
il server ColdFusion come interfaccia semplificata nella
produzione di pagine dinamiche create mediante l’interrogazione di un database.
Quest’ultimo in realtà non è
integrato propriamente in
Dreamweaver MX, bensì all’interno di HomeSite+, evoluzione moderna di HomeSite 5, fornito nello stesso CD di
Dreamweaver MX e utilizzabile come strumento di lavoro
rapido per chi è abituato a
operare con il codice di ColdFusion e non ha particolare interesse alla struttura grafica
2
delle pagine. In sostanza, tramite Dreamweaver MX e HomeSite+ aprite le porte a qualsiasi tipo di sviluppo presente
e futuro, con la possibilità di
allargare le vostre conoscenze
sfruttando un ambiente con
interfaccia uniforme e con tutorial di buon livello, integrati.
Come si presenta
Il destinatario principale di
un prodotto come Dreamweaver MX rimane il creatore di siti, Webmaster o Web developer, che ha bisogno di uno
strumento veloce con accesso
immediato al codice e al tempo capace di semplificare le
operazioni mediante automatismi che propaghino qualsiasi
variante all’intero sito. Il programma si basa su tre elementi d’interfaccia: la finestra di lavoro vera e propria, divisa in
due viste, i menu e i pannelli
degli strumenti, e la finestra di
controllo dell’intero sito. Partiamo dalle prime: le due viste
di lavoro principali sono: Codice e Struttura.
Le si può visualizzare alternatamene oppure contemporaneamente così da vedere all’istante come le variazioni
dell’una si propagano nell’altra.
La vista Codice elenca tutti i
marcatori e ne consente l’editing diretto come in qualsiasi
altro editor non visuale, la seconda invece mostra il risultato che tali marcatori produrranno sulla pagina finita, indi-
la demo
sul CD
n. 65
cando anche la struttura dei
vari elementi e le reciproche
relazioni.
Ne permette la manipolazione diretta, tramite mouse e
comandi da tastiera. È possibile “disegnare” o costruire visivamente elementi nella vista
Struttura e osservare al tempo
stesso il codice generato automaticamente nella vista Codice, o viceversa. Alternandosi
tra le due, si acquista una conoscenza molto più profonda
del linguaggio HTML e delle
sue particolarità, e si arriva
anche a produrre sempre più
velocemente risultati di qualità.
Molte delle risorse offerte
dal programma sono proprio
mirate a garantire la qualità
del codice finale e notiamo
una potenzialità didattica notevole: qualsiasi elemento
HTML può essere inserito da
pulsante o da menù, le rispettive caratteristiche sono quindi ispezionabili nella vista Codice, che mostra il tag con tutti i rispettivi attributi, oltre
che all’interno di una finestra
di “proprietà” che è costantemente visibile e mediante la
quale s’interviene sulle proprietà senza toccare il codice
originale. Inoltre le funzioni di
convalida segnalano la presenza di eventuali errori nella
pagina o nel sito e ci portano
direttamente al punto interessato, così da correggerlo e imparare dai nostri errori. Il programma integra anche una nu-
3
Figura 1: La vista Codice di Dreamweaver mostra i marcatori HTML (o di qualsiasi altro linguaggio di scripting) e i relativi parametri ben distinti dal resto del testo mediante colori
chiaramente identificabili. Il programma aggiunge anche rientri differenziati per le varie righe al fine di riprodurre visivamente le varie nidificazioni. Nella barra in alto troviamo icone
suddivise in diversi pannelli per inserire direttamente ciascuno dei marcatori principali. Le icone sono suddivise per tema e ogni tema è raggruppato all’interno di una barra a cui
corrisponde un’etichetta di tabulazione. In aggiunta, tutti gli elementi possono essere inseriti direttamente da menu. Figura 2: La vista Struttura mostra una specie di anteprima
attiva della pagina su cui è possibile intervenire direttamente, mediante mouse e comandi da bottone/menu, modificando gli elementi in modo visivo. I bordi grigi mostrano la
struttura delle tabelle che mantengono ogni elemento in posizione. Figura 3: Prerogativa unica di Dreamweaver è la disponibilità di due viste affiancate e di vedere i cambiamenti
eseguiti nell’una riproporsi immediatamente nell’altra
9/88
1a lezione
trita serie di esercitazioni in
italiano che coprono HTML,
fogli di stile, pagine dinamiche e altro ancora, con esempi
da eseguire di prima mano.
Tanti approcci diversi
per imparare il codice
alla perfezione
Rispetto alle versioni precedenti, Dreamweaver MX consente di spostare e agganciare
(dock) i diversi pannelli di comando all’interno della finestra
a video oppure su un secondo
video, nel caso sia disponibile
sul nostro computer. In tal modo, la pletora di finestre di controllo che accompagnano il
nuovo programma può essere
configurata a piacere, attivando e disattivando selettivamente quel che occorre.
Nel caso si lavori nella vista
Codice, la finestra che contiene
il codice vero e proprio prevede tre modalità distinte d’inserimento manuale dei tag. La prima di tali modalità è anche la
più semplice e consiste nel selezionare dalla barra di comando superiore l’icona corrispondente al marcatore che vogliamo inserire.
Ce ne sono a decine, suddivise per argomento. Se non ci
ricordiamo quale sia il tag idoneo, la seconda modalità consiste nel cliccare su un’icona di
selezione generale che apre un
elenco di selezione dei tag, presi dal database integrato nel
programma. Tale database
contiene la sintassi corretta
per tutti i marcatori standardizzati dei principali linguaggi:
HTML, JavaScript, CSS (Cascading Style Sheets – fogli di stile
in cascata), ASP (Active Server
Pages) e ASP.NET, PHP, JSP (Java Server Page), WML (Wireless Markup Language, per i telefonini) e ColdFusion.
La terza modalità consiste
nel digitare direttamente il
marcatore nella pagina lasciando che Dreamweaver completi
per noi la digitazione non appena ha indovinato di che tag
si tratta. Ciò riduce il lavoro di
battitura e gli errori dovuti a
sviste.
Per il completamento automatico, il programma attinge
sempre dal proprio database
interno che può essere espanso a piacere con l’inserimento
di tag personalizzati.
Una volta digitato il marcatore, le informazioni corrispondenti compariranno all’interno
di due finestre d’ispezione.
10/88
Una, la finestra Proprietà
sempre aperta sulla parte bassa dello schermo, indica i parametri del marcatore e ci permette di modificarli o inserirne
di nuovi usando le sue caselle,
senza dover scrivere nemmeno una riga. Sempre dalla finestra delle Proprietà possiamo
anche definire link ad altre pagine interne al sito oppure a siti esterni, confidando nel fatto
che la sintassi sia sempre corretta.
Qualsiasi variazione è comunque visibile immediatamente nella finestra Codice così da capire meglio quel che
stiamo facendo.
Una seconda finestra d’ispezione, più complessa, denominata appunto “Finestra di ispezione tag” elenca tutti i possibili attributi di quel particolare
marcatore, permettendoci di
modificarli usando menù a tendina e altri supporti grafici.
Perciò, combinando icone,
menù e le due finestre d’ispezione, possiamo generare
un’intera pagina senza nemmeno scrivere una parola direttamente, fino a quando ci
sentiremo abbastanza esperti
per inserire i comandi in prima
persona, fruendo però del controllo e della funzione di completamento immediato fornita
da Dreamweaver.
Dulcis in fundo, il programma incorpora una serie di moduli già pronti per gli usi principali (snippet) da poter integrare nella nostra pagina e da
cui imparare, oltre che ben otto libri interi, forniti da editori
di tutto rispetto come O’Reilly
e Wrox, che descrivono minuziosamente i tag dei principali
linguaggi: HTML, CSS, ASP, JSP,
JavaScript, ColdFusion.
Gli strumenti visuali
per la produttività
Il secondo metodo di lavoro
offerto dal programma è imperniato sulla vista Struttura.
Qui la pagina viene disegnata
come apparirà all’interno del
browser però, a differenza di
una semplice anteprima, tutti
gli elementi sono direttamente
modificabili e si può digitare
testo, inserire immagini, liste,
tabelle, moduli usando le stesse icone e gli stessi menù già
usati nella vista Codice, con la
differenza che qui gli elementi
si posizionano direttamente
nel punto della pagina in cui
vogliamo e il programma ci
mostra visivamente come inte-
ragiscono con gli altri. Insomma, una sorta di videoimpaginazione Web
È cresciuta anche l’integrazione con gli altri strumenti
della famiglia Macromedia, sia
in termini di similitudine d’interfaccia sia in termini di rapidità nel modificare elementi
grafici e Flash mediante la tecnica di “andata e ritorno”.
Qualsiasi oggetto modificabile
con Fireworks MX o Flash MX
può essere aperto direttamente dall’interno di Dreamweaver lasciando che sia quest’ultimo a passarlo temporaneamente in consegna alla nuova
applicazione per poi riprenderselo a opera terminata.
Controllo totale del sito
Fin qui abbiamo incontrato
funzioni che sono comuni anche ad altri editor HTML, anche se non altrettanto sviluppate.
La gestione del sito è invece
una prerogativa classica dei
programmi di fascia alta e
Dreamweaver MX realizza, tramite l’abbinata di due finestre
dedicate, un ambiente completo dal quale non solo esplorare
la struttura del sito, i percorsi
di navigazione e le risorse impiegate, ma anche modificare
parametri globali (propagando le variazioni su tutte le pagine) e manipolare singoli oggetti come immagini, sfondi,
oggetti multimediali, collegamenti, librerie di codice, eccetera. Tramite questo complesso pannello di controllo potete
tenere sempre sott’occhio l’intero sito e quindi eseguire automaticamente gli aggiornamenti necessari sul server così
da mandare in produzione le
varianti collaudate prima localmente.
È possibile anche utilizzare
il pannello Sito per coordinare
il lavoro di più persone, bloccando pagine che voi state modificando affinché altri non le
possano modificare nel frattempo. Per funzionare al meglio, la funzione di coordinamento di gruppo richiede l’acquisto di uno strumento ad
hoc di Macromedia da installare sul server (Sitespring), ma è possibile realizzare sistemi di controllo
elementari anche
utilizzando il pacil corso
chetto di base. prosegue
(versione integrale
dell’articolo sul CD)
sul CD 65
Identikit
Dreamweaver MX è il più diffuso tra i
Web editor professionali.
Costituisce l’evoluzione del precedente
Dreamweaver 4 e raccoglie al proprio
interno anche le funzioni di UltraDev,
HomeSite e ColdFusion Studio. Nasce
per rendere efficiente il lavoro
congiunto di diverse figure
professionali: il Webmaster, il Web
designer e il Web developer, offrendo a
ciascuna una serie di strumenti
completi. È un prodotto complesso che
richiede un certo impegno per poterlo
conoscere e sfruttare a fondo, di
contro offre una quantità notevole di
strumenti per rendere più rapida la
gestione di un intero sito e più precisa
la produzione di pagine statiche e
dinamiche (con elementi di programma
al loro interno). Costituisce anche
un’eccellente base formativa, con
numerose informazioni tutoriali,
strumenti di verifica e costruzione
automatica del codice. Unica nel suo
genere la possibilità di avere due viste
contemporanee della stessa pagina:
una con il codice e una con la struttura
grafica della stessa. È possibile agire
su una qualsiasi delle due,
osservando immediatamente i
cambiamenti riportati nell’altra.
Punti a favore:
- Incorpora le funzioni di quattro
programmi prima separati
- Ottima palestra formativa
- Offre una vista contemporanea sul
codice generato e sulla disposizione
degli elementi sulla pagina
- Consente di unire efficacemente il
lavoro di creatività e di produzione
tecnica
- È disponibile su diversi sistemi
operativi, compreso Macintosh
- Supporta la gran parte dei linguaggi
di programmazione
- Offre ricchi strumenti per la gestione
di un intero sito
- È compatibile con gli standard più recenti
- Si espande gratuitamente attraverso
moduli opzionali
Punti a sfavore:
- Complesso da imparare
- Richiede un computer abbastanza
potente
- Manca un pieno supporto per il
linguaggio Perl
- Il codice generato con gli strumenti
grafici richiede occasionalmente
verifica manuale
Scheda tecnica
Sito produttore: www.macromedia.com
Costo licenza: 589,50 euro, 146,20
per l’upgrade da una versione
precedente.
Macromedia Studio MX, che include
anche Flash MX, Fireworks MX e
FreeHand 10 costa 1150,80 euro,
574,80 per la versione upgrade.
Requisiti: Windows 98SE, ME, NT4,
2000, XP - Power Macintosh 9.2
oppure OS X 10.1.
2a lezione
A scuola con PC Open
Progetto
Web Master
di Roberto Mazzoni
1 Progettare un sito statico
a prima forma di sito che
qualsiasi Webmaster si trova a realizzare è composta
da pagine HTML di contenuto
permanente, organizzate in
una serie di cartelle e legate da
una struttura di link che definisce la cosiddetta alberatura del
sito e ne consente una navigazione ordinata.
Ogni volta che si vuole aggiungere qualcosa, bisogna
creare una pagina ad hoc; mentre per modificare i contenuti
già presenti, diventa necessario agire sulle pagine già pubblicate per mezzo di un Editor
HTML di tipo testuale o grafico,
a seconda delle nostre abitudi-
L
ni e della nostra capacità di
spesa. In buona sostanza, un sito statico contiene solo le pagine che abbiamo individualmente realizzato per la pubblicazione e il navigatore non può
chiedere di vedere informazioni visualizzate in modo diverso
da quello noi abbiamo definito
in tali pagine. In un sito centrato su database, ossia dinamico,
è invece possibile avere una
pagina campione (template) all'interno della quale riversare
al momento le informazioni più
diverse a seconda di quel che
l'utente chiede.
Ciascuna pagina di un sito
statico contiene invece infor-
mazioni e tag HTML mescolati
tra loro, perciò non è possibile
demandare le attività di pubblicazione e di aggiornamento
a persone non tecnicamente
qualificate, poiché, nel cambiare il testo o le immagini, potrebbero inavvertitamente alterare anche i marcatori in cui
questi sono racchiusi, scombinando la pagina.
Esistono tecniche per limitare tali rischi, in ogni caso il sito statico costituisce un impegno importante di manutenzione per il Webmaster, che aumenta al crescere del sito e
che non sempre è possibile farsi remunerare. Per tale motivo,
la tendenza di tutti i progettisti
è di usare le strutture statiche
solo per i siti più semplici, dove gli aggiornamenti siano poco frequenti e di modesta entità, per poi passare, non appena possibile, a strutture dinamiche, centrate su database.
In ogni caso, qualsiasi sito
nasce statico, nella sua forma
di prototipo originale, e si evolve in dinamico con l'aggiunta
della connessione al database
e con la sostituzione di alcuni
tag HTML con tag scritti in uno
dei vari linguaggi di scripting,
perciò il know how su come
realizzare un sito statico interessa tutti ed è anche impor-
IL CALENDARIO DELLE LEZIONI
Lezione 1:
Sistemi di navigazione: impostare la
navigazione del sito in modo che sia
comprensibile, inequivocabile ed efficace.
Competenze e strumenti
(disponibile integralmente
sul CD)
il corso è
• Che cosa fa un Webmaster
sul CD
• Gli strumenti di lavoro
n. 66
• Le figure professionali che
affiancano il Webmaster
• Le risorse on line
• Tecniche di progettazione del sito
Aggiunte inedite alla prima lezione
disponibili solo sul CD di questo
numero:
Organizzazione delle informazioni: una
descrizione dei vari schemi per strutturare
le informazioni di un sito: schemi esatti,
ambigui e misti.
Costruzione della mappa – gerarchia,
ipertesto, struttura lineare: i tre possibili
approcci per l'architettura del sito e le
relative varianti.
Strumenti di navigazione: elementi che i
browser offrono per la navigazione di un
sito e come sfruttarli nella progettazione.
11/88
Sistemi di labeling: come scegliere
correttamente le "etichette" che
identificano i vari elementi di navigazione.
Lezione 2:
• Spiegazione dei tag HTML per una
pagina vergine
• Esercizi su come creare una pagina
vergine e su come progettare un sito
Le prossime puntate:
Siti statici e linguaggio HTML
Progettare un sito statico: definizione
della struttura, domini reali e virtuali,
collegamenti assoluti e relativi.
Progettare la pagina: modelli di pagina,
la caduta della “piega”, tecniche di
impaginazione, usabilità e accesso.
Pagine HTML e marcatori: sintassi del
linguaggio, formattazione, tag.
Strutturare i contenuti della pagina:
tabelle, frame e form.
Adobe GoLive 6.0: le caratteristiche
dell’ambiente di sviluppo integrato.
contenuti aggiuntivi sul CD
• Versioni integrali e complete degli
articoli pubblicati sulla rivista
Lezione 3:
Modelli di pagine e tabelle
Lezione 4:
HTML 4.01 e CSS
Lezione 5:
Design e multimedialità
Lezione 6:
Siti interattivi
Lezione 7:
Interazione sul server
Lezione 8:
Promuovere il sito
2a lezione
tante sapere come predisporlo
fin dall'inizio alla sua evoluzione dinamica. Un codice HTML
scritto in maniera scorretta
può costringervi a riscrivere
per intero tutte le pagine al momento del passaggio alla modalità dinamica. In questo articolo e nei seguenti cercheremo
quindi di esaminare l'approccio corretto fin dal principio.
Definire la struttura
Il primo passo consiste nel
definire una struttura ordinata
per catalogare le informazioni
da pubblicare (vedi Organizzazione delle informazioni
nella lezione 1). Dopo di che si
traccia una mappa del sito, che
imposti l'organizzazione delle
informazioni in generale (vedi
Costruzione della mappa nella
lezione 1) e si arriva infine ai
percorsi di navigazione (vedi
Sistemi di navigazione nella
lezione 1). Da queste tre attività ricaveremo il sistema di directory che conterrà i vari file.
Nella pratica, infatti, un sito
statico consiste semplicemente di una serie di file distribuiti
in varie directory.
Un sito molto semplice potrebbe avere tutti gli elementi
in una sola cartella, ma se prevediamo un minimo di espansione, sarà opportuno avere
cartelle separate con più livelli
in cascata per tenere ordine
nei contenuti. In effetti, seguendo la mappa tracciata prima, dovremmo avere anche i
nomi e la posizione delle directory, così da replicare fisicamente sul disco, almeno a grandi linee, i percorsi di navigazione previsti per il sito.
La scelta dei nomi delle cartelle e dei file è importante perché ci deve aiutare a ricordare
che cosa ciascuno contiene
senza doverlo aprire tutte le
volte. Scegliete quindi nomi
mnemonici ed esplicativi che
ricalchino le etichette che avete adottato per il vostro sistema di navigazione (vedi sempre Tecniche di progettazione
nella lezione 1).
Il nome delle directory e dei
file costituisce anche un ausilio
al navigatore che li vedrà comparire nella finestra del suo
browser subito dopo il nome
del dominio a cui il sito è abbinato. Una regola importante
nella scelta dei nomi di file e directory è evitare caratteri speciali che possano essere incompatibili con il sistema operativo del server.
Poiché quest'ultimo può variare, ci conviene adottare un
approccio che renda i nostri file compatibili con Windows,
Windows NT/2000 e con
Unix/Linux. È facile, basta mantenere i nomi brevi ed evitare
l'uso di spazi bianchi (sostituiteli con un tratto di sottolineatura o con un trattino).
Evitiamo anche l'uso di qualsiasi vocale accentata (sia
maiuscola sia minuscola) e dei
seguenti caratteri speciali: < , ;
: > " ' * / \ & ! % ? = # () [] + il
punto fermo è ammesso, ma
può provocare confusione in
Windows perciò usatelo solo
come separatore tra il nome e
il suffisso obbligatorio e non
aggiungete mai più di un suffisso in cascata. Conviene evitare
anche l'uso del segno del dollaro ($) e di qualsiasi caratte- “Ho trovato lavoro
grazie a PC Open”
Ci incontriamo allo Smau: è
sempre una sensazione strana
vedere finalmente qualcuno con
cui si è intrecciata una relazione
via Internet. Nei mesi cerchi di
immaginarlo e poi eccolo lì
davanti a te, in carne e ossa.
Ed ecco Beatrice Demont, la
BeaBea della community di Pc
Open, ventinove anni, solida e
determinata, una ragazza che
alla tastiera del pianoforte ha
preferito quella del computer.
Infatti spiega:“Nasco come
maestra di pianoforte,
diplomata al Conservatorio di
Genova, la mia città. Ma dopo
un po’ di tempo (e di tentativi),
mi rendo conto che in ambito
musicale non ci sarebbero state
speranze, quindi decido di
iscrivermi all’università, alla
Facoltà di Lingue”. Prosegue gli
studi con successo fino al
giorno fatidico in cui si incaglia
in un computer. “Mi hanno
chiesto di fare una ricerca su
Internet: immediata la mia
risposta - cos’è?-. Mi piazzano
davanti a un PC nel laboratorio
di facoltà e mi dicono come si
accende. Fine. Intorno a me
matricole chattano, scambiano
e-mail con tutto il mondo,
scorazzano sulla Rete: invidia,
quindi ferocia...decido che devo
imparare”. Parte dal computer,
lo acquista, prende una “sola”:
“un chiodo, il commerciante mi
aveva fregato. E ora che ci
faccio?”. Un suo amico le
consiglia di acquistare PC
Open.“Da quel
momento ho
iniziato a
studiare sulla rivista.
Contemporaneamente
preparavo l’esame di
informatica con il professor
Parodi, che richiedeva come
esercitazione la costruzione di
un sito Web. Partivo da zero, ma
con costanza, prima imparando
a utilizzare bene Office poi
programmi come Arachnophilia,
e Front Page, nel giro di sei
mesi ho preparato l’esame,
creato il sito e preso 30 con
tanto di stretta di mano del
professore e offerta di lavoro in
facoltà appena se ne sarebbe
verificata l’opportunità”. Che si
è concretizzata proprio in questo
mese: attualmente Beatrice fa
una sostituzione come
assistente e-learning al Centro
Linguistico Multimediale di
Interfacoltà (Climi) e al Centro di
Teledidattica dell’Università di
Genova. Il suo sogno? Rimanere
in facoltà e aprire un centro
studi ricerche volto allo scambio
di informazioni letterarie e
critiche tra Italia e Francia.
Fondamentali per questo, le sue
competenze informatiche e
ovviamente linguistiche. E, come
ci si poteva aspettare da lei, non
ha certo perso tempo: visto che
Genova nel 2004 sarà Città
della Cultura, ha già inviato il
progetto alla Provincia. BeaBea,
noi di PC Open facciamo il tifo
Daniela Dirceo
per te!
GLOSSARIO
MARCATORE (markup) è una
porzione d'informazione che si
aggiunge in testa e in coda a un
blocco di testo per determinarne i
confini, definirne la natura ed
eventualmente l'azione da compiere
su di esso. Il marcatore non fa parte
del contenuto della pagina, bensì
aggiunge semplicemente informazioni
relative a tale contenuto e viene
rimosso dal browser prima della
visualizzazione finale della pagina
sullo schermo del navigatore.
Alcuni marcatori vengono direttamente
rimossi da server prima ancora di
spedire la pagina al browser, nel caso
in cui il marcatore indichi un'azione
che deve essere compiuta sul server.
I marcatori più conosciuti sono quelli
del linguaggio HTML, ma esistono
12/88
molti altri linguaggi basati su
marcatori, in particolare i vari
linguaggi di scripting da usare per
inserire azioni nella pagina Web.
TAG (etichetta) l'indicazione d'inizio
e di fine che si usa per delimitare
l'efficacia di un marcatore, spesso
usata come sinonimo di quest'ultimo.
Qualsiasi tag inizia con i simboli "<"
oppure "</" e termina con i simboli
">" oppure "/>". Molti tag HTML
sono binari, vale a dire operano a
coppie e richiedono un tag di apertura
e un tag di chiusura per completare la
marcatura. Solo il tag di apertura può
contenere attributi e valori.
ATTRIBUTO (attribute)
è una delle caratteristiche che
indicano in che modo applicare il tag
al contenuto e che viene indicata nel
tag di apertura di una qualsiasi
coppia di tag che consenta attributi.
Ad esempio <h1> è il tag che
identifica un titolo e si chiude con il
corrispondente tag </h1>. Possiamo
modificare il tag di apertura
aggiungendo un attributo che
determina l'allineamento del titolo:
align. Uno dei valori da esso
consentiti è right. Perciò <h1
align="right">Titolo allineato a
destra</h1> produrrà un titolo
allineato a destra. Notate che il valore
di un attributo deve essere sempre
compreso tra virgolette. Questa
regola non è imposta dai browser
moderni, ma diventa essenziale per
una futura conversione verso XML.
ELEMENTO (element)
corrisponde, in HTML, alla
combinazione del tag di apertura,
degli eventuali attributi, del tag di
chiusura e del testo racchiuso tra i
tag. Perciò la scritta:
<h1 align="right">Titolo allineato
a destra</h1> nel suo insieme
costituisce un elemento.
IDENTIFICATORE (identifier)
è il nome del tag, vale a dire la parola
inglese o lettera che compare
all'interno dei simboli < >.
Nell'esempio sopra l'identificatore è
h1.
CONTENUTO (content) qualsiasi
cosa presente nella documento che
non costituisca un marcatore.
2a lezione
re particolare, mantenendosi
in sostanza all'interno delle lettere primarie dell'alfabeto, i numeri, il trattino e la sottolineatura.
Le virgolette doppie (") sono
pericolose anche quando usate
all'interno del testo perché
vengono normalmente utilizzate da HTML e dai linguaggi di
scripting per passare i parametri di un comando. Sostituitele
sempre con il codice equivalente previsto da HTML
(") e fate altrettanto con i
caratteri speciali e le vocali accentate.
Nella definizione dei nomi di
file, prestate anche attenzione
all'impiego delle maiuscole e
delle minuscole, irrilevanti per
Windows, ma riconosciute da
Unix/Linux. Anche la lunghezza
dei nomi è importante. Il DOS è
limitato a 8 caratteri di nome e
3 caratteri di suffisso, il Macintosh si ferma a 31 caratteri,
Windows dalla versione 95 in
avanti consente di usare 255
caratteri e lo stesso vale per
Unix. Alcuni consigliano di
mantenersi entro i vincoli del
DOS, al fine di essere compatibili con tutti, ma ciò finisce per
rendere il nome illeggibile. Probabilmente l'approccio migliore è di mantenersi al di sotto
dei 31 caratteri e usare ovunque possibile caratteri minuscoli per i nomi dei file e delle
directory, in tal modo il sito potrà spostarsi su macchine Windows, Macintosh o Linux senza
problemi.
È anche importante rispettare i suffissi che seguono i nomi
dei file e che permettono al
browser di riconoscerne la natura e di trattarli di conseguenza. I più comuni sono .HTM o
.HTML per le pagine in generale. I due sono intercambiabili in
Windows, e su gran parte dei
server Unix e Linux di recente
concezione, a meno che siano
stati configurati altrimenti. Macintosh usa in modo nativo il
suffisso .HTML per il lavoro in
locale perciò consigliamo di
usare sempre quest'ultimo,
quando possibile. Per le immagini i suffissi riconosciti dai
browser sono .JPEG e .JPG per
le fotografie, Graphics Interchange Format (.GIF) per la grafica a 256 colori e Portable
Network Graphic (.PNG) per
grafica e foto, anche se quest'ultimo è tuttora poco diffuso.
Il nome della home page,
cioè della prima pagina del sito,
è determinante perché va riconosciuto automaticamente dal
particolare sistema operativo
La struttura gerarchica
di un sito
Qui vediamo la mappa abbozzata di una porzione di sito, a partire dalla home page
(index.html) per scendere verso le pagine singole che compongono una lezione del
corso. La mappa è stata realizzata mediante lo strumento di disegno siti di Adobe
GoLive 6.0 che consente di tracciare i contenuti del sito con tutte le relazioni prima
ancora di aver creato una singola pagina. Una volta che la mappa è definita, il
programma genera tutte le pagine e le directory necessarie a rappresentarla.
13/88
presente sul server e
inviato al navigatore
quando costui digita
l'indirizzo del sito
senza indicare una
pagina in particolare.
Il nome di questo file
"indice" è index.htm
o index.html per i server Unix e Linux, e
diventa default.htm o
default.asp, nel caso
di Internet Information Server di Microsoft, con la possibilità di riconoscere
anche index.htm e index.asp (.ASP è il suffisso delle pagine dinamiche realizzate
con Active Server Pages). Può assumere
anche altri nomi come main.htm, welcome.htm e home.htm a
seconda del server
Ecco come si traduce sul disco la struttura a
impiegato.
directory per realizzare un sito che contenga gli articoli
L'amministratore di questo corso per Webmaster. Notate che,
di sistema può confi- trattandosi di un sito statico, abbiamo raggruppato gli
gurare il server in articoli in base all'argomento e li abbiamo inseriti in
modo da riconoscere una directory di nome esplicativo. Anche i nomi dei file
tutti questi tipi, ma è sono di tipo esplicativo. Non abbiamo seguito la
convenzione di scrivere tutto in minuscolo per renderli
sempre bene verifi- più facili da capire nell'immagine. Qui la vista
care e regolarsi di strutturate delle cartelle è tratta dalla finestra di
conseguenza. Le al- Esplorazione sito di Dreamweaver MX
tre pagine possono
avere un nome a piacere, an- tre, copiando l'intera cartella
che se c'è chi consiglia di crea- siamo sicuri di aver trasferito
re dei file index.html anche per tutto ciò che serve. Come vele home page di secondo e ter- dremo più avanti, un beneficio
zo livello. Infatti in server cerca ulteriore di raggruppare nella
automaticamente tale file ogni stessa cartella tutti gli elemenvolta che digitiamo un indiriz- ti necessari è la semplificaziozo che finisca con il nome di ne dei link.
Le immagini che invece sono
una directory senza specificare
nient'altro, ad esempio www.di- comuni all'intero sito (loghi,
gifocus.it/prodotti/fotocamere, icone, pulsanti) si trovano di
e nel caso non lo trovi visualiz- solito in una cartella unica, imza in alcuni casi una propria pa- mediatamente sotto la root del
gina indice composta di un sito e accessibile da tutte le alelenco dei file e delle cartelle tre pagine. In tal modo saremo
comprese in quella particolare sicuri di avere una singola copia di ciascun elemento grafico
directory.
e di poterla modificare a piaceCollocare i file grafici
re sapendo che la variazione
e multimediali
sarà immediatamente disponiPer comodità, le immagini bile in tutto il sito.
abbinate a una particolare paTuttavia, se pensate di congina HTML vengono spesso vertire il vostro sito da statico
collocate nella stessa directory a dinamico, diventa opportuno
che ospita la pagina creando collocare in una directory uniun sistema di cartellette diviso ficata anche tutte le immagini
per argomenti oppure per pe- di contenuto, indipendenteriodi temporali, a seconda del mente da dove si trovi la pagitipo di contenuti del sito. In tal na a cui si riferiscono. Ciò commodo, tutti i contenuti relativi plicherà i link all'interno delle
a un determinato argomento pagine, ma ci metterà nella
sono raccolti in una singola condizione di usare il database
cartella e quando dovessimo in modo efficiente. Infatti, i siti
aggiungere o variare qualcosa dinamici collocano nel databasapremmo dove cercare. Inol- se solo gli elementi di testo e il
2a lezione
Collegamento assoluto - URL
http:// www.digifocus.it/ testlabs/ testlabs.html
protocollo
nome a dominio
che punta al sito
percorso delle
nome della pagina che
directory a partire vogliamo raggiungere
dalla homepage
Un collegamento assoluto corrisponde all'indirizzo univoco di una pagina, ossia URL (Uniform Resource Locator). La prima parte
dello URL contiene solitamente il dominio abbinato al sito su cui la pagina è residente, seguono immediatamente dopo le eventuali
directory da attraversare prima di arrivare alla pagina, prendendo a riferimento di partenza la directory radice (root) del sito entro cui
si trova la home page
nome delle immagini relative,
sapendo che sono tutte collocate nella stessa directory.
Se metteste nel database
ogni file grafico per intero finireste per appesantire il sistema
e rallentare il sito, se invece doveste codificare nel database,
oltre al nome dell'immagine,
anche la relativa posizione, finireste per complicarvi la vita
e vincolare il database a una
particolare struttura di directory. Nei siti dinamici, tra l'altro, gran parte delle directory
scompare poiché esistono pochissime pagine precostituite,
solitamente di servizio, perciò
il grande "calderone" comune
per le immagini è obbligato.
Tornando ai siti statici, è
consigliabile in ogni caso utilizzare due directory separate
per le immagini di servizio del
sito (loghi, elementi grafici della pagina, bottoni) e per le immagini di contenuto. In questo
modo chi lavora al mantenimento del sito (Webmaster)
potrà operare senza toccare le
immagini di contenuto e il content editor o content manager
potrà aggiungere immagini fotografiche e disegni senza cancellare inavvertitamente elementi grafici essenziali per la
costruzione dell'intero sito.
Inoltre entrambi potranno
trovare le proprie immagini al
volo, senza rovistare in mezzo
ad altri file di cui non conoscono il contenuto. I file multimediali, ossia audio e video, vengono spesso inseriti nella stessa directory che contiene le
immagini, tuttavia vale la pena
di prevedere un cartelletta a
parte, se non altro per ordine.
in modo gerarchico, lineare o
completamente libero (ipertestuale) come descritto nei vari
sistemi di organizzazione delle
informazioni (vedi Tecniche di
progettazione nella lezione 1).
Il sito stesso poi è accessibile
sul Web per mezzo di un indirizzo universale, detto Uniform
Resource Locator (URL), che
identifica il particolare server
che lo sta ospitando. Nella pratica, lo URL digitato dal navigatore non riflette quasi mai l'indirizzo del server in quanto tale, perché quest'ultimo è spesso complicato da ricordare oltre che fuorviante. Infatti il server può avere i nomi più astrusi (assegnati solitamente dal
provider per proprio uso interno) e il sito medesimo può trovarsi in qualche subdirectory
dal nome ancora più astruso, il
che produce alla fine un indirizzo lunghissimo e difficile da
digitare.
La prassi abituale consiste
perciò nell'acquisire un nome a
dominio che in qualche modo
comunichi l'identità del sito e
che sia anche facile da ricordare e digitare. Il domino è solitamente composto da tre elementi separati da un punto. Il
più importante dei tre elementi di chiama Top Level Domain
e si trova all'estrema destra del
nome a dominio e indica il tipo
di categoria a cui il dominio
stesso appartiene: COM per
commerciale, ORG per le organizzazioni senza fini di lucro, IT
per i domini concessi a persone e società residenti nel territorio italiano. Questa prima
parte del dominio è assegnata
alla gestione di organizzazioni
internazionali che ne definiscono le regole di assegnazione. La seconda spostandosi
verso sinistra contiene il nome
scelto da chi registra il dominio, ad esempio pcopen. La terza parte, sempre spostandosi
verso sinistra, prende il nome
di sottodominio. Spesso non
viene usata e la si riempie con
la dicitura www per indicare
che si tratta di un server che
contiene pagine Web, tuttavia
potrebbe essere utilizzata per
creare infinite variazioni del
dominio che puntino, ciascuna,
a siti separati. Ad esempio, laboratorio.pcopen.it potrebbe
rimandare a un sito specifico
per il nostro laboratorio prove.
Chiude l'elenco l'indicazione
del tipo di protocollo utilizzato
per il trasferimento delle informazioni, cioè l'Hypertext Transfer Protocol, (HTTP), nel caso
delle pagine Web.
Poiché un nome a dominio è
riservato a un solo detentore
su scala mondiale, diventa un
ottimo sostituito per l'indirizzo
del server, al quale viene abbinato in modo invisibile così che
il navigatore digiti il dominio
conosciuto e questo venga tradotto nel percorso per arrivare
al server corretto. Nel caso in
cui il server sia di vostra proprietà, probabilmente il dominio sarà residente sul server
medesimo, tuttavia ciò si verifica di rado e si parla quindi di
dominio virtuale. Vale a dire, il
vostro nome a dominio è conservato su una macchina diversa dal server che ospita il sito,
vale a dire su un computer sempre accessibile via Internet che
rimanda verso il server reale
non appena lo si interroga.
Tale computer solitamente
appartiene alla società a cui
avete affidato la conservazione
del vostro dominio, tecnicamente definita maintainer.
Spesso si tratta di chi vi ha
venduto il dominio in primo
luogo, talvolta è invece l'ISP
che ospita il vostro sito su uno
dei suoi server. La scelta del
maintainer è importante poi- Risoluzione di un indirizzo assoluto - URL
NAVIGATORE
root
URL
directory
di servizio
www.digifocus.it
server del
provider
server che ospita il
dominio (maintainer)
Sito
# 15
home.html
testlabs
testlabs.html
Domini reali e virtuali
La navigazione di un sito avviene per mezzo di collegamenti ipertestuali che indicano
il percorso per passare da una
pagina all'altra. L'interso sito è
unito da questi link, strutturati
14/88
pagina
richiesta
Quando digitiamo un dominio, la richiesta viene inviata a una rete di computer che gestisce una mappa di navigazione globale del
Web, nella quale è indicato l'indirizzo fisico della macchina su cui tale dominio è residente. Spesso quest'ultima è un sistema del
maintainer, cioè l'organizzazione che si limita a ospitare il dominio e tenerlo vivo, senza farlo corrispondere, come da regola, alla
directory radice (root) del vostro sito. Si parla quindi di dominio virtuale che rimanda verso la macchina reale che ospita il sito (ad
esempio il sito # 15) e che fa proseguire alla pagina richiesta dal navigatore
2a lezione
Collegamento relativo diretto
home page
articoli
testo.html
grafica.jpg
link diretto =
“grafica.jpg”
Il collegamento relativo diretto può essere utilizzato quando l'elemento a cui si punta
dalla pagina si trova nella stessa cartella (directory) che ospita la pagina medesima.
È semplice da realizzare e funziona sempre a condizione di mantenere pagina di
partenza e oggetto di destinazione nella stessa cartella, dovunque questa si trovi
all'interno del sito
Collegamento relativo indiretto
(consigliato)
home page
articoli
testi
immagini
grafica.jpg
testo.html
“.. / immagini / grafica.jpg”
link indiretto =
sale di
un
livello
scende
alla
directory
“immagini”
Il collegamento relativo indiretto mette in relazione la posizione della pagina e della
relativa cartella di origine e dell'oggetto di destinazione con la relativa cartella,
tracciando l'intero percorso che bisogna seguire per passare dall'una all'altra.
Cessa di funzionare non appena si sposta uno dei due elementi (origine o
destinazione) all'interno del sito
ché da lui transiteranno tutti
coloro che digitano il vostro
dominio prima di raggiungere il
vostro server e perciò si possono verificare rallentamenti
oppure completa inaccessibilità del sito, anche se questo è
magari perfettamente funzionante.
Affidare il nome a dominio a
chi ve l'ha venduto è la soluzione più rapida e meno costosa, e qualora costui sia anche il
vostro provider, potrete richiedere garanzie sull'efficienza
tecnica del collegamento tra i
due server.
Peraltro tale approccio aumenta i vincoli verso quel particolare provider poiché, nel
15/88
momento in cui voleste cambiare dovreste anche spostare
la posizione del nome a dominio, con inevitabili ritardi di
propagazione degli aggiornamenti sulla Rete e temporanea
invisibilità del vostro sito.
Quando lo digitiamo, il dominio virtuale ci dirotta verso
la macchina server e all'interno
della particolare directory che
il provider ha riservato al nostro sito (lo stesso server infatti contiene quasi sempre diversi siti in directory diverse).
Ciò significa che la home page
del nostro sito non si trova nella root (directory principale)
del server Web che la ospita,
bensì in una cartella due o tre
livelli più sotto. Il navigatore
non vedrà tali livelli accessori,
ma comincerà la navigazione
direttamente dal punto in cui il
si trova la home page del sito e,
sulla finestra del suo browser,
vedrà il nome a dominio seguito dalla serie di directory e sottodirectory che da lì scendono
per portarci alla pagina vera
che abbiamo chiesto. Ad esempio, lo URL http://www.digifocus.it/testlabs/testlabs.html ci
dice che stiamo andando alla
pagina testlabs.html nella directory "testlabs" del sito
www.digifocus.it, indipendentemente da dove tale sito sia
collocato nel server del provider.
Collegamenti assoluti
e relativi
Questo genere d'indirizzo
prende il nome di collegamento assoluto poiché contiene
tutte le informazioni necessarie per arrivare alla pagina senza conoscere il punto di partenza. È il tipo di link che utilizzerete per mandare alla pagina
da un sito esterno oppure dall'interno del testo di una newsletter che spedite ai vostri navigatori abituali per informarli
delle novità. Funziona in qualsiasi circostanza perché è autosufficiente, ma non viene mai
usato per i collegamenti interni
del sito perché ogni volta che
si digita un indirizzo assoluto,
il browser esce dal sito, cerca il
dominio, individua il server fisico corrispondente, ritorna su
quest'ultimo, completa l'indirizzo e ritorna nel sito, con vistosi rallentamenti alla navigazione e congestione del server
che gestisce le richieste del nome a dominio.
Di conseguenza, per i passaggi interni al sito, si usano
collegamenti relativi che indicano le sole informazioni indispensabili per raggiungere il file a partire dalla posizione in
cui ci si trova. Ne esistono di
tre tipi. Chiameremo il primo, il
più semplice, link diretto perché si riferisce alla cartella in
cui già ci troviamo. Prendiamo
l'esempio di un'immagine "grafica.jpg" che si trovi nella stessa directory "articoli" della pagina "testo.html" in cui dobbiamo inserire il link: l'indirizzo relativo diretto contenuto nella
pagina "testo.html" sarà semplicemente = "grafica.jpg".
Nel momento in cui legge
questo indirizzo, il browser sa
che deve cercare il file "grafica.jpg" nella stessa cartella della pagina "testo.html". Supponiamo adesso di avere una directory "testi" e una directory
"immagini" di pari livello entrambe contenute nella directory "articoli" e che la nostra
pagina "testo.html" si trovi appunto in "testi" mentre il file
grafica.jpg sia nella cartella
"immagini".
Dobbiamo usare un link indiretto e dire al browser di
uscire dalla directory "testi" in
cui si trova la pagina
"testo.html", salire di un livello
(mediante il segno convenzionale dei due punti consecutivi
..) , cercare la directory "immagini", ridiscendere all'interno
di questa alla ricerca del file
"grafica.jpg". L'indirizzo relativo diventerà in tal caso = "../immagini/grafica.jpg" e funzionerà solo fintantoché la pagina
di partenza resterà nella posizione attuale all'interno della
cartella "testi". Nel caso in cui
dovessimo spostare la pagina
"testo.html" oppure la cartella
"testi" a un livello inferiore o
superiore, il link smetterebbe
di funzionare.
Per ovviare a tale inconveniente si usa un'altra forma di
link relativo che alcuni definiscono, erroneamente, assoluto, ma che invece noi chiameremo link completo. Si tratta di
un link che non è relativo alla
cartella di partenza, bensì alla
root dell'intero sito. In tal modo il link continua a funzionare
anche nel caso in cui la pagina
"testo.html" fosse spostata in
un altro punto del sito, sempre
a condizione naturalmente che
non si sposti anche la directory
"immagini" a cui il link punta.
La posizione della root è indicata per convenzione da una
barra inclinata (/) perciò il nuovo indirizzo relativo completo
sarebbe = "/articoli/immagini/grafica.jpg".
Attenzione, però, questo approccio presenta un problema
diverso, ossia il browser spesso interpreta come directory
radice l'effettiva root del server, la quale coincide con la
root del sito solo nel raro caso
in cui il server non ospiti
nient'altro, ma che, solitamente, ci spedisce da qualche altra
parte nel caso in cui il nostro
sito sia incapsulato in una directory secondaria del server
ospite come avviene nel caso
di un provider esterno. Infatti il
2a lezione
mascheramento della struttura
di directory del server ospite
avviene solo quando usiamo
l'indirizzo assoluto, completo
di nome a dominio. La prassi
migliore è pertanto quella di
usare link relativi indiretti, facendo attenzione a spostare le
pagine il meno possibile una
volta che il sito è stato svilup-
Collegamento relativo completo
home page
articoli
immagini
testi
scende di
1 livello
grafica.jpg
testo.html
“/ ar ticoli / immagini/grafica.jpg”
link completo =
porta
alla
radice
del sito
scende
di 2
livelli
Il collegamento relativo completo parte dalla radice (root) del sito, vale a dire dalla
directory in cui si trova la home page, per scendere verso la posizione dell'oggetto di
destinazione indicato nel link. Il collegamento è svincolato dalla posizione della pagina
di origine che lo contiene e perciò quest'ultima può essere spostata liberamente nel sito
pato. La gestione di queste problematiche diventa in ogni caso molto semplice nel momento in cui s'impiegano ambienti
di sviluppo integrati come
Dreamweaver MX o Adobe GoLive 6.0 che contengono funzioni per la gestione integrale
del sito.
In tal caso, se spostiamo un
file oppure una cartella da una
posizione all'altra, usando le
apposite finestre di controllo,
verranno aggiornati automaticamente tutti i link che vi fanno
riferimento negli altri documenti, a condizione naturalmente di averli impostato utilizzando le funzioni interne dell'editor e non direttamente a
mano. Ci penserà il programma, infatti, a costruire i link relativi indiretti nel modo più idoneo, togliendoci dall'impiccio,
e a ricostruirli ogni volta che
spostiamo qualcosa.
Copie locali e aggiornamenti
Un sito statico nasce sul
computer di chi lo sviluppa e
viene trasferito a intervalli periodici sul server di pubblicazione, copiando magari solo i
file che sono stati modificati
dopo il precedente aggiornamento.
Per fare in modo che tutto
funzioni a dovere è importante
usare link relativi sulla propria
macchina in modo corretto, ed
è anche importante tenere la
struttura del disco locale identica a quella del server remoto,
altrimenti i link finiranno per
interrompersi. Per il trasferimento delle pagine finite si usa
il protocollo FTP (File Transfer
Protocol) tramite utility specifiche, oppure mediante le funzioni integrate in gran parte
degli Editor HTML commerciali e gratuiti.
I più ricchi tra questi, offrono anche un pannelli di controllo dell'intero sito che consentono di esaminare in dettaglio ciascun elemento, eseguire
simulazioni e verifiche in locale prima dela pubblicazione finale.
2 Progettare la pagina
na volta definita la mappa
del sito e la relativa struttura di directory siamo
pronti a realizzare le prime pagine campione che ci serviranno come modello per l'intero
sito, il template o modello, così
chiamato perché serve da
"stampo" per la costruzione di
tutte le pagine successive. Nel
concreto, il template contiene
l'intero codice HTML necessario per l'ossatura di una pagina
vuota. Avrà quindi gli elementi
di navigazione e gli spazi in cui
inserire successivamente i contenuti (testo e immagini) con
anche le eventuali informazioni
stilistiche (font, colore, sfondo, eccetera). Ogni volta che
sarà necessario produrre una
nuova pagina, basterà copiare
il template, inserire il contenuto e aggiungere eventuali link.
L'operazione può essere eseguita a mano oppure demandata in automatico agli editor che
dispongono della gestione automatizzata dei template. In quest'ultimo caso, ogni volta che aggiorneremo il template, saranno
aggiornati anche gli elementi fissi (navigazione, pie' di pagina,
eccetera) contenuti nelle pagine
U
16/88
prodotte nel frattempo a partire
da tale template.
Lavorare con i template senza un editor che li gestisca in
automatico aggiunge tempo al
ciclo di produzione, ma il template offre il duplice vantaggio
di garantire uniformità a tutte
le pagine del sito e di consentire un più semplice passaggio a
un'architettura dinamica. Quest'ultima infatti si basa unicamente su template ai quali sono stati aggiunti marcatori realizzati in un linguaggio di scripting che prelevano il contenuto
da un database, invece che richiedere l'inserimento manuale da parte del Webmaster o
del content editor. Da notare
che il sito dinamico non avrà
altre pagine al di fuori dei template, infatti qualsiasi pagina
di contenuto verrà prodotta
automaticamente al momento
della richiesta da parte del navigatore, travasando nel template le informazioni prese dal
database, e cesserà di esistere
subito dopo. Per tale motivo,
abituarsi a lavorare per template costituisce un'ottima palestra per affacciarsi al mondo
del Web dinamico.
Il template parte da un disegno generale, spesso realizzato
da un creativo, il Web designer,
tuttavia spetta al Webmaster
oppure all'Editor tecnico trasformare il disegno in una codifica HTML che possa riprodurre nella finestra del browser ciò che il grafico ha concepito in origine.
La traduzione non è mai perfetta, sia perché gli strumenti
stilistici offerti dall'HTML sono
più rozzi di quelli disponibili in
un programma di disegno o di
videoimpaginazione orientato
alla stampa su carta, sia perché
non esiste alcun modo per controllare esattamente l'aspetto
che la pagina avrà quando visualizzata dal browser del navigatore.
A differenza della pagina di
una rivista, che giace completamente sotto il controllo dell'impaginatore, la pagina Web,
per sua stessa natura, nasce
per essere visualizzata sui tipi
più disparati di computer, equipaggiati con i browser più diversi e con ogni genere di sistema operativo. Inoltre molti
browser offrono al navigatore
la possibilità di personalizzare
PC Open 27 Dicembre 2002
ciò che vede, modificando la
risoluzione dello schermo, il
numero di colori visualizzati, la
dimensione della finestra, la
grandezza dei caratteri e altro
ancora.
Perciò il progettista deve costruire una pagina che mantenga una propria coerenza anche
se sottoposta a vistose alterazioni nel momento in cui viene
ricevuta. Inoltre, dovrà anche
tenere conto di elementi di usabilità e di navigabilità del sito,
che consentano a chiunque arrivi nella pagina direttamente
dall'esterno di capire dove si
trovi, di che cosa la pagina tratta e dove può andare da quel
punto.
Prima ancora di scrivere una
riga in HTML è necessario dividere la nostra pagina in aree regolari e possibilmente costanti
in cui collocare gli elementi di
navigazione, il contenuto vero
e proprio e qualsiasi altro elemento che sia necessario (ad
esempio banner pubblicitari, e
così via).
Modelli di pagina
La creatività non ha limiti e
ci sono diversi approcci possi- 2a lezione
bili. Sul Web si sono consolida-
ti due approcci ricorrenti per la
strutturazione delle pagine
(per un approfondimento del
tema rimandiamo a "Web design arte e scienza" edito da Apogeo). Il primo modello prende il
nome di schema tre-quattro pannelli e moduli e prevede nella
parte alta una zona orizzontale
che contiene il logo del sito,
eventuali banner e l'indicazione di dove ci si trova in quel
momento all'interno del sito
medesimo. Il secondo pannello, costituito da una verticale a
sinistra, contiene di solito la
barra di navigazione e infine il
terzo pannello, centrale, ospita
il contenuto. Nella pratica la
zona di contenuto non viene
sfruttata appieno per un limite
intrinseco di tutti i browser, e
cioè l'impossibilità di stampare
ciò che si trova all'estrema destra dello schermo (noi abbiamo misurato empiricamente
tale limite a 659 pixel dal bordo
sinistro della pagina Web).
Nelle realizzazioni pratiche
troviamo perciò modelli a quattro pannelli, con una colonna
all'estrema destra della pagina
usata per contenuti minori. I
pubblicitari la definiscono, in
gergo, area extramercial, perché ospita banner e bottoni secondari, in aggiunta a quelli
primari in testa alla pagina. Solitamente la si utilizza anche
per elementi di servizio, come
la finestra di login, la navigazione locale (link che collegano
tra loro varie parti di uno stesso articolo), i bottoni realizzati
dal marketing per iniziative
promozionali oppure dal content manager per evidenziare
altri contenuti del sito.
Dove cade la piega
Un altro concetto importante nel progettare una pagina e,
in particolare la home page, è
la caduta della piega o fold, all'inglese. Si tratta del limite inferiore della porzione visibile
della pagina prima di eseguire
lo scrolling. La parte alta della
home page costituisce la porzione più pregiata del sito,
quella che tutti vedranno e che
perciò tenderà ad affollarsi di
elementi di navigazione, di richiami editoriali e di eventuali
contenuti pubblicitari.
Infatti, solo una parte dei navigatori esegue lo scrolling verticale della home page per vedere il contenuto sottostante,
dopo la piega (below the fold).
Il termine è preso a prestito dal
mondo dei quotidiani la cui prima pagina è visibile solo per
metà quando è piegata sul banco dell'edicolante, dunque la
parte superiore, sopra la piega,
contiene sempre gli elementi di
richiamo più forti.
A dire il vero, i dettami originali del Web design insegnavano a realizzare home page abbastanza semplici da poter essere visualizzate per intero
senza il bisogno di scrolling e
ovunque sia possibile questa
rimane la soluzione da preferirsi, specie per i siti più semplici, tuttavia col crescere dei
siti e con il fatto che almeno
metà dei navigatori non tenta
nemmeno di navigare il sito,
Test: leggi le domande e verifica le tue risposte
Riepilogo dei concetti studiati nelle prime due lezioni
?
1. Quali sono le competenze di un Webmaster?
2. Che cos'è un editor HTML di tipo testuale?
3. Che cos'è un editor visuale?
4. Che cos'è un ambiente di sviluppo integrato?
5. Quali sono i due possibili schemi per organizzare le informazioni?
6. Quante possibili strutture esistono per la mappa di un sito?
7. Quali sono gli strumenti di navigazione offerti dal browser?
8. Quali sono le dieci regole per un buon sistema di navigazione?
9. Che differenza c'è tra un sito statico e uno dinamico?
10. Che regola seguire nella strutturazione delle directory?
11. Che differenza c'è tra un collegamento assoluto e uno relativo?
12. Che cos'è un template?
13. Che cos'è la piega?
14. Cos'è HTML?
15. Cos'è un marcatore (markup) in cosa si differenzia da un tag?
16. Quali sono i più comuni sistemi per "impaginare" un documento Web?
(le risposte le trovi a pagina 31)
17/88
1
Modello a tre-quattro pannelli. È il modello più diffuso nel Web e prevede la
realizzazione di un modulo o pannello orizzontale superiore (modulo 1) che contiene il
logo del sito e alcuni elementi di navigazione globale, un pannello verticale all'estrema
sinistra (modulo 2) che contiene la navigazione vera e propria, un pannello centrale
(modulo 3) che ospita i contenuti e un pannello verticale all'estrema destra (modulo 4)
che contiene rimandi locali oppure bottoni promozionali e che sfrutta l'area non
stampabile della pagina
ma si ferma alla home page, il
numero di elementi da enfatizzare in quest'ultima cresce rapidamente, perciò è inevitabile
avere home page con uno oppure anche due scrolling e pagine interne che arrivano fino
al limite massimo di cinque
scrolling.
Per compensare in parte il
problema della piega e rendere
il più visibile possibile i contenuti interni del sito, alcuni portali hanno inventato un altro
modello di pagina, denominato
in gergo LSD dall'inglese Logo,
Search box and Directory. In
pratica fa quel che dice: apre la
pagina con il logo e con le informazioni che permettono al navigatore di orientarsi sulla sua
posizione attuale e di navigare
nelle sezioni principali, prosegue subito sotto con la finestra
di ricerca, messa molto in risalto perché costituisce uno
degli elementi di navigazione
primari per un portale e finisce
con la Directory, ossia la classica visualizzazione tabellare
degli argomenti che troviamo
in Yahoo, Virgilio, Libero e tanti altri. Quest'ultima è l'elemento centrale del modello poiché
consente di creare una struttura di navigazione molto ricca,
in aggiunta alla barra standard,
che offre immediata visibilità
di quel che c'è sotto la home
page.
Il modello LSD soddisfa anche le raccomandazioni di usabilità di Jakob Nielsen, secon-
do il quale la home page dovrebbe contenere l'80% d'informazioni di navigazione e solo il
20% di contenuto effettivo, proporzione che si ribalta nelle pagine interne dove il contenuto
regna sovrano e gli elementi di
navigazione sono meno evidenti (vedi il testo Web usability edito da Apogeo).
Sempre secondo le indicazioni di Nielsen, e non solo, il
navigatore medio si ferma per
8 secondi su una qualsiasi pagina prima di decidere se approfondire oppure andare altrove, dunque la home page
deve offrire a colpo d'occhio
ogni possibile strumento per
capire cosa ci sia all'interno
del sito.
È invece pessima e deprecata la prassi del tunnel, vale a dire la presentazione ai nuovi navigatori di una sequenza di pagine promozionali da attraversare obbligatoriamente prima
di arrivare alla home page vera
e propria. Altrettanto deprecata, benché meno dannosa, la famigerata splash page, una pagina d'introduzione animata che
cerca di spiegare lo scopo del
sito e che prevede, solitamente, un pulsante skip intro per
procedere direttamente alla
home page del sito. Entrambe
le soluzioni risultano appaganti per il progettista grafico e
magari per il marketing, ma sono inutili per il navigatore che
esce dal tunnel appena possibile e non si ferma quasi mai 2a lezione
per osservare l'animazione del-
la splash page, bensì salta direttamente su altri siti.
Il metodo più pratico per
realizzare un sito di medie dimensioni è quello di seguire il
modello a tre/quattro pannelli
per tutte le pagine, compresa la
home page, oppure di adottare
il modello LSD per la home page e per le pagine di navigazione primarie (le home page di
secondo e terzo livello, nel caso in cui il sito sia molto ampio
e profondo), mantenendo i
quattro pannelli per tutte le altre.
Impostare gli spazi
del "canovaccio"
Definita la struttura della pagina, bisogna "prendere le mi-
sure" prima di cominciare a
scrivere il codice HTML vero e
proprio. In gergo ci chiama canvas, ossia canovaccio, l'area
per costruire una pagina Web
che stia nello spazio disponibile all'interno della finestra del
browser. Tale spazio varia in
funzione del browser, del sistema operativo e della quantità
di pannelli e strumenti accessori che il navigatore mantiene
visualizzati.
I due parametri importanti
da conoscere sono larghezza e
altezza del canovaccio, misurati in pixel. La larghezza corrisponde al numero di pixel disponibili in orizzontale quando
la finestra del browser è aperta
completamente sullo schermo
(posizione massimo ingrandi-
2
Modello LSD. Deriva il suo nome dalle iniziali delle parole inglesi Logo Search
Directory. Un modello inizialmente reso popolare da Yahoo e adottato da gran parte dei
portali per la realizzazione della loro home page. La pagina viene divisa in tre fasce
orizzontali, consecutive. La prima contiene il logo del sito e gli eventuali elementi di
navigazione globale del sito. La seconda, di solito piccola, contiene la finestra per
impostare una ricerca per mezzo del motore di ricerca interno al sito/portale. La terza
(directory) ed elenca le principali categorie e sottocategorie d'informazioni o servizi
offerti. Di solito, a fianco della directory troviamo anche colonne verticali che
contengono informazioni, ulteriori elementi di navigazione e bottoni promozionali
18/88
mento), tolta l'eventuale barra
di scorrimento verticale. L’altezza è invece il numero di
pixel disponibili nella finestra
prima della "piega".
Per capire quanto sia effettivamente grande il canovaccio,
dobbiamo assegnare dimensioni in pixel ai vari elementi. Si
comincia dal considerare la risoluzione del video utilizzata
dal navigatore. Se immaginiamo che la media dei navigatori
oggi disponga di monitor con
almeno 800 x 600 pixel di risoluzione, scopriamo che l'area
massima effettivamente utile
per lo sviluppo è di 780 x 433
pixel, calcolati empiricamente
su una finestra di Internet Explorer all'interno di Windows
XP con le principali barre di comando attive. Per una valutazione più dettagliata vi rimandiamo a un articolo sul Web: Sizing Up the Browsers accessibile
all'indirizzo
Internet:
http://hotwired.lycos.
com/webmonkey/99/41/index3a_page2.html?tw=design.
In generale vediamo che la dimensione considerata mediamente sicura per produrre una
pagina visualizzabile sia di 584
x 599 pixel per schermi da 640
x 480 pixel, 744 x 410 pixel su
schermi da 800 x 600 (i più diffusi) e 968 x 578 pixel su schermi da 1024 x 768.
L'elemento più vincolate è
naturalmente la larghezza, poiché in lunghezza è sempre possibile eccedere, ricorrendo allo
scorrimento verticale della pagina (scrolling), mentre lo
scrolling orizzontale, benché
usato da alcuni siti, va sicuramente evitato. Vediamo che i
diversi siti standardizzano diverse misure di larghezza:
Yahoo Italia, ad esempio, ha
pagine larghe 735 pixel, Virgilio
e Libero (IOL) arrivano a 760
pixel.
Una volta decisa la larghezza
complessiva della pagina, che
sarà anche la larghezza del primo pannello, cioè quello contenente il logo, dobbiamo stabilire le dimensioni delle colonne o pannelli che seguono,
uno parallelo all'altro. Una volta impostate tutte queste indicazioni, siamo pronti a costruire la pagina vera e propria.
Tecniche d'impaginazione
Il Web non prevede strumenti per l'impaginazione grafica di elementi sulla pagina.
Nato in origine per visualizzare
semplici testi chilometrici, con
occasionali immagini annegate
nei testi medesimi, l'HTML non
fornisce marcatori per disporre gli oggetti nella posizione
che vogliamo e con le proporzioni desiderate. La soluzione
elaborata dai progettisti è stata
di ricorrere alle tabelle, nate in
origine come strumento per la
visualizzazione tabulare di dati
e trasformatesi nel principale
mezzo d'impaginazione del
Web. Ogni elemento viene inserito all'intero della cella di
una tabella invisibile e combinando celle e righe contigue si
arriva alla costruzione completa della pagina. Il codice che ne
risulta è abbastanza complesso e richiede una certa esperienza, ma funziona nella gran
parte dei browser.
L'alternativa più rozza e impiegata solo nei primissimi
tempi del Web, quando le tabelle ancora non esistevano,
consisteva nel creare una grande immagine che contenesse
informazioni cliccabili che poi
rimandavano a pagine interne
di testo. Tecnicamente questo
genere di immagini prende il
nome di imagemap oppure
mappe di immagini e vengono
ancora utilizzate in alcuni contesti particolari, ma comportano lentezza nel caricamento
(date le dimensioni del file grafico) e complicazione nell'aggiornamento dei contenuti.
In alternativa, nel tempo, si
sono sviluppati altri tre strumenti d'impaginazione. Il più
semplice e grossolano prende
il nome di frame e consente di
suddividere la finestra a video
in tante finestre più piccole,
ciascuna contenenti una pagina indipendente. Suddividendo i contenuti nelle diverse pagine e regolando le dimensioni
dei frame, possiamo produrre
un'impaginazione approssimativa, ma funzionale. Vedremo
più avanti quali sono i vantaggi
e gli svantaggi dei frame.
Un altro strumento, sicuramente indicato per il futuro,
ma ancora poco supportato
dai vari browser, sono i fogli di
stile (CSS), mediante i quali è
possibile posizionare gli elementi sulla pagina indicandone
le coordinate. I fogli di stile fanno anche parte del cosiddetto
DHMTL (Dynamic HTML) che
consente di aggiungere animazioni e interazione nella pagina
senza l'impiego di oggetti grafici. Una variante rispetto ai CSS
2a lezione
3
Le risposte alle domande di pag. 29
Prendiamo un tipico portale Internet e misuriamo empiricamente lo spazio
effettivamente disponibile per la visualizzazione della pagina all'interno del nostro
browser (in questo caso Internet Explorer con le principali barre di comando attivate) su
uno schermo della risoluzione complessiva di 800 x 600 pixel. Scopriamo di avere 780
x 433 pixel. Nella pratica, il limite consigliato è di 744 x 410 pixel
sono i livelli (layer) di Netscape che tuttavia stanno cadendo in disuso con il ridimensionarsi della diffusione di tale
browser.
Chiude l'elenco l'impaginazione grafica realizzata mediante strumenti particolari come Flash. In tal caso usciamo
completamente dal dominio
dell'HTML e generiamo pagine
che possono essere visualizzate solo mediante l'impiego di
speciali plug-in (moduli aggiuntivi) nel browser del navigatore. Il plug-in di Flash viene
ormai fornito già in partenza
con Internet Explorer di Microsoft ed è abbastanza diffuso
nella Rete, tuttavia si consiglia
di avere sempre una versione
alternativa delle pagine (solo
testo) per consentire l'accesso
anche a chi Flash non c'è l'ha
oppure non lo può utilizzare
perché magari non vedente e
costretto a far riferimento a un
browser che "legga" i contenuti attingendo direttamente dalla codifica HTML.
Usabilità e accesso
I siti moderni, soprattutto
quelli realizzati per la Pub- 4
Visualizziamo la stessa pagina del portale su uno schermo con risoluzione di 1024 x
768 pixel e misuriamo lo spazio empiricamente disponibile con tutti gli "optional" del
browser attivi. Troviamo che la pagina che ha una larghezza di 735 pixel sta
comodamente nel canovaccio di 800 x 579 pixel. Il valore di canovaccio consigliato per
compatibilità con tutti i browser nelle condizioni di default (senza barre di navigazione
opzionali) è di 968 x 578 pixel
19/88
1. Progettare la struttura di un sito
partendo dai contenuti che si
vogliono pubblicare e dal percorso di
navigazione che meglio si adatta alla
situazione, produrre una struttura di
pagina HTML che sia leggera,
compatibile con i diversi browser e
vicina alle specifiche grafiche
previste per il sito, conoscenza
perfetta dei linguaggi usati per
costruire le pagine (HTML,
Javascript, Perl CGI, DHMTL, CSS).
2. Sono programmi per l'inserimento
manuale facilitato di codice HTML.
Permettono di inserire i marcatori
usando icone oppure voci di menu e
controllano la sintassi dei marcatori
che abbiamo inserito direttamente.
3. Un programma che nasconde il
codice HTML lasciandoci lavorare
direttamente sulla struttura visiva
della pagina finale, usando
strumenti di generazione automatica
dei tag simili a quelli offerti dagli
editor testuali.
4. Un programma che unisce tutte le
caratteristiche più avanzate di un
editor testuale e di un editor visuale,
aggiungendo funzioni per la gestione
complessiva del sito e per il
controllo di tutti i link.
5. Esatto e ambiguo. Il primo
suddivide le informazioni in
categorie reciprocamente esclusive,
ossia le voci che compaiono in una
categoria non compaiono in
nessun'altra. Un esempio tipico è
un’organizzazione alfabetica, come
nel caso di un dizionario, oppure
cronologica, come nel caso di un
archivio di articoli di giornale,
oppure geografica: i locali di una
città. Il sistema ambiguo si basa
sull'esperienza di navigazione del
navigatore tipo e cerca di guidarlo
quando non sa esattamente cosa
cercare.
6. Tre: gerarchia, ipertesto e lineare.
La prima è quasi sempre presente
complementata dalla seconda
quando bisogna creare collegamenti
diretti tra zone lontane nello stesso
sito o verso siti esterni.
La struttura lineare è adatta per i
corsi on line.
7. Finestra per digitale gli URL
(indirizzi), i preferiti, i tasti Avanti e
Indietro, il tasto home e la
visualizzazione dei link già visitati
con colore diverso.
8. Essere facile da capire, rimanere
costante, fornire un feedback,
apparire contestuale, offrire
alternative, richiedere un’economia
di tempo e di azione, fornire
messaggi visivi chiari, utilizzare
etichette chiare e comprensibili,
essere idonea per gli scopi del sito,
favorire gli obiettivi e i
comportamenti dell’utente.
9. Un sito statico contiene solo le
pagine che abbiamo individualmente
!
realizzato per la
pubblicazione e il
navigatore non può
chiedere di vedere informazioni
visualizzate in modo diverso da
quello noi abbiamo definito in tali
pagine. In un sito centrato su
database, ossia dinamico, è invece
possibile avere una pagina
campione (template) all'interno della
quale riversare al momento le
informazioni più diverse a seconda
di quel che l'utente chiede.
10. Riflettere più fedelmente
possibile il disegno gerarchico
pensato per il sito, usando nomi
mnemonici, mantenendo al
massimo quattro livelli di profondità,
usando solo caratteri minuscoli per
documenti e cartelle, creando una
cartella centralizzata per le immagini
nel caso si voglia poi passare a un
sito dinamico.
11. Un collegamento assoluto indica
l' URL per intero e richiede al
browser di uscire dal sito in cui si
trova per raggiungere la pagina
indicata, anche se questa
appartiene al medesimo sito. Un
collegamento relativo indica invece
la posizione della pagina di
destinazione in rapporto alla pagina
di partenza oppure alla radice
(directory della home page) del sito.
12. È una pagina campione che ci
servirà come modello per molte
altre pagine di contenuto del sito.
13. La linea ideale che separa la
parte visibile della pagina da quella
che può essere vista solo attraverso
lo scorrimento verticale (scrolling)
dei contenuti.
14. L’HyperText Markup Language
nasce nel 1989 nel laboratorio
europeo per la fisica delle particelle
(CERN) come strumento per
consentire la creazione e
distribuzione di documenti
ipertestuali, cioè documenti di testo
liberamente interconnessi tra loro. Il
suo unico obiettivo consiste nella
creazione di pagine di documenti
visualizzabili via rete sulle macchine
più disparate, per mezzo
dell’intermediazione di uno speciale
programma, denominato browser
(“sfogliatore”, alla lettera) che
riconosce i comandi HTML e
visualizza di conseguenza il testo
che essi racchiudono.
15. Il marcatore è una porzione
d'informazione che si aggiunge in
testa e in coda a un blocco di testo
per determinarne i confini, definirne
la natura ed eventualmente l'azione
da compiere su di esso. Il tag
(etichetta) indica l'inizio e la fine
dell'area di efficacia di un
marcatore. Qualsiasi tag inizia con i
simboli "<" oppure "</" e termina
con i simboli ">" oppure "/>".
16. Le tabelle e i frame.
2a lezione
blica Amministrazione richie-
dono, anche in Italia, l'osservanza di alcune regole che modificano il modo d'impostare i
contenuti sulla pagina e i sistemi d'impaginazione possibili.
Si tratta di regole di usabilità,
per riprodurre un ambiente
che sia familiare al navigatore
e che gli consenta di fruire dei
servizi del sito immediatamente senza dovere imparare a
usarlo, e regole di accessibilità
che consentano di capire i con-
tenuti anche a chi, per vali motivi, non può utilizzare un
browser convenzionale.
L'usabilità si centra in buona sostanza sulla ripetizione
di modelli che si sono dimostrati vincenti sul Web e limita
l'originalità del sito. Il classico
esempio di usabilità è l'automobile: quando salite al posto
di guida, il volante e i pedali
dell'acceleratore, della frizione e del freno sono sempre
nella stessa posizione, qualun-
que modello scegliate. I pochi
modelli che sono "originali" alla fine vengono usati poco.
L'accessibilità di traduce invece nel fornire alternative testuali a qualsiasi cosa che non
sia decifrabile se non guardandola su un monitor: tipicamente immagini e tabelle.
Inserendo una nota di commento per ciascuna immagine
e un sunto per ogni tabella, entrambi previsti dai rispettivi
tag HTML, chi "legge" la pagina
attraverso un sistema di sintesi vocale anziché guardarla a
video, può capire di cosa si sta
parlando. Ciò impone maggiore lavoro su chi produce contenuti, ma allarga il pubblico
potenziale non solo ai portatori di handicap, ma anche a chi
consulta un sito via telefono
(attraverso sintetizzatore vocale) oppure dal browser vocale montato sull’autoradio
(uno scenario poi non tanto futuribile).
3 Pagine HTML e marcatori
HyperText Markup Language nasce nel 1989 nel
laboratorio europeo per
la fisica delle particelle (CERN)
come strumento per la creazione e la distribuzione di documenti ipertestuali, cioè documenti di testo liberamente
interconnessi tra loro.
Il suo unico obiettivo consiste nella creazione di pagine di
documenti visualizzabili via rete sulle macchine più disparate, per mezzo dell’intermediazione di uno speciale programma, denominato browser (alla
lettera “sfogliatore” o "visualizzatore") che riconosce i
marcatori HTML e li elabora,
estraendo il testo che essi racchiudono e visualizzandolo in
funzione del tipo di marcatore
usato. Costituisce un’edizione
ridotta di un linguaggio precedente, molto complesso e già
ben conosciuto nel mondo
scientifico e informatico: lo
Standard Generalized Markup
Language, del quale mantiene
solo le funzioni essenziali per
la produzione di documenti di
lavoro, adattate al concetto d’ipertesto.
L’HTML codifica ogni elemento della pagina mediante
un sistema di marcatori, tag all’inglese, che si pongono all’inizio e in chiusura della porzione di testo che si vuole contrassegnare. La gran parte dei
tag ha un significato strutturale, vale a dire spiega la natura
di quella particolare porzione
di testo: titolo, sottotitolo, paragrafo, tabella, immagine, collegamento (link) e non dice in
che modo visualizzarla. L’intenzione originale era di lasciare al browser la scelta di
L’
20/88
come comportarsi in funzione
delle potenzialità della macchina su cui era installato.
I primi siti Web si presentavano perciò molto scarni nell’aspetto: semplici elenchi di testo
nero su sfondo grigio, con i link
di colore blu e sottolineati, e
con titoli molto vistosi. Non appena il Web è uscito dal contesto universitario per trasformarsi, nella metà degli anni Novanta, in uno strumento commerciale, si è presentata la necessità di fornire un minimo di
estetica e sono nati alcuni marcatori stilistici che modificano
direttamente la visualizzazione
del testo viene visualizzato e
che hanno trovato la loro massima applicazione nell’HTML
3.2, ai tempi di Netscape 4x e Internet Explorer 4x.
Tali marcatori stilistici,
tutt’ora in uso, sono stati deprecati dal World Wide Web
Consortium (www.w3c.org),
detentore e promulgatore delle specifiche HTML, al momento del rilascio della versione
più recente del linguaggio, la
4.01, ormai supportata, almeno parzialmente, da tutti i nuovi browser.
L'attuale orientamento è infatti quello di riportare l’HTML
a funzioni unicamente strutturali, lasciando ai fogli di stile in
cascata (Cascading Style
Sheets) il compito di aggiungere stile al testo.
Questi ultimi, tuttavia, non
trovano ancora piena implementazione in alcuni browser
e perciò molti progettisti ancora abbinano fogli di stile e marcatori HTML stilistici secondo
tecniche che vedremo e che
prendono il nome di transitio-
nal (soluzioni transitorie).
La sintassi del linguaggio
HTML è semplicissima e si basa su parole inglesi comuni.
Non occorrono particolari programmi per scrivere una pagina HTML, basta infatti un qualsiasi editor di testo. L’impiego
tuttavia di editor dedicati sveltisce il lavoro e riduce gli errori.
Ogni marcatore è contenuto
tra il simbolo di minore < e
maggiore > senza spazi e si
presenta solitamente in coppia, con un marcatore di apertura e uno di chiusura preceduto dalla barra inclinata. Grazie a questo approccio elementare, è facile delimitare la
porzione di testo a cui il tag si
applica.
Ad esempio <strong>testo in
grassetto</strong> indica che la
frase contenuta tra i due marcatori va visualizzata con forza
(strong) il che significa in grassetto, nell'interpretazione abituale del browser Web (può invece assumere forme diverse
in browser di natura diversa,
come quelli usati sui telefonini
abilitati alla navigazione di siti
Internet).
Nel caso in cui non ci sia alcun testo tra i due tag, il browser ignorerà il tag e non visualizzerà nulla all'interno della
pagina. L'unica eccezione sono
i tag che non prevedono un
marcatore di chiusura e che
perciò producono un effetto in
ogni caso. Un esempio è il tag
di ritorno a capo <br> che formalmente dovrebbe essere
scritto <br/> al fine d'indicare
che si tratta di un tag particolare.
Esistono, poi, tag che hanno
un tag di chiusura facoltativo e
che perciò producono un effetto anche se manca il testo corrispondente. Un esempio classico in questo senso è il tag di
paragrafo <p> che produce un
ritorno a capo con inserimento
di una riga bianca anche se il
paragrafo fosse vuoto. XHTML,
il nuovo linguaggio di unisce
HTML e XML, rende obbligato-
Struttura minima della pagina
Qui vediamo la sequenza di marcatori indispensabili per costruire una pagina Web.
Head contiene l'intestazione del documento, invisibile nella finestra del browser con la
sola eccezione del titolo. L'intestazione serve per allegare alla pagina informazioni utili
per i motori di ricerca e per altri scopi. Il documento vero e proprio, visibile al
navigatore, è contenuto tra i tag <body> e </body>
2a lezione
ria la chiusura di tutte le coppie di tag, anche quelle facoltative, perciò tanto vale abituarsi fin d'ora a chiudere regolarmente tutti i tag che possono essere chiusi, come viene
già fatto dagli editor che generano codice in automatico.
I tag HMTL possono essere
scritti con lettere maiuscole o
minuscole indifferentemente,
tuttavia la pagina risulterà più
ordinata se cercherete di seguire una regola. Alcuni Webmaster preferiscono scrivere
sempre i tag tutti maiuscoli per
distinguerli più facilmente dal
resto del testo (effetto ottenibile anche con la colorazione
diversa offerta da molti editor
moderni). Altri preferiscono
scriverli tutti minuscoli così
da essere già compatibili con
XHTML, che distingue tra
maiuscole e minuscole.
È possibile nidificare diversi
tag al fine di creare un effetto
cumulato, in tal caso bisogna
sempre chiudere per primo
l'ultimo tag aperto (come avviene nelle parentesi in matematica) e fare molta attenzione
a non sovrapporre tag diversi.
Ad esempio: <b><i>testo corsi-
21/88
vo grassetto </i></b> è corretto
perché i tag sono nidificati,
mentre <b><i>testo corsivo
grassetto </b></i> è sbagliato
perché i tag s'incrociano.
Un'altra particolarità importante è che HTML riconosce
un singolo spazio, perciò se
utilizzate diversi spazi vuoti in
sequenza per separare tra loro
le parole o per far rientrare
una riga rispetto al margine sinistro, il browser visualizzerà
sempre e comunque uno spazio solo, a meno che lo abbiate
istruito di mantenere esattamente il formato originale, con
il tag <pre> (preformatted text)
usato solitamente per visualizzare listati di programma o altri testi tecnici. HTML ignora
anche i ritorni a capo e di fatto
rientri e ritorni a capo servono
unicamente per tenere ordine
nella pagina e beneficio di chi
scrive il codice, ma aggiungono caratteri e peso alla stessa.
Se vogliamo mandare a capo
una riga sulla pagina dobbiamo usare un tag specifico come <br> oppure <p> (che aggiunge anche una riga bianca).
Tutti i ritorni a capo e i rientri
prodotti nella pagina HTML
originale ("source" in gergo)
con un editor di testi oppure
un editor HTML servono unicamente a tenere ordine visivo
tra le righe quando le si scrive,
ma aggiunge peso inutile alla
pagina finale. Per tale motivo,
una volta completato il lavoro,
diversi editor HTML consentono di eseguire un'ottimizzazione rimuovendo tutti gli spazi e
i ritorni a capo superflui. In tal
modo, la pagina sarà più leggera e veloce da trasferire, ma
sarà anche più difficilmente
decifrabile da parte di terzi. In
generale i ritorni a capo forzati nel codice (l'insieme di istruzioni HTML che compongono
la pagina) vanno usati con molta prudenza, in particolare
vanno evitati in mezzo ai tag,
cioè si sconsiglia fortemente di
andare a capo lasciando metà
degli attributi associati marcatore su una riga e metà sulla
successiva. Molto rischiosa
l'interruzione di tag che contengono link ipertestuali ed
elementi di tabella. Alcuni
browser generano problemi di
allineamento tra le celle di una
tabella per il solo fatto che
queste erano state separate da
un ritorno a capo. Perciò,
quando notate un comportamento strano negli allineamenti, provate a rimuovere i ritorni
a capo in mezzo a quella porzione di codice.
Anche nel caso del testo, il
consiglio è di andare a capo solo quando si vogliono effettivamente separare i paragrafi.
A questo riguardo è bene prestare attenzione alle funzioni
di "a capo" automatico fornite
da alcuni editor.
Sono necessarie per leggere
chiaramente righe di codice
molto lunghe senza dover continuamente scorrere la pagina
in orizzontale, ma si dimostrano deleterie quando realizzate
per mezzo di un a capo forzato
che rimane nella pagina in permanenza. Accertatevi che il
programma esegua il "soft
wrap", cioè il ritorno a capo dinamico delle righe
ripiegandole a capo solo a video,
senza l'aggiunta di
ritorni a capo fisici
nel documento. prosegue
(versione integrale
dell’articolo sul CD)
sul CD
n. 66
2a lezione
4 Per chi vuole approfondire: i libri consigliati
INDISPENSABIL
E
Usabilità e progetto grafico si fondono
in questo libro di gradevole lettura, che
codifica i principi concreti da osservare
nella progettazione di una pagina e
degli elementi di navigazione di un
sito. Ricco di esempi, si dimostrerà
rivelatorio per molti.
Hops, 192 pagine, 33,05 euro.
INDISPENSABIL
Manualetto tascabile per tenere a
portata di mano i comandi HTML e per
imparare i rudimenti del linguaggio
quel tanto che basta per aggiornare
pagine già fatte da qualcun altro,
oppure per produrre pagine molto
semplici.
Hops, 264 pagine, 8,26 euro.
INDISPENSABIL
Corso interattivo sulle basi del
linguaggio HTML e di CSS (fogli di
stile). Semplice nel linguaggio e
limitato agli attibuti fondamentali dei
due linguaggi, ottimo per chi comincia
grazie anche alle lezioni contenute su
CD.
MCGraw-Hill, 236 pagine, 30,00 euro.
22/88
Ottimo riferimento professionale.
Fornisce una preziosa base per la
transizione da HTML 4 a XHTML, sia in
termini generali, sia nel dettaglio del
singolo tag. Una lettura indispensabile
per il Webmaster che voglia costruire
siti duraturi nel tempo.
McGraw-Hill, 499 pagine, 33,50 euro.
E
E
Padroneggiare lo sviluppo avanzato di
un sito che sia conforme ai nuovi
standard XHMTL. Non è una
“reference”, bensì un manuale
operativo, ricco di esempi visivi e con
informazioni di qualità.
Jackson Libri, 682 pagine, 40,80
euro.
INDISPENSABIL
Approccio inedito all’usabilità
condotto da uno specialista italiano
che riporta i concetti generali di questa
nuova disciplina alle peculiarità del
nostro Paese.
Lettura interessante per allargare il
proprio punto di vista.
Apogeo, 170 pagine, 16,53 euro.
Guida intermedia per imparare lo
sviluppo manuale di pagine HTML e
l’uso appropriato dei tag più
importanti. Strutturato con una grafica
facilmente leggibile, il libro è
assimilabile anche da un principiante,
pur non essendo elementare.
McGraw-Hill, 338 pagine, 18,50 euro.
Riferimento autorevole sui temi della
navigabilità di un sito e delle regole
che sottendono qualsiasi sistema di
navigazione. Da conoscere prima di
affrontare la progettazione di un nuovo
sito o prima di eseguire il restyling di
uno esistente.
Hops, 334 pagine, 25,31 euro.
INDISPENSABIL
Bibbia dello sviluppatore per imparare
l’uso di JavaScript all’interno di pagine
dinamiche. Richiede alcune basi di
programmazione, perciò non è alla
portata del neofita. Strumento
indispensabile per un Webmaster
professionista.
Apogeo, 823 pagine, 50,61 euro.
Panoramica delle tecniche per la
produzione di qualsiasi componente di
sito; dalle pagine HTML, ai contenuti
multimediali; audio e video. Utili le
sezioni sui CSS (fogli di stile) e
JavaScript. Prontuario generale per chi
non ha tempo di leggere altro.
Apogeo, 392 pagine, 25,31 euro.
Nonostante il titolo questo è un
volume ricco d’informazioni utili e
consigli che possono servire anche al
professionista. Affronta in dettaglio
quel che un Webmaster dovrebbe
sapere per rapportarsi con fornitori
esterni.
Apogeo, 404 pagine, 18,59 euro.
Unico manuale oggi disponibile in
italiano sulla nuova versione di GoLive
(integrata nel CD di questo numero).
Copre tutte le funzioni di uso comune
del programma, con svariati esempi e
consigli validi per Mac e per Windows.
Jackson Libri, 299 pagine, 36,00
euro.
E
E
2a lezione
5 Strutturare i contenuti nella pagina:
tabelle, frame e form
a costruzione di una pagina
HTML equivale alla battitura di un testo con una telescrivente. Il browser costruisce la pagina leggendo in sequenza ciascuna riga, carattere per carattere. Combinando i
comandi e i contenuti che trova lungo il percorso, arriva alla
fine a produrre l’impianto desiderato.
Ogni cosa che si trova nella
pagina è di fatto un carattere di
testo che esprime un comando, indica la posizione di
un’immagine e le relative dimensioni, descrive un link
esterno, indica un testo da visualizzare, stabilisce la posizione dei diversi elementi.
Si dice tecnicamente che
ogni elemento è inline, vale a
dire si trova inserito in una riga sequenziale e non può essere letto prima che siano stati
letti gli altri caratteri che lo
precedono.
Poiché nasce per visualizzare testo che fluisce in continuo, HTML non prevede alcuna funzione per “impaginare”
gli elementi, ossia per collocarli in una determinata posizione nella pagina, all’interno
L
1
di riquadri o colonne che abbiano proporzioni ben definite
rispetto al resto.
Se ci affidiamo agli strumenti base del linguaggio, l’unica
forma di pagina possibile sarebbe un testo chilometrico,
occasionalmente interrotto da
un’immagine o da un link verso
altri documenti.
Talvolta questo può anche
essere sufficiente, come nei
primi siti universitari e amatoriali che si sono visti sul Web.
In tal caso non dovete far altro
che iniziare a inserire il testo e
le immagini in sequenza nella
zona compresa tra il tag
<body> e il suo gemello
</body> che, come abbiamo
detto, delimitano l’inizio e la fine del documento vero e proprio.
Nella maggior parte dei casi,
però, si vuole un’impaginazione più raffinata, che divida la
pagina in aree ben distinte, ciascuna con elementi propri, come ad esempio la struttura a
quattro pannelli che abbiamo
visto nei modelli d’impostazione della pagina. In tal caso, prima ancora di cominciare a inserire il contenuto, ci serve
una struttura capace di contenerlo. Le scelte possibili sono
tre: tabella, frame e form. In
realtà esiste anche la possibilità di collocare gli elementi
mediante le funzioni di posizionamento dei fogli di stile in
cascata, CSS, ma queste ultime
non sono supportate da tutti i
browser e ne parleremo, più
avanti, quando affronteremo il
tema dei fogli di stile.
Il più diffuso e versatile dei
tre sistemi sono le tabelle, perché compatibili con tutti i
browser e prive di controindicazioni in materia di usabilità e
di estetica. Se le configuriamo
senza bordo, le tabelle diventano una specie di griglia invisibile che tiene al loro posto i
vari elementi della pagina, immagini e testo. Gli unici svantaggi delle tabelle sono il non
garantire l’assoluta stabilità
delle dimensioni e delle proporzioni tra i componenti e la
difficoltà d’implementazione.
Particolarità dei frame
I frame sono invece più facili da realizzare e offrono un
controllo molto più rigoroso
degli spazi. Tuttavia presenta-
2
no importanti svantaggi di usabilità e di estetica. Dividono la
finestra in diversi riquadri, ciascuno contenente una pagina
Web indipendente, perciò diventa impossibile far funzionare i tasti di navigazione in avanti e all’indietro del browser. Infatti, con tre o quattro pagine
contemporaneamente presenti
a video, non è chiaro quale sia
la pagina in cui ci troviamo
esattamente e in quale dei diversi riquadri debba essere caricata quella a cui si vuole ritornare. Inoltre, anche nel definire le istruzioni di navigazione
nel sito, dobbiamo sempre indicare in quale pannello inserire la pagina a cui il link è indirizzato, il che complica un poco i collegamenti ipertestuali.
In materia di stampa si può
stampare un solo riquadro per
volta e il browser non sa quale
sia quello giusto a meno che
glielo indichiamo noi usando
una complessa sequenza con il
tasto destro del mouse, ben
poco amichevole per il navigatore comune. Infine la dimensione rigorosamente bloccata
dei riquadri può anche diventare un problema quando la
pagina esce dai contorni del video e diventa necessario eseguire lo scrolling verticale. In
tal caso compariranno una
banda di scorrimento verticale
e orizzontale (a seconda della
direzione in cui il contento deborda rispetto al progetto originale) che sfigurano la pagina
e ne complicano l’uso.
Form per la registrazione
Fig. 1 Esempio di un'impaginazione tabellare. L'immagine che segue si riferisce a una pagina Web costruita usando una complessa
griglia di tabelle nidificate che tengono al proprio posto i vari elementi.
Fig. 2 Tabella evidenziata. Qui vediamo evidenziato in modo grossolano alcune delle tabelle che compongono la pagina. Notate che
esiste una tabella principale esterna che ne contiene altre che a loro volta ne contengono altre in uno schema di scatole cinesi
23/88
I form o moduli servono a
formattare un particolare genere di pagina, quelle utilizzate
per raccogliere informazioni
dal navigatore. Hanno il tipico
formato di un formulario da
compilare, con una serie di caselle accompagnate dalle relative etichette esplicative, più
eventuali menu a tendina da
cui scegliere voci già reimpostate oppure caselle da barrare per operare scelte immediate. Sono compatibili con ogni
genere di browser possono essere a loro volta incapsulati all’interno di tabelle o frame, ma
non è indispensabile.
2a lezione
6 Adobe GoLive 6.0 maestro di tabelle
on la nuova versione del
suo celebre ambiente di
sviluppo integrato, Adobe
consolida una soluzione che è
particolarmente mirata all’integrazione tra editoria su carta
stampata ed editoria sul Web,
aggiungendo anche funzioni
per la produzione di contenuti
multimediali e mobili, cioè da
visualizzare su telefonino e
PDA in alternativa al computer.
Il quadro competitivo rispetto a
Dreamweaver, l’antagonista di
sempre, è migliorato drasticamente sia con l’aggiunta di una
doppia vista che abbina in contemporanea codice e struttura
grafica, sia con l’aggiunta di
funzioni per il coordinamento
del lavoro di gruppo che sono
invece assenti dalla piattaforma Macromedia.
Migliorata drasticamente anche l’integrazione con gli altri
prodotti Adobe che vanno a
comporre la Creative Suite, infatti GoLive 6.0 oggi può importare livelli di Photoshop, illustrazioni vettoriali di Illustrator e animazioni di LiveMotion
2.0. Mantenuta infine l’integrazione con InDesign, il pacchetto
di videompaginazione per l’editoria tradizionale che consente
un efficace passaggio dei contenuti dalla carta al Web e viceversa.
Al momento esistono due
suite che si contendono il mercato dei creativi che cercano un
ambiente editoriale completamente integrato: Adobe Creative Suite, più orientata al mondo
dei creativi tradizionali che
hanno bisogno di un efficiente
sbocco sul Web, e Macromedia
Studio MX che si rivolge invece
a un ambiente puramente Web
e che coordina la generazione
di siti statici e dinamici, con
particolare enfasi sui linguaggi
di scripting e sullo sviluppo di
applicazioni.
C
Particolarità dell'interfaccia
GoLive si differenzia da qualsiasi editor visuale per il fatto
di offrire una grande varietà di
viste per lavorare sul documento oppure sull’intero sito. Il
Errata: segnaliamo un'imprecisione
nella prova di Dreamweaver MX
pubblicata lo scorso numero: il prezzo
del prodotto Macromedia è 574,80
euro, e 286,80 euro per l'upgrade
24/88
Identikit
Caratteristiche
Produttore e sito: Adobe - www.adobe.com
Requisiti: Windows 98SE, ME, 2000 con Service Pack 2, XP, per la
funzione Web Workgroup Server è richiesto Windows 2000 o XP
Costo licenza: 589,50 euro, 146,20 per l’upgrade da una versione
precedente. Adobe Creative Suite Premium, che include anche Photoshop
7.0, Illustrator 10, InDesign 2.0, Premiere 6.5 e Acrobat Distiller 5.0
Prezzo: 2158,80 euro IVA compresa
programma identifica quattro
categorie di elementi e fornisce
strumenti ad hoc per ciascuna.
Le categorie sono la pagina nel
suo complesso, il codice sorgente (HTML o di altro tipo), il
sito e le funzioni avanzate, come ad esempio i fogli di stile.
La prima categoria di oggetti
è la più comune e contiene la
pagina con tutti i relativi componenti: tabelle, moduli, testo e
immagini. La sua lavorazione è
imperniata su una finestra di
Layout che ne mostra una versione grafica modificabile.
Lavorando con il mouse e i
menu, è possibile inserire, cancellare, spostare e ridimensionare qualsiasi elemento, osservando il risultato immediato a
video. Le tecniche di lavoro sono due: inserire gli oggetti attingendo dalla palette dedicata,
oppure costruire una griglia visiva su cui poi collocare dei segnaposto per gli oggetti.
La griglia, che assomiglia alla
“gabbia“ d’impaginazione di
una pagina su carta, si trasforma poi automaticamente in tabella, collocando tutti gli elementi al posto giusto. Questa
particolare modalità progettuale, molto vicina al sistema di lavoro di un progettista grafico,
non è presente in nessun altro
editor HTML e viene fornita dal
concorrente principale, Dreamweaver MX, solo grazie all’impiego di un prodotto complementare esterno, Fireworks MX.
Il secondo elemento di lavoro che ci accompagna ovunque
è la finestra Inspector che mostra i parametri di qualsiasi oggetto selezionato permettendoci di modificarli senza intervenire manualmente sul codice.
Si notano anche alcune finezze nella finestra Layout: il titolo della pagina è immediatamente accessibile nella cornice
superiore della finestra di
Layout e può essere modificato
direttamente (come avviene anche in Dreamweaver), ma qui
possiamo anche estendere il
bordo superiore e accedere a
tutti gli altri elementi dell’intestazione (head), senza dover
scorrere il listato HTML come
invece accade in altri editor.
In basso alla finestra, come
in Dreamwaver, abbiamo l’indicazione della larghezza in pixel
della pagina su cui stiamo lavorando.
Rispetto alla versione precedente, ora è anche possibile
aprire una finestra di esplorazione del codice immediatamente sotto alla finestra di
Layout così da vedere in che
Adobe GoLive 6.0 si colloca
come il secondo ambiente di
sviluppo integrato per l'impiego
professionale sul Web. Rispetto al
suo concorrente diretto,
Dreamweaver MX, offre funzioni più
evolute di gestione delle tabelle,
d'integrazione la carta stampata e
di gestione di gruppi di lavoro.
L'aggiunta di una vista del codice in
parallelo alla vista grafica
strutturale colma una lacuna che lo
vedeva in svantaggio rispetto alle
versioni precedenti di Dreamweaver
e consente di avere due viste
contemporanee della stessa
pagina: una con il codice e una con
la struttura grafica della stessa. È
possibile agire su una qualsiasi
delle due, osservando subito i
cambiamenti riportati nell’altra.
Idoneo per chi viene dal mondo
della grafica tradizionale e vuole
creare siti oppure travasare lavoro
editoriale sul Web senza traumi.
Forti anche le funzioni di gestione di
contenuti multimediali, grazie
all'integrazione con LiveMotion. È
un prodotto complesso con
un'interfaccia singolare e richiede
un certo impegno per poterne
sfruttare a fondo le caratteristiche.
Ottime le funzioni di gestione
integrata del sito. Dreamweaver, in
confronto, appare più orientato allo
sviluppatore di siti che centra gran
parte della propria attività sulla
produzione di codice e
sull'integrazione con database.
Pro
- Eccezionale gestione delle tabelle
- Ottima palestra formativa.
- Vista contemporanea sul codice
generato e sulla disposizione degli
elementi sulla pagina.
- Unisce efficacemente il lavoro di
creatività e di produzione tecnica.
- È disponibile su diversi sistemi
operativi, compreso Macintosh.
- Viste inedite sulla gerarchia del
sito e sulla struttura della pagina.
- Offre ricchi strumenti per la
gestione di un intero sito.
- È compatibile con gli standard più
recenti
Contro
- Complesso da imparare.
- Richiede un computer abbastanza
potente.
- Il codice generato con gli strumenti
grafici richiede occasionalmente
verifica manuale.
- Finestra di codifica diretta più
debole rispetto ad altri editor
2a lezione
modo le variazioni apportate
graficamente si traducono in
istruzioni HTML e, viceversa,
per vedere come una modifica
manuale dei tag si ripercuota
sulla finestra di Layout che funziona come una sorta di anteprima immediata e modificabile.
Questa visualizzazione doppia e contemporanea emula
una prerogativa che finora è
stata unica di Dreamweaver.
La differenza tra i due è che
Adobe GoLive non visualizza
nella finestra Layout l’effetto
prodotto dagli eventuali fogli di
stile, ma dispone in compenso
di una finestra di Anteprima interna al programma che visualizza immediatamente la pagina nella sua struttura finale, invece di dover aprire una finestra esterna allo scopo come
accade in Dreamweaver.
Un altro modo unico di GoLive per visualizzare il codice sorgente a fianco della finestra
Layout consiste nella palette del
Codice Sorgente. Una finestrella
ridimensionabile che si apre sopra la vista Layout e mostra la
porzione di codice che corrisponde all'area selezionata. Il
terzo modo possibile consiste
nell'apertura di una speciale finestra denominata Visual Tag
Editor che mostra la codifica del
particolare tag su sui è posizionato il cursore e consente di
modificarlo agendo direttamente su quella particolare porzione di codice sorgente.
Operare direttamente
sul codice
Esiste anche, naturalmente,
la finestra per l’editing testuale
a tutto schermo. Si chiama finestra Origine e prevede la colorazione dinamica degli ele-
1
menti di programma distintamente dai tag HTML e dal testo. Qui, a differenza di altri
programmi abbiamo la possibilità di scegliere al volo, mediante icone, che cosa colorare: i marcatori distinti dai relativi attributi e distinti dal testo,
gli elementi nel loro insieme
(cioè tag, più attributi più testo
contenuto all’interno del tag), i
soli collegamenti, il codice eseguibile su server. In questo modo è possibile eseguire analisi
selettive delle diverse componenti della pagina e intervenire
di conseguenza.
Alla pari di altri ambienti,
troviamo la possibilità di visualizzare i numeri di riga e di
attivare un a capo automatico
(soft wrap) delle righe in modo
da non dover eseguire lo scrolling orizzontale e al tempo
stesso non modificare il codice
con l’aggiunta di a capo permanenti.
L’inserimento di qualsiasi
elemento HTML è affidato alla
stessa palette di oggetti che
abbiamo visto nella finestra
Layout e anche qui possiamo
usare il selettore di colori per
qualsiasi elemento colorabile
della pagina. La finestra Inspector perde invece di utilità.
Rispetto a Dreamweaver
sentiamo la mancanza di una finestra grafica d'impostazione
dei parametri di ciascun tag,
sensibile alla posizione del cursore, e il completamento automatico dei tag in fase di digitazione diretta.
Superlativa invece la gestione delle tabelle, quasi del tutto
automatizzata, con completamento automatico degli elementi mancanti e con importazione diretta di qualsiasi gene-
2
re d'informazioni tabellari, versate automaticamente in una
tabella con il numero giusto di
righe e di celle.
Nella manipolazione delle tabelle GoLive non è secondo a
nessuno.
Funzioni speciali
del programma
Unico nel suo genere, GoLive
fornisce altre due viste particolari dedicate esplicitamente
all’analisi dei frame (riquadri) e
della struttura del documento
(in particolare le tabelle).
In pratica, compare un editor strutturale che mostra le relazioni gerarchiche tra i vari
elementi della pagina oppure
tra i riquadri di un frame, consentendo di modificare direttamente gli attributi di ciascuno
e di correggere eventuali errori, spesso difficili da notare nella vista Origine, dove le molteplici righe di codice oscurano il
disegno strutturale che sta dietro alla pagina. Le modifiche
apportate nell’editor di struttura di tabelle o frame si mostrano, poi, direttamente nelle
altre finestre.
La progettazione del sito
Questo è un dei punti di forza di GoLive che, alla pari di
Dreamweaver, consente di tenere sotto controllo tutti gli
elementi del sito, creare template modello per tutte le pagine, ispezionare graficamente
link e gerarchie e modificare
qualsiasi elemento nel sito con
un doppio clic. Una prerogativa
unica di GoLive è tuttavia quella di disegnare il sito da zero,
su uno schema grafico che visualizza tutti i possibili elementi. Lo schema può essere
stampato ed esportato per sottoporlo all'approvazione del
committente oppure semplicemente per tenere una documentazione delle varie fasi.
Una volta che lo schema è
completo, il programma genera automaticamente tutte le pagine e gli oggetti corrispondenti, tenendo traccia dei link previsti che saranno aggiunti a mano a mano che inseriamo contenuti nelle pagine così create.
Un esempio in questo senso è
fornito dall'esercizio presente
sul CD Guida.
Il lavoro di gruppo
Un'altra area di netta differenziazione
rispetto
a
Dreamweaver è la gestione
coordinata del lavoro di gruppo. Utilizzando una tecnologia
residente su server, GoLive tiene traccia di chi sta lavorando
sul documento in un certo
istante e di tutte le versioni realizzate. In tal modo, si evitano
variazioni conflittuali e si può
procedere allo sviluppo parallelo dello stesso sito da parte di
un team di professionisti.
La funzione, denominata
Workgroup Server, è totalmente gratuita e integrata nel programma base. La tecnologia
corrispondente di Macromedia
prendeva il nome di Sitespring
ed è stata abbandonata prima
del rilascio di Dreamweaver MX
senza fornire nel frattempo alternative percorribili, perciò GoLive è
l'unico ambiente di
sviluppo sul mercato che consenta
una gestione efficaprosegue
ce di un team. sul CD
(versione integrale
n. 66
dell’articolo sul CD)
3
Fig. 1 Anche Adobe GoLive 6.0, alla pari di Dreamweaver, consente di visualizzare contemporaneamente la vista Layout (struttura) e la vista Origine (codice) modificando
liberamente gli elementi nell'una o nell'altra e osservando le variazioni riportate immediatamente in entrambe. Un ottimo sistema per imparare l'uso di HTML e per manipolare
con efficacia documenti complessi. Fig. 2 La finestra Origine mostra il codice HTML originale e consente di lavorare come in un qualsiasi altro editor HTML testuale di fascia
medio-alta. Questa vista rimane comunque meno potente della corrispondente vista Codice di Dreamweaver MX. Fig. 3 La vista struttura mostra un'analisi strutturale del
documento in termini di gerarchie tra i vari marcatori. Preziosa per l'analisi delle tabelle e delle altre forme complesse di HTML, non trova paragoni in nessun altro programma per
la creazione di pagine Web
25/88
3a lezione
A scuola con PC Open
Progetto
Web Master
di Roberto Mazzoni
1 La tabella come elemento strutturale
ominciamo la nostra
esplorazione in dettaglio del linguaggio
HTML dalle tabelle, un tema
che non viene mai affrontato
per primo nei testi e nei corsi su questo linguaggio, in ragione della sua complessità,
ma che a nostro avviso è necessario invece conoscere da
subito al fine di progettare
pagine funzionali. Oltre alla
loro funzione primaria, che
consiste nel rappresentare
informazioni tabulari, le tabelle costituiscono il più diffuso sistema di "impaginazio-
C
ne" per le pagina Web.
Funzionano come una griglia invisibile, che suddivide
lo spazio della pagina in contenitori ben definiti in cui riversare testo e immagini.
Il professionista perciò inizia il proprio lavoro su una
pagina vergine proprio dalla
progettazione della tabella e
prosegue, poi, con il riversamento dei contenuti e l'aggiunta degli elementi stilistici.
Come qualsiasi altro elemento HTML, anche le tabelle operano nella logica della
"telescrivente", ossia vengono lette dal browser un carattere alla volta, dall'inizio
dalla fine della riga, per poi
cominciare con la riga successiva.
Non esiste modo di sapere
come una tabella sia esattamente composta fino a che il
browser non è arrivato in fondo alla lettura dei vari tag
che la compongono.
Basta un tag sbagliato oppure mancante, per scombinare l'intera pagina e renderla incomprensibile al suo
stesso progettista.
Inoltre, come qualsiasi altro elemento HTML, le tabelle cambiano il proprio funzionamento a seconda della
versione di browser utilizzato e del modo in cui il codice
originale è stato scritto.
Codifiche teoricamente
equivalenti e sintatticamente
corrette possono produrre risultati visibilmente diversi.
È proprio in questo ambito
che i cosiddetti editor HTML
visuali mostrano le maggiori
differenze producendo in automatico codice HTML che
talvolta va rivisto riga per ri-
IL CALENDARIO DELLE LEZIONI
Lezione 1:
• Adobe GoLive 6.0
Competenze e strumenti
Contenuti aggiuntivi sul CD
(disponibile integralmente
sul CD)
il corso è
• Che cosa fa un Webmaster
sul CD
• Gli strumenti di lavoro
n. 67
• Le figure professionali che
affiancano il Webmaster
• Le risorse on line
• Tecniche di progettazione del sito
Aggiunte inedite alla prima lezione
disponibili solo sul CD
di questo numero:
• Organizzazione delle informazioni
• Costruzione della mappa – gerarchia,
ipertesto, struttura lineare
• Strumenti di navigazione
• Sistemi di navigazione
• Sistemi di labeling
Lezione 2:
Siti statici e linguaggio HTML
• Progettare un sito statico
• Progettare la pagina
• Pagine HTML e marcatori
• Strutturare i contenuti della pagina
26/88
• Versioni integrali e complete degli articoli
pubblicati sulla rivista
• Spiegazione dei tag HTML per una pagina
vergine
• Esercizi su come creare una pagina
vergine e su come progettare un sito
dimensionare tabelle con celle miste,
allineamento spontaneo delle tabelle
consecutive
• Template con struttura complessa:
come creare tabelle complesse
• Template con tabelle nidificate: tabelle
nidificate in cascata, complesse
e consecutive
• Esercizi: esplorare i tag delle tabelle,
creare una tabella semplice con
HTML-Kit
Lezione 3:
Modelli di pagina e tabelle
• La tabella come elemento strutturale:
comporre gli elementi della pagina
utilizzando una tabella di riferimento
invisibile
• Progettare layout fluidi e statici:
scegliere il migliore per le proprie
esigenze
• Costruire template con le tabelle
di layout: produrre modelli riutilizzabili
• NamoWeb Editor 5: per siti statici
professionali
Le prossime puntate:
Lezione 4 - febbraio 2003:
HTML 4.01 e CSS
Lezione 5 - marzo 2003:
Design e multimedialità
Lezione 6 - aprile 2003:
Siti interattivi
Lezione 7 - maggio 2003:
Contenuti aggiuntivi sul CD
Interazione sul server
• Dimensionare tabelle e celle fluide,
Lezione 8 - giugno 2003:
Promuovere il sito
3a lezione
ga dal progettista per eliminare gli "errori" introdotti dal
programma.
La corretta gestione delle
tabelle è quindi una vera e
propria arte e costituisce uno
dei pilastri essenziali su cui si
regge il lavoro di chi costruisce siti. A differenza delle tabelle costruite da un foglio
elettronico o da un wordprocessor, che hanno righe e colonne ben identificate e regolabili singolarmente, le tabelle HTML sono semplicemente sequenze di righe e di celle all’interno di tali righe.
Non esiste alcun marcatore per definire le colonne in
quanto tali e il concetto stesso di colonna viene simulato
grazie all'intervento del
browser che, combinando diverse celle appartenenti a righe consecutive, crea l'impressione di un'unità verticale.
La tabella in quanto tale
viene costruita dal browser
combinando i vari tag che definiscono una serie di righe
sequenziali che contengono
una serie di celle le quali,
combinandosi con quelle di
pari posizione nella riga precedente e nella riga successiva, danno l’impressione di
formare colonne verticali,
che in realtà non esistono.
Il browser intraprende alcune azioni autonome per aggiustare e modificare l'aspetto originale delle celle in modo da creare un risultato ritenuto migliore, ma che potrebbe anche essere diverso
dall'intendimento originale
del progettista.
Alcune regole da tenere
sempre a mente
Qualsiasi dimensione specificata per la tabella e per le
celle dal progettista viene intesa dal browser come dimensione minima e puramente indicativa. Nel caso in cui abbiamo indicato unicamente la larghezza della tabella, come
consigliato da alcuni, questa
sarà ripartita tra le diverse celle, in parti più o meno uguali e
sarà quindi modificata dal
contenuto inserito (immagine
o testo).
La larghezza di una riga
coincide sempre con la larghezza della tabella o con la
somma delle larghezze specificate per le celle che la compongono. Non esiste modo per
27/88
definire la larghezza della riga
in quanto tale.
Nel caso in cui tale somma
superasse la larghezza specificata in origine per la tabella,
quest'ultima si allargherà per
adattarsi (qualsiasi cosa definito a livello di cella ha sempre la precedenza su tutto il
resto). La più grande delle
celle di una colonna determina la larghezza di tutte le altre
di quella colonna, anche se
avessimo esplicitamente indicato larghezze inferiori per
le altre celle di quella colonna.
Nella pratica è sufficiente
indicare la larghezza di una
sola cella della colonna affinché tutte le altre si adattino di
conseguenza.
Se inseriamo nella cella
un'immagine che ne supera le
dimensioni, la cella si allargherà automaticamente in modo da contenere l'immagine inserita e farà allargare tutte le
celle che corrispondono alla
stessa colonna.
L'allargamento
porterà
pressione sulle celle circostanti riducendone le dimensioni originali, se tuttavia anche queste contenessero
un'immagine, incomprimibile
per definizione, l'intera tabella
deborderebbe oltre i limiti
consentiti.
Le immagini hanno una fortissima influenza sul comportamento delle tabelle tanto
che per lungo tempo i progettisti Web le hanno usate come
strumento di costruzione della pagina, ben sapendo che
un'immagine non può essere
né allungata né compressa e
che perciò la cella in cui essa è
contenuta rimarrà stabile
qualsiasi cosa succeda al resto della tabella.
Il trucco delle immagini
spaziatrici
Il trucco classico consiste
nel prendere un'immagine di
colore invisibile larga un pixel
e quindi dimensionarla (altezza e larghezza) all'interno della cella di cui vogliamo bloccare le dimensioni.
Di solito viene inserita nell'ultima riga della tabella, che
per il resto rimane vuota, così
da condizionare tutte le altre
celle presenti nella stessa colonna.
Lo stesso trucco può essere
ripetuto su più celle fino a
bloccare l'intera tabella.
Un futuro ingegnere
col Pinguino
nel cuore
Ventisei anni, romano, Marco
Leli appare un giorno nella
nostra community per fornire il
suo commento al nostro corso
per diventare Webmaster.
Lettore “affezionato” di PC
Open (ci segue dal 1999),
partecipa alla vita della
community da spettatore per un
po’, finchè decide di gettarsi
nella mischia...e noi lo
acciuffiamo subito: “che ne dici
di fare quattro chiacchiere con
noi per raccontarci la tua
esperienza?”. All’inizio una
certa ritrosia, poi la tentazione
di apparire “sulla rivista di
informatica preferita” ha la
meglio.
Marco è iscritto alla facoltà di
Ingegneria Informatica
dell’università capitolina La
Sapienza ma gli studi vivono
una fase di stallo “L’università
stava andando un po’ per le
lunghe, quindi ho iniziato a
pensare cosa sarebbe stato
meglio fare e a guardarmi un
po’ in giro; è capitata
l’occasione e ho deciso di
frequentare un corso promosso
dalla Regione e dalla Comunità
europea per Progettista di
applicazioni multimediali”. Qui
Marco prende dimestichezza e
approfondisce gli argomenti
che si ritrovano anche nel
programma del nostro corso:
HTML, Javascript, Dreamweaver
e Flash, fondamenti di
programmazione e ASP. Il corso
termina con uno stage di cento
ore presso una giovane azienda
che sviluppa siti Internet.
“All’inizio mi sono occupato
principalmente dello sviluppo in
HTML, ma poi dall’azienda mi
veniva richiesta la conoscenza
di PHP/Mysql. Grazie al loro
aiuto (e pazienza) e un po’ di
applicazione, ho iniziato a
impratichirmi con questo
ambiente di sviluppo”. E anche
se Marco consiglia di non
affezionarsi mai a nessuna
tecnologia e di usare, volta per
volta, quella più utile alle
esigenze, si capisce da quello
che dice che il suo cuore batte
per il Pinguino. “Linux è
indubbiamente un sistema
difficile da usare, non è
intuitivo come l’ambiente
Windows, crea più problemi
quando si devono utilizzare
periferiche, i driver non sono
sempre facili da trovare, ma
indubbiamente la filosofia che
sta dietro il sistema ha un
grande fascino e poi c’è il
vantaggio che è gratuito”.
E secondo Marco, su cosa vale
la pena di investire?
“Approfondire la tecnologia
Flash, che mi sembra abbia
grosse potenzialità: è
abbastanza portabile, gira sia
sotto Windows sia sotto Linux e
ha un buon supporto per la
programmazione: credo che
potrebbe essere piuttosto
richiesta dal mercato”.
Sogni nel cassetto, programmi
per il futuro? “Non ho
particolari progetti” risponde
Marco “Spero di avere
l’opportunità di approfondire il
settore di cui mi sto occupando
adesso: seguire lo sviluppo
delle tecnologie per il
commercio elettronico, magari
riprendere l’università e intanto
prendermi la laurea di primo
Daniela Dirceo
livello”.
HTML costruisce le tabelle secondo una sequenza lineare, come se fosse una
telescrivente: una cella dopo l'altra sino a completare la riga e quindi ritorna all'inizio
della riga successiva e riprende la costruzione fino a terminare la tabella. Solo alla fine
dell'ultima cella dell'ultima riga il browser sa esattamente come sia composta la tabella
3a lezione
Questo genere di artificio
(definito shim inglese cioè zeppa oppure immagine spaziatrice in italiano) è tutt'ora in uso,
ma presenta l'inconveniente
d'inserire elementi estranei
nella tabella e di perdere l'efficacia qualora il navigatore
avesse disattivato la visualizzazione delle immagini sul
proprio browser.
L'uso delle immagini spaziatrici è considerato peccato
grave dai puristi, ma è sicuramente utile in alcune circostanze.
La flessibilità delle tabelle,
se conosciuta e governata,
può trasformarsi in un pregio
progettuale portando a quello
che viene definito progetto
"fluido" o "liquido", vale a dire
una struttura della pagina capace di adattarsi alla risoluzione del monitor su cui è visualizzata.
La regola generale è comunque di mantenere più
semplici possibili le tabelle
strutturali, usandole solo dove necessario ed evitando, se
possibile, di nidificarne, ossia
di innestare una tabella den-
tro l'altra. Una pagina composta di tabelle molto complesse e incapsulate l'una nell'altra finisce per essere pesante
e per richiedere tempo prima
di poter essere elaborata e visualizzata dal browser, senza
contare le possibilità di errore, che si moltiplicano al crescere del numero di tag utiliz
zati.
Come creare una tabella
Abbiamo costruito una tabella composta da due righe di tre celle
ciascuna assegnando alla tabella nel suo complesso una larghezza
interna di 400 pixel (incluso il bordo).
Fase 1: la tabella è completamente vuota e lo spazio viene ripartito
equamente tra le tre celle che diventano ciascuna di 130 pixel.
La loro somma ci dà 390 pixel, gli altri 10 pixel che mancano per
arrivare a 400 sono utilizzati per il bordo della tabella, largo 1 pixel di
default e calcolato su entrambi i lati, e per la spaziatura tra le celle,
larga 2 pixel di default, e riportata quattro volte per spaziare 3 celle,
per un totale di 8 pixel.
Regola: in mancanza di contenuto e d'indicazioni per le singole
celle, il browser cerca di ripartire equamente lo spazio assegnato
alla tabella nelle varie colonne.
Fase 2: inseriamo il testo e notiamo come questo influenza la
distribuzione naturale degli spazi. La seconda cella della prima riga si
allarga per adattarsi a una scritta che è più lunga delle altre due e
determina anche l'allargamento automatico della cella seguente che
appartiene alla stessa colonna. Adesso la ripartizione degli spazi,
attuata automaticamente dal browser è di 120, 150 e 120 pixel. La
seconda colonna si è allargata a spese delle altre due. La tabella
mantiene le sue dimensioni originali.
Regola: il testo inserito nelle celle ne influenza la dimensione
originale a meno di aver indicato una larghezza fissa per la singola
cella, in aggiunta alle indicazioni di larghezza della tabella.
Lo spazio viene ripartito in modo diverso tra le celle in funzione
del contenuto e si applica in modo uniforme a tutte le celle di
quella colonna, mantenendo invariata la larghezza complessiva
della tabella.
Fase 3: forziamo la dimensione della prima cella della prima riga
indicando, a livello di cella singola, una larghezza di 200 pixel (a cui si
aggiungono i 4 pixel del bordo destro e sinistro all'esterno).
La cella e la relativa colonna si allargano indipendentemente dal
contenuto e costringono le altre due celle a restringersi. Queste però si
restringono diversamente in funzione del testo contenuto. La
situazione finale è la seguente: 204, 104 e 82 pixel.
Regola: l'impostazione di larghezza definita a livello di singola
cella ha la priorità sulle impostazioni di larghezza della tabella e
sul testo eventualmente contenuto. Basta impostare la larghezza
di una sola cella per modificare l'intera colonna a cui appartiene.
Fase 4: aggiungiamo un'immagine larga 179 pixel e alta 56 pixel nella
terza cella della seconda riga. Le altre due colonne si restringono, ma
in modo diverso. La prima colonna, per la quale avevamo specificato
una larghezza obbligata di 200 pixel si riduce a 146 pixel, mentre la
28/88
seconda colonna, che in origine era la più larga avendo anche il testo
più lungo, ma per la quale non abbiamo indicato nessuna larghezza
minima, si restringe al punto di mandare il testo a capo e determinare
in tal modo una maggiore altezza per tutta la prima riga. La tabella
mantiene comunque le sue dimensioni originali e la ripartizione degli
spazi adesso è: 146, 61 e 183 pixel (179 dell'immagine più i quattro
di contorno).
Regola: un’immagine grafica ha sempre priorità rispetto al testo e
rispetto a qualsiasi impostazione di larghezza definita per le
singole celle o per la tabella nel suo complesso. La presenza di
un'immagine determina in modo immutabile la dimensione della
cella, della riga e della colonna a cui questa appartiene.
Fase 5: aggiungiamo la stessa immagine anche nella seconda cella
della seconda riga il che determina l'espansione della seconda
colonna per intero alle dimensioni dell'immagine e il restringimento
della prima colonna ai minimi termini, però insufficienti a mantenere le
dimensioni originali della tabella che deborda oltre il limite imposto di
400 pixel portandoci alla una situazione: 43, 183 e 183 pixel.
Regola: la somma delle larghezze imposte alle singole celle può
superare la larghezza massima definita per la tabella nel qual
caso la tabella si allargherà per adattarsi alle nuove misure.
La presenza di elementi grafici in una cella ne blocca le
dimensioni impedendone la compressione.
3a lezione
2 Progettare layout fluidi o statici
na volta creata la nostra
pagina vergine siamo pronti a costruire la struttura di
layout in cui inserire successivamente i contenuti.
Abbiamo scelto le tabelle come strumento d'impaginazione
perché garantiscono maggiore
compatibilità con i diversi tipi
di browser e anche il miglior effetto estetico. A questo punto si
presentano alcune alternative.
La prima è decidere se incapsulare l'intera pagina in una grande tabella che poi ne conterrà
altre, oppure se ridurre al minimo la quantità di tabelle presenti nella pagina facendo affidamento sullo spontaneo allineamento delle stesse tra loro e
sulla possibilità di affiancarle e
sovrapporle a paragrafi e immagini che fluiscano liberamente nella pagina.
Il primo approccio è anche il
più diffuso perché consente un
miglior controllo degli elementi
e si presta particolarmente alla
produzione di template (pagine
modello) per un sito dinamico.
Infatti, i template di un sito dinamico sono privi dei contenuti che altrimenti sarebbero necessari per tenere al loro posto
le tabelle in una pagina a struttura libera, perciò è difficile vedere durante la progettazione
quale sarà il risultato finale e nel
momento di generare la pagina
in automatico prelevando i contenuti dal database, si otterranno risultati variabili al cambiare
dei contenuti forniti.
Il secondo approccio, che
consiste nel lasciare la pagina libera da una struttura generale e
incapsularne solo alcune parti,
è preferito dai puristi perché
consente di mantenere le pagine più leggere e più semplici.
Inoltre, alcuni browser delle
precedenti generazioni avevano la brutta abitudine di aspettare il caricamento e l'elaborazione dell'intera tabella globale
prima di visualizzare la pagina.
Sezionando la pagina in tabelle
autonome, la generazione è più
rapida sia perché le prime parti
della pagina appaiono subito
mentre il browser sta ancora lavorando all'elaborazione delle
successive sia perché la semplicità delle tabelle richiede poco impegno elaborativo al
browser prima della visualizzazione. Poiché il primo approc-
U
29/88
cio è comunque sempre più diffuso grazie al diffondersi dei siti dinamici, i principali browser
moderni dispongono di una funzione che riduce il ritardo di visualizzazione e che si chiama
"rendering progressivo".
Il programma comincia a visualizzare i primi elementi della
tabella prima di averla caricata
per intero. In tal modo, i primi
elementi di una pagina lunga e
complessa appariranno immediatamente, così da riempire la
finestra video che il navigatore
sta osservando e dando l’idea
che la pagina sia disponibile per
intero. In realtà, il browser sta
ancora lavorando dietro le quinte per completare l'elaborazione della tabella e comporre la
porzione inferiore della pagina
così che sia pronta quando decideremo di eseguire lo scrolling. Di contro può succedere
che la pagina compaia inizialmente con un determinato assetto che si modifica dopo alcuni secondi quando il browser ha
terminato la lettura della tabella nel suo complesso. L'unico
accorgimento da adottare nel
progettare una pagina inserita
in una tabella globale sfruttando il rendering progressivo è di
creare i primi elementi in modo
che non siano indipendenti dal
resto della tabella. Tipicamente
lo si fa creando una prima tabella orizzontale larga nidificata
nella tabella primaria e larga
quanto l’intera pagina che contenga la barra del logo e i primi
elementi di navigazione del sito.
Dopo di che si prosegue a
scendere con una serie di tabelle che si compongano da sinistra a destra e dall’alto verso il
basso. Qualunque sia la soluzione adottata, vale comunque
il criterio di ridurre le tabelle al
minimo e, in particolare, di ridurre la nidificazione progressiva delle tabelle (inserimento di
una tabella in un'altra) perché
una pagina troppo complessa
richiede al browser molto tempo per essere elaborata e può
produrre errori inaspettati.
Fluido, statico o misto
La seconda scelta importante è decidere se la struttura della nostra tabella avrà dimensioni fisse oppure variabili. HTML
consente infatti di specificare la
larghezza della tabella e delle
Tabella statica e dinamica: le tabelle a larghezza fissa, indicata in pixel, mantengono
il proprio assetto qualsiasi sia la dimensione della finestra del browser. Perciò, nel
caso in cui quest'ultima si riducesse al di sotto delle dimensioni necessarie, una parte
della tabella diventerebbe invisibile. Viceversa le tabelle a dimensione variabile,
espressa in percentuale, modificano la propria ampiezza in funzione della dimensione
della finestra e hanno perciò un aspetto meno prevedibile
relative celle (colonne) in pixel
oppure in percentuale. Se indichiamo un valore in pixel la tabella resterà di quella dimensione qualunque sia l'ampiezza
della finestra disponibile per il
browser sul computer dell'utente. Nel caso invece di valori
percentuali, la tabella si allargherà o si stringerà (compatibilmente con i contenuti) al variare della dimensione della finestra di navigazione. È anche
possibile adottare una soluzione mista dove solo alcune colonne abbiano una dimensione
Test: leggi le domande e verifica le tue risposte
Riepilogo dei concetti della Lezione 3
?
1. Perché le tabelle sono diventate lo strumento principale per
definire il layout delle pagine Web?
2. In che modo una tabella viene letta e costruita dal browser?
3. Che differenza esiste tra le tabelle HTML e quelle convenzionali?
4. Quali sono i tag principali di una tabella?
5. Che rapporti di priorità esistono tra le indicazioni fornite a livello
di tabella e a livello di singola cella?
6. Che cos'è il layout fluido o liquido?
7. Che cos'è una tabella nidificata?
8. Quali sono le principali regole da osservare nella progettazione di
una tabella di layout?
9. Che cosa differenzia una tabella di contenuto da una tabella di
layout?
10. Che cos'è in rendering progressivo?
(risposte a pagina 34)
3a lezione
Tabella semplice. Una tabella si apre e si chiude con la coppia di tag <table></table>.
Ogni riga è identificata da una coppia di tag <tr></tr> (che in inglese corrisponde
all'abbreviazione di table row) e al loro interno troviamo varie celle, disposte in
sequenza, e ciascuna delimitata dalla coppia di tag <td></td> (che in inglese significa
table data). Affinché la tabella sia valida e visualizzabile deve contenere almeno una
riga che contenga almeno una cella. Le celle vuote non vengono visualizzate da alcuni
browser perciò ciascuna cella lasciata vuota per motivi estetici (spaziatura) dovrebbe
almeno contenere uno spazio fisso - non breaking space, ossia il simbolo &nbps.
fissa, ad esempio quelle conte-
nenti i link di navigazione, mentre le altre abbiano una dimensione variabile, ad esempio
quelle che contengono il testo.
Tag fondamentali
di una tabella
Qualunque sia l'impostazione progettuale, una tabella si
apre e si chiude sempre con i
tag <table> e </table> all’interno
di quali troviamo una serie di righe delimitate dai tag <tr> e
</tr> che a loro volta contengono un certo numero di celle
contrassegnate dai tag <td> e
</td>. Prendendo a prestito una
metafora dal libro "HTML 4 Tutto & Oltre", costruire una tabella è come erigere un muro. Si
crea la base con <table> quindi
si stende il primo strato di cemento con <tr> si posano diversi mattoncini in sequenza con
<td> e </td> dopo di che si passa al nuovo strato di cemento
con </tr> e <tr>. Il numero di righe può variare liberamente,
ma il numero di celle deve essere costante riga per riga altrimenti sarà impossibile costruire le colonne. La larghezza delle
celle non deve essere necessariamente uguale, invece, sebbene sarebbe meglio che lo fosse.
Se non fosse possibile mantenere lo stesso numero di celle
per ogni riga. è consentito usare
speciali comandi per estendere
una cella su più colonne in orizzontale o su più righe in verti-
30/88
cale, ma si tratta di soluzione
usata di rado per le tabelle di
layout e sconsigliata anche per
le tabelle di dati, visto che si
presta a interpretazioni diverse
da parte dei browser.
Se per errore il numero di
celle presente in una riga non
corrispondesse alle altre, la tabella sarà scombinata e la visualizzazione risultante sarà
confusa. Ne consegue che è difficile realizzare tabelle molto
complesse senza perderne il
controllo. I principali errori di
codifica di una pagina HTML risiedono proprio nella costruzione delle tabelle. In particolare, una tabella non chiusa propriamente con il tag finale </table> può scombinare la pagina
al punto da renderla irriconoscibile. Possono nascere problemi anche dalla mancata
chiusura dei tag interni di riga o
di cella. Fortunatamente i browser moderni dispongono di
strumenti particolari per compensare la complessa gestione
delle tabelle. Internet Explorer,
ad esempio, completa automaticamente una riga non chiusa
quando incontra il marcatore
d’inizio della successiva (<tr>) e
riesce anche a risolvere alcuni
dei casi di tabella non chiusa.
Più rigidi sono invece Netscape
Navigator e Opera; per tale motivo si consiglia sempre di eseguire un’anteprima della pagina
con uno di questi programmi
prima di rilasciarla.
Pagine ad assetto variabile: vediamo un esempio reale di pagina costruita
integralmente con un layout fluido. La videata 1 è larga 1.005 pixel (mintor da 1024 x
768 pixel), la 2 è larga 735 pixel e la 3 è larga 502 pixel. Qualunque siano le
dimensioni della finestra del browser, tutti gli elementi rimangono visibili. La colonna di
navigazione a sinistra ha dimensione fissa, mentre la colonna di testo e la barra
orizzontale contenente il logo e la navigazione globale sono flessibili. L'unico elemento
orizzontale che non si adatta è il banner, che naturalmente ha dimensione fissa e
scompare parzialmente quando la finestra viene ridotta alla posizione 3
Le risposte alle domande di pag. 33
1. Consentono di controllare gli
spazi nella pagina senza
alterarne l'aspetto estetico.
Sono compatibili con
qualsiasi tipo di browser e
offrono la massima
flessibilità di configurazione,
a fronte di una certa
complessità di realizzazione.
2. In modo sequenziale,
carattere per carattere,
dall'inizio alla fine della riga
per poi ricominciare
dall'inizio della riga
successiva. Solo al termine
della lettura dell'intera
tabella il browser sa
effettivamente com'è fatta e
come debba essere
riprodotta.
3. Le tabelle HTML non hanno
colonne definibili in quanto
tali. Ciascuna colonna viene
costruita combinando in
verticale le celle di ciascuna
riga.
4. Sono tre: <table> per aprire
e chiudere la tabella <tr>
(table row) per aprire e
chiudere ciascuna riga e
<td> (table data) per aprire e
chiudere ciascuna cella.
5. Le indicazioni fornite a livello
di cella hanno sempre la
priorità su quanto definito a
livello globale di tabella.
6. Un layout basato su tabelle o
elementi di tabelle che
!
hanno una
larghezza definita
in termini percentuali
rispetto all'ampiezza
complessiva della finestra
del browser. Un layout fisso
o statico usa invece tabelle
con larghezza in pixel.
7. Una tabella costruita
all'interno della cella di
un'altra tabella.
8. Evitare una complessità
eccessiva e, particolare,
l'impiego eccessivo di tabelle
nidificate. Ricordarsi che la
larghezza di una riga coincide
sempre con la larghezza
della tabella o con la somma
delle larghezze specificate
per le celle che la
compongono e che qualsiasi
oggetto inserito in una cella
può influenzarne le
dimensioni, alterando
l'assetto complessivo della
tabella.
9. La tabella di contenuto ha
bordi visibili e talvolta anche
uno sfondo. Contiene una
serie di attributi stilistici che
servono alla corretta
gestione del testo e che non
sono necessari in una
tabella di layout.
10.La visualizzazione graduale
dei primi elementi di una
tabella prima che sia stata
letta per intero dal browser.
3a lezione
3 Costruire template con le tabelle di layout
efinire la struttura della
pagina mediante l'impiego
di tabelle è una delle operazioni più complesse con cui il
Webmaster e il Web designer si
devono misurare. D'altro canto
è essenziale nella costruzione
di un sito e una volta prodotto il
modello, alias template, sarà
possibile costruire numerose
pagine strutturalmente identiche tra loro, ma capaci di ospitare contenuti diversi. A tal fine
sarà importante concepire una
struttura che sia capace di
adattarsi al variare dei contenuti e sia riutilizzabile il più
possibile. Mantenere al minimo
il numero di template è un requisito necessario per avere un
sito gestibile e per facilitarne la
successiva evoluzione a sito dinamico.
Il primo passo consiste nel
decidere se incapsulare il tutto
in una singola tabella oppure
creare diverse tabelle separate
che si allineano spontaneamente. A favore della prima soluzione gioca il completo controllo della struttura e delle sue dimensioni, a favore della seconda una maggiore leggerezza della pagina e semplicità delle tabelle che porta, alla fine, a una
maggiore velocità di visualizzazione nel browser (per una descrizione di come allineare le
tabelle rimandiamo all'articolo
Tabelle consecutive sul CD).
La seconda decisione è tra
una struttura fissa, immutabile
al variare della dimensione del
browser oppure fluida, capace
quindi di espandersi e di contrarsi all'unisono con la finestra del navigatore. Nella pratica, è raro trovare pagine fluide
in tutti i loro componenti, perciò anche nel caso di un design
D
Le tabelle HTML prevedono due attributi
per estendere una cella in orizzontale e in
verticale creando così strutture
complesse che permettono una
distribuzione degli spazi non regolare
31/88
fluido, dovrete decidere quali
elementi mantenere stabili al
loro interno.
Pagine fisse e variabili
Il comportamento statico oppure fluido della tabella e delle
sue celle dipende dall'impostazione di un singolo attributo:
width che può assumere valori
in pixel, perciò assoluti, oppure
valori in percentuale (da 1 a
100). Assegnando una larghezza percentuale all'intera tabella,
ad esempio con il tag <table
width="75%">, otterremo un oggetto con una dimensione complessiva pari al settantacinque
per cento della finestra del
browser, qualunque siano le dimensioni di quest'ultima. Tale
ampiezza sarà, poi, distribuita
in modo uguale tra tutte le celle/colonne, salvo modificare le
dimensioni di una particolare
colonna rispetto alle altre a seguito dell'inserimento di testo o
immagini, come visto nell'articolo precedente. Se volete controllare le dimensioni percentuali di una colonna rispetto alle altre, potete assegnarle un
valore specifico.
Di solito s'imposta la dimensione della prima o dell'ultima
cella, usando sempre l'attributo
width all'interno, in questo caso, del tag <td>. Ad esempio <td
witdh="30%"> imposta le dimensioni della cella e della relativa colonna in modo che sia
il trenta per cento del totale
della tabella, nel nostro esempio sarebbe il 30% del 75%. Lo
spazio restante sarà distribuito
in modo equo tra le altre colonne. Il vantaggio di assegnare
una dimensione percentuale
esplicita a una delle colonne è
duplice: creare proporzioni diverse nelle dimensioni di ciascuna rispetto a quanto determinato automaticamente dal
browser e garantirne la stabilità
anche quando inseriamo testo
o altri elementi di contenuto.
Infatti, una tabella che abbia
una larghezza impostata per almeno una delle sue colonne,
manterrà il suo assetto anche
nel momento in cui inseriamo
testo nelle varie colonne. Qualora il testo fosse troppo lungo
per essere contenuto nella cella, il browser lo manderebbe
automaticamente a capo allungando in verticale la cella e tut-
PC Open 35
Prendiamo la struttura tipica di una delle pagine del corso sul CD e analizziamo le
tabelle che la compongono. Notiamo una grande tabella generale che contiene l'intera
pagina all'interno della quale si sviluppano nove tabelle nidificate suddivise in cinque
aree logiche distinte
ta la riga a cui essa appartiene.
Diversa è invece la situazione
nel caso in cui venga inserita
un'immagine in una cella con
dimensionamento percentuale.
Infatti l'immagine, essendo incomprimibile, obbligherà la cella a mantenere una larghezza almeno pari alla propria o superiore (trovate un dettaglio
esemplificativo di questi passaggi nell'articolo Dimensionare tabelle e celle sul CD).
Soluzioni miste
Cosa succede se nella nostra
tabella fluida volessimo bloccare una colonna? Dovremmo impostarne le dimensioni in pixel
e lasciare libere le altre oppure
impostarle in percentuale. Anche in questo caso sarà sufficiente impostare la larghezza di
una sola delle celle che compongono la colonna a dimensione fissa. Ad esempio il tag
<td width="120"> inserito nella
cella della prima o dell'ultima
riga, imposterà la larghezza dell'intera colonna a 120 pixel e fisserà anche la dimensione complessiva della tabella. Ricordiamo un concetto importante del
dimensionamento fisso: la misura espressa in pixel indica la
larghezza massima della colonna. Perciò il browser non la
espanderà anche quando la finestra si allarga, ma non è vero
il contrario.
Come già visto nell'assegnazione delle priorità dimensionali in una tabella fissa (vedi
l'articolo Stabilità delle dimensioni), è sempre possibile
restringere la larghezza di una
cella/colonna a dimensione fis-
sa quando imposto dal comprimersi della finestra o dall'espandersi del contenuto nelle
colonne circostanti. L'unico
modo per garantire che una colonna rimanga davvero bloccata sia in espansione sia in compressione (una caratteristica
necessaria ad esempio per una
barra di navigazione) consiste
nell'inserire un'immagine di larghezza esattamente identica alla larghezza della colonna. Di
solito l'immagine trova posto in
una cella in fondo alla colonna,
collocata all'interno di una riga
altrimenti vuota così da non essere visibile al navigatore. Allo
scopo si usa di solito di un'immagine trasparente lunga e larga un pixel, il cosiddetto spaziatore o immagine spaziatrice
(shim).
E fin qui sembrerebbe tutto
chiaro: per produrre un sito
con pagine fluide basta bloccare le colonne che contengono
elementi di navigazione e lasciare libere quelle che invece
ospitano il contenuto (testo e
immagini). In tal modo il contenuto utilizzerà tutto lo spazio
disponibile nella finestra del
browser e, al contempo, il navigatore non sarà sorpreso da
elementi di navigazione che
continuano a cambiare aspetto
(per un dettaglio su come costruire pagine di questo tipo
vedi l'articolo Dimensionare
tabelle con celle miste sul CD).
Purtroppo, però, le tabelle
ad assetto misto (fluido e statico) presentano alcune stranezze con cui bisogna fare i conti.
Innanzi tutto i browser più vecchi non rispettano la dimensio- 3a lezione
Ecco la stessa pagina da cui abbiamo rimosso tutto il contenuto di testo. Le cinque
zone diventano più evidenti. Sono interamente comprese in una tabella globale che ne
ospita 9 nidificate. La zona 1 contiene il logo (che occupa la prima tabella nidificata al
primo livello) e la navigazione globale del CD (che occupa la seconda tabella nidificata
al secondo livello). La zona 2 contiene la navigazione gerarchica e utilizza due tabelle
nidificate una nell'altra. La zona 3 ospita i contenuti con due tabelle nidificate
consecutive. La zona 4 contiene la navigazione locale della lezione e usa altre due
tabelle nidificate consecutive. La zona 5 contiene il riferimento ai credits e usa una
tabella larga quanto l'intera pagina
ne massima imposta per le co-
lonne a larghezza fissa inserite
in una tabella fluida e quando la
finestra viene allargata finisce
per espandersi anche la colonna che dovrebbe restare bloccata. Persino l'immagine spaziatrice non ci aiuta in questo
caso perché essa garantisce
che la colonna non si restringa
al di sotto della propria dimensione, ma non può impedirle di
allargarsi.
Il problema è stato ormai risolto dalle versioni recenti di
browser, ma se pensate che i
vostri utenti usino browser di
due o tre anni fa, bisogna ricorrere a un altro trucco: impostare la larghezza di una delle colonne variabili al 100% in modo
che la somma delle percentuali
superi 100. Il browser darà sempre a tale colonna la massima
larghezza possibile "tenendo a
bada" tutte le altre. Questo
stratagemma può servire anche a definire una pagina che
abbia solo colonne a larghezza
fissa eccetto una, quella dedicata al testo, e che quest'ultima
si estenda a garantire alla colonna variabile sempre la massima ampiezza possibile. Avrete notato che insistiamo sull'assegnare la larghezza sempre a
una sola cella della colonna, i
motivi sono tre: è inutile specificarlo per le altre celle visto
che queste si adattano automaticamente facendoci risparmiare codice e mantenendo la pagina più leggera; nelle tabelle
complesse è facile perdere il filo e assegnare dimensioni diverse a celle della stessa colonna; in caso di modifica delle dimensioni della tabella, è me-
32/88
glio dover lavorare su una sola
riga che doverne cambiare tante.
Finora abbiamo parlato solo
di larghezza di tabelle e celle,
ma i tag <table> e <td> consentono di specificarne anche l'altezza minima che anche in questo caso può essere espressa in
pixel oppure in percentuale rispetto all'altezza della finestra
del browser. È un attributo usato di rado poiché la norma è lasciare che la tabella si allunghi
e si accorci da sola in funzione
del contenuto inserito, tuttavia
è importante sapere che a differenza della larghezza, dove si
indica un valore massimo, qui
viene sempre indicato un valore minimo, al di sotto del quale
il browser non può scendere,
ma che può essere incrementato se il contenuto nelle celle
contigue lo richieda. Indicando
una lunghezza e una larghezza
pari al 100%, la tabella occuperà sempre il massimo dello
spazio disponibile nella finestra. Non esiste un'altezza di riga perché in realtà quest'ultima
eredita l'altezza della cella più
alta al suo interno. Anche in
questo caso, se dovete indicare
un valore, fatelo su una cella
soltanto, la prima o l'ultima della riga.
Template con struttura
complessa
Nella definizione del layout
di una pagina è raro trovarsi
con le strutture molto regolari
consentite dalle tabelle semplici con un numero uniforme di
celle per ciascuna riga. Anche
ricorrendo a tabelle multiple
consecutive, non si riesce a ri-
produrre l'effetto desiderato e
bisogna creare forme più complesse mediante l'estensione di
celle su più righe e colonne oppure mediante l'innesto di una
tabella nell'altra. L'estensione
di una cella su più righe o colonne è un'operazione poco intuitiva e delicata perché i browser la interpretano a modo loro.
I puristi consigliano di evitarla,
ma esistono diverse situazioni
in cui non è possibile farne a
meno, perciò tanto vale padroneggiarla. L'operazione si basa
sull'impiego di due attributi del
tag <td>, ossia colspan per indicare su quante colonne si debba estendere la cella in orizzontale e rowspan per indicare
su quante righe debba estendersi in verticale (vedi sul CD
l'articolo dettagliato Creare tabelle complesse).
È più facile capire il funzionamento di questi due attributi
se li consideriamo capaci di
unire due celle adiacenti per
formarne una sola. In effetti
questa è esattamente l'operazione compiuta da alcuni editor
visuali nel momento in cui
chiediamo di estendere una cella in orizzontale o verticale. Se
invece lavoriamo a mano, dobbiamo occuparci di cancellare
personalmente la cella contingua nel cui spazio vogliamo
estendere la cella espansa. In
pratica quando aggiungiamo
colspan o rowspan entro una
cella esistente, questa si allargherà ad occupare lo spazio
della cella adiacente facendo
scorrere tutte le celle della riga
o della colonna di una posizione, scombinando la struttura
della tabella. Togliendo la cella
di cui abbiamo preso il posto, la
tabella si rimette a posto.
Oltre a consentire maggiore
flessibilità estetica nella riproduzione degli spazi, le celle
espanse svolgono anche una
funzione di controllo sulla porzione di tabella a cui appartengono. Ad esempio, una cella
espansa in orizzontale riunisce
diverse colonne in modo che
queste definiscano le proprie
ampiezze in relazione al raggruppamento prima ancora
che in relazione alla tabella nel
suo insieme. Le celle estese diventano quindi anche uno strumento d'impaginazione, ma
purtroppo risultano persino
più incostanti nel comportamento rispetto alle celle singole. Un criterio generale che può
aiutare a orientarsi è di consi-
derarle come un livello intermedio tra la tabella e la singola
cella. HTML è costruito secondo una logica di concatenazione gerarchica degli attributi tale per cui gli attributi dell'entità
maggiore si trasferiscono alle
entità minori salvo che queste
dispongano di attributi propri
che hanno priorità rispetto a
quelli ereditati dal livello superiore.
Come abbiamo visto, una larghezza impostata a livello di tabella si divide equamente tra le
varie celle a meno che queste
non abbiamo indicazioni dimensionali proprie e queste ultime vengano superate da eventuali assestamenti dimensionali determinati dall'inserimento
di contenuto nella cella stessa.
È la logica dell'assegnare priorità agli attributi in cascata. Una
logica che vedremo utilizzata
anche dai Cascading Style Sheet
(fogli di stile in cascata). Le celle espanse, quindi, hanno attributi tra loro pari, perciò una
cella espansa può influenzarne
un'altra e avere la meglio sugli
attributi dimensionali della tabella nel suo complesso. Sono
anche capaci d'influenzare il
comportamento dimensionale
delle righe e colonne che racchiudono a condizione che
queste non contengano indicazioni dimensionali proprie. Per
avere un'idea pratica di come si
comportano, rimandiamo all'articolo Creare tabelle complesse sul CD).
Nidificare le tabelle
Purtroppo anche l'impiego
di celle espanse non è sufficiente a coprire tutte le esigenze di layout di una pagina, perciò esiste un ulteriore livello di
complessità a cui ricorrere, che
consiste nell'inserire una tabella nell'altra. Di solito è sconsigliato spingersi oltre ai tre o
quattro livelli di nidificazione
per non mandare in crisi il
browser che trova sempre difficile interpretare tabelle nidificate. Alcuni consigliano di evitarle del tutto, il che è praticamente impossibile se non nelle
pagine più elementari. Il consiglio è di ridurle al minimo e di
nidificare tabelle semplici, possibilmente con dimensioni fisse
(in pixel). Nidificare significa
inserire un'intera tabella all'interno della cella di una tabella
esistente, seguendo le stesse
regole di costruzione usate per
le tabelle normali. Un listato
3a lezione
Per comodità qui abbiamo attivato la visualizzazione dei bordi della tabella di layout
globale. Riconosciamo visivamente la distribuzione delle righe e delle celle che la
compongono
con tabelle nidificate diventa
molto complesso e difficile da
decifrare se non a occhi molto
esperti.
Cerchiamo di capire le regole
fondamentali. Le informazioni
fornite fin qui valgono sia per le
tabelle di layout sia per le tabelle di contenuto, ma quando
si entra nel dominio delle tabelle nidificate ci troviamo unicamente nel dominio del layout,
perciò introduciamo per prima
cosa alcuni accorgimenti che
sono tipici di questo ambiente.
A differenza di una tabella di
contenuto, le tabelle di layout
sono invisibili poiché non contribuiscono all'informazione
della pagina, ma servono unicamente per fissare le posizioni
dei vari elementi. Ne consegue
che devono essere invisibili, il
che richiede l'impostazione
uniforme di tre attributi: border="0" per nascondere i bordi
(li si può tenere visibili come
aiuto nella fase di progettazione, per poi rimuoverli alla fine),
cellpadding="0" per azzerare la
spaziatura interna alla cella e
cellspacing="0" per azzerare la
spaziatura tra le celle. Di default il browser assegna un bordo di un pixel e una spaziatura
interna ed esterna di 2 pixel
per lato a ciascuna cella, perciò
è importante ricordarsi di disattivare questi tre elementi
prima di cominciare a costruire
la tabella di layout.
Si comincia sempre col definire le dimensioni della tabella
generale che conterrà l'intera
pagina oppure una porzione di
questa e poi la si suddivide in
colonne. La seconda fase consiste nel dimensionare le tabelle nidificate e le colonne di queste ultime, una per una. Spesso
dovrete ricorrere alle immagini
spaziatrici trasparenti per garantire la stabilità degli elementi della pagina, ma si possono
usare allo scopo anche elementi grafici visibili, che possibil-
33/88
mente facciano già parte del
progetto grafico della pagina.
La generazione di tabelle nidificate è semplificata enormemente dall'impiego di editor visuali che consentono di disegnare la pagina col mouse su un
foglio bianco e quindi generano
in automatico tutte le tabelle
necessarie. Rientrano in questa categoria Dreamweaver
MX e Fireworks MX, GoLive
6.0, FrontPage 2002, Namo Webeditor, Hot Metal Pro.
Ciascuno segue un approccio diverso e genera tabelle più
o meno efficienti. Namo si distingue per il fatto di realizzare
un tracciato provvisorio della
pagina, modificabile in tutti i
suoi elementi, ma nel quale è
già possibile inserire contenuti
per avere un'idea dell'aspetto finale della pagina prima di produrre il codice HTML vero e
proprio. Anche Fireworks si
comporta in modo analogo,
con l'aggiunta di conservare
sempre l'originale modificabile
del progetto e quindi di poter
ripetere la generazione dell'HTML quante volte si vuole,
per poi darlo in pasto a
Dreamweaver MX. Quest'ultimo dispone di una funzione
propria di generazione grafica
del layout che produce il codice immediatamente, ma permette comunque di modificare
visualmente gli elementi già generati (per una prova completa
vedi Macromedia Dreamweaver MX, la nave scuola del
Web design sul CD).
Discorso analogo per GoLive
6.0 che trasforma la generazione della pagina Web in una vera
e propria operazione di disegno: c'è una tela bianca con
una griglia di riferimento su cui
collocare qualsiasi tipo di oggetto. Ogni elemento rimane
modificabile e la generazione o
rigenerazione del codice HTML
è immediata (vedi Adobe GoLive 6.0 maestro di tabelle sul
pagina mantenga la
propria larghezza e
struttura. A sua volta
include una delle altre
tabelle nidificate che
contiene le voci di navigazione globale (home, indice, corsi, eccetera). La seconda area
è composta da due tabelle, una nell'altra che
si appoggiano spontaneamente sotto la tabella del logo e che
ospitano la navigazione del CD. La terza
area è composta da
due tabelle indipendenti, collocate una
sotto l'altra, che contengono il testo e le
Ecco la stessa pagina visualizzata secondo la
immagini della pagina
struttura del codice HTML della tabella principale.
Notiamo che si compone di cinque righe, tre delle
oltre che un elemento
quali contengono a loro volta una o più tabelle
di navigazione locale
nidificate. Proviamo ad aprire la prima riga e
(Precedente – Prossiscopriamo che contiene una sola cella in cui trova
mo). La quarta area
posto la prima tabella, quella che contiene il logo.
contiene altre due taQuest'ultima a sua volta si compone di tre righe
nella seconda della quale troviamo un'altra tabella
belle che elencano tutnidificata, che contiene la navigazione globale
ti i link di una particolare lezione. La quinta
CD). FrontPage 2002 genera im- area contiene semplicemente
mediatamente il codice e offre una riga di chiusura.
Tutte e cinque le aree vengopossibilità di modifica sugli elementi essenziali (ne parleremo no tenute al loro posto e collonella prossima lezione). In cate reciprocamente dalla tamancanza di strumenti visuali, bella principale che vediamo
la costruzione del layout passa schematizzata in un grafico geper un lungo processo di codi- nerato con GoLive. L'area 1 ocfica dei vari elementi, partendo cupa l'unica cella che compone
da dimensioni tracciate in anti- la prima riga della tabella. La
cipo su un foglio di carta o an- seconda riga contiene una tacor meglio su una stampa del bella invisibile che serve da
spaziatore tra il logo e il resto
progetto grafico della pagina.
della pagina e che a sua volta
Un esempio di tabelle
ospita tre celle con immagini
nidificate
spaziatrici invisibili che ne
A titolo di esempio riportia- bloccano le dimensioni impomo la struttura di tabelle nidifi- stando la larghezza delle tre cocate usata per le pagine interne lonne successive che ospitano
del nostro corso su CD. Vedia- le aree 2, 3 e 4 composte da almo una tabella generale, che trettante celle contigue nella
avvolge tutta la pagina, all'in- terza riga. La riga quattro conterno della quale sono state in- tiene semplicemente la linea
serite otto tabelle nidificate: blu di chiusura e la riga cinque
una espressamente dedicata al corrisponde all'area 5 nel notesto e ai contenuti informativi, stro schema, quella che contiele altre riservate agli elementi ne il link alla pagina dei credits.
di navigazione e alla barra orizBenché possa sembrare
zontale che contiene il logo.
complessa, questa è una pagina
Il modello di pagina è quello abbastanza comune in un sito e
classico a quattro pannelli de- sicuramente è meno articolata
scritto nella seconda lezione di una home page. Per vedere
(vedi l'articolo Impostare gli come è stata costruita rimanspazi del canovaccio sul CD). diamo agli articoli nel CD: TaOsservando la pagina senza belle nidificate in cascata, Tacontenuti notiamo che le otto belle nidificate complesse e
tabelle nidificate si dividono in Tabelle nidificate consecutive.
cinque aree principali. La prima Rimandiamo invece alla prossiè la tabella che contiene la bar- ma lezione per esaminare gli
ra orizzontale del logo, indi- aspetti delle tabelle in quanto
spensabile per garantire che la elementi di contenuto.
3a lezione
4 Namo WebEditor 5, per siti statici professionali
onostante la sua matrice
coreana, questo software
ha già conquistato una discreta popolarità nel mondo
dei Webdesigner grazie al costo ridotto, alla semplicità d'interfaccia e alla precisione del
suo ambiente di sviluppo visuale. È una soluzione valida
per chi voglia evolvere da un
editor basato sul testo verso
un approccio visuale capace di
offrire le principali funzioni
professionali a cui è già abituato. Offre un buon compromesso di funzioni per chi voglia gestire tutte le componenti del sito, dalle pagine agli elementi
grafici e alle animazioni. Il programma offre strumenti per la
generazione di tutti gli elementi grafici di supporto a beneficio dei Webmaster che non siano dotati del tocco artistico.
Pregevole in questo senso la
raccolta di clip art e di siti preconfigurati abbinata al programma.
Il programma è concepito
per l'impiego immediato anche
senza lettura del manuale. Le
opzioni sono state ridotte all'essenziale e i parametri di lavoro sono impostati per default ai valori che si reputano
idonei per la maggior parte dei
siti. Il suo ambiente grafico è
ottimo per la generazione rapida di prototipi di pagina e di sito. Il progettista trova infatti
un'interfaccia completamente
grafica per "disegnare" gli spazi della pagina (layout) e quindi generare in automatico il codice della tabella che per tradurre tale layout in HTML. La
generazione del codice avviene
solo su comando, una volta
che il disegno della pagina è
completo. Fino a quel momento, qualsiasi elemento può essere modificato, spostato e ridimensionato ed è possibile inserire i contenuti finali negli
spazi (testo e immagini) per
osservare quale sia il risultato
finale prima di partire con la
codifica HTML automatica che
appare pulita e senza sorprese.
Questa funzione di design interattivo non offre la potenza che
si trova in Dreamweaver e GoLive, ma in compenso è utilizzabile in pochi minuti e può
soddisfare la gran parte delle
situazioni. Il corredo di funzionalità di Namo WebEditor offre
N
34/88
Identikit
La vista HTML mostra il codice originale della pagina e consente di modificarlo
in diretta come qualsiasi altro editor testuale. Il programma evidenzia i tag e i
relativi attributi differenziandoli dal testo e numera le righe
Caratteristiche
Sito produttore: www.namo.com
Sito distributore: www.questar.it
Costo licenza: 199,89 euro, upgrade 99,90 euro, versione "Education"
99,90 euro
Requisiti: Windows 98, SE, ME, NT 4, 2000, XP
un livello intermedio interessante per chi è stanco di lavorare con un semplice editor
HTML di tipo testuale, ma non
è pronto per il passaggio diretto a Dreamweaver o GoLive e
non si fida del codice generato
in automatico da FrontPage.
Tre modalità di lavoro
Il programma offre due ambienti di lavoro primari: la finestra HTML che mostra il codice
nella sua versione integrale e la
vista Modifica che mostra una
sorta di anteprima grafica della
pagina su cui è possibile intervenire direttamente usando
mouse, icone e menu. Alla vista
Modifica è possibile aggiungere la modalità Layout per disegnare a mano libera i contorni
degli spazi che vogliamo creare
nella pagina per poi lasciare al
programma la generazione automatica delle tabelle che li
conterranno.
Oltre che in fase di progettazione, la vista Modifica risulta
comoda per aggiungere, modificare e aggiornare qualsiasi
elemento della pagina. Offre
strumenti rapidi per intervenire su testo, immagini e tabelle,
osservando immediatamente i
risultati. Qualsiasi operazione
eseguita in modalità grafica si
trasforma in una modifica sequenza del codice HTML che
può essere riesaminato entrando in vista HTML.
In tale vista, appaiono evidenziati con un colore diverso
tutti tag e i relativi attributi,
inoltre il programma numera
automaticamente le righe e le
manda a capo con un soft wrap
(senza aggiungere un ritorno a
capo forzato) per facilitarne la
lettura. È possibile inserire tag
in automatico cliccando sulle
relative icone oppure selezionando le rispettive voci di menu. Non troviamo invece le funzioni di completamento e correzione immediata del tag come negli editor professionali,
ma per lo meno il WebEditor
evidenzia eventuali tag incompleti. Consideriamola una vista
di complemento all'editing visuale, utile per la produzione di
siti statici, ma non per lo sviluppo di siti dinamici, dove la
codifica manuale è preponderante e dove servono anche
strumenti per sveltire la scrittura nei vari linguaggi di scripting e dove la digitazione manuale deve raggiungere un elevato livello di precisione e velocità.
Namo WebEditor fornisce
una serie di script già pronti,
da configurare mediante wizard, per realizzare gli effetti
più comuni. Non offre tuttavia
strumenti mirati a chi debba
Namo WebEditor è uno dei più
popolari editor visuali in
circolazione. Offre una buona
miscela di funzioni orientate
soprattutto alla progettazione,
alla pubblicazione e
manutenzione rapida di un sito
statico. Include tutte le funzioni
necessarie al Webmaster per
coprire anche la componente di
design. Indicato per progetti di
media complessità e per chi vuole
evolvere da un semplice editor a
base testo verso un ambiente
visuale economico e facile da
imparare.
Pro
- Interfaccia semplice ed efficace
- Ottima palestra formativa
- La vista di layout consente la
produzione istantanea di
prototipi
- Integra le componenti
necessarie per produrre gli
elementi grafici del sito
- Include una gestione integrata
del sito e delle sue risorse
- Genera in automatico un HTML
corretto
Contro
- Manca un editor specifico per i
CSS
- Scarso supporto per i linguaggi
di scripting
- Poco efficiente per la produzione
di siti dinamici
scrivere script da zero. A questo scopo è perciò necessario
affiancare altri programmi specializzati come HomeSite oppure uno dei tanti editor gratuiti, come quello che abbiamo
scelto per il nostro corso:
HTML-Kit. Sono invece veloci
ed efficaci invece i suoi strumenti di controllo e ripulitura
del codice già scritto. I fogli di
stile sono supportati, sebbene
manchi un editor dedicato alla
loro gestione. Il supporto all'HTML dinamico è abbastanza
buono. Buone anche le funzioni di controllo del sito nel suo
complesso: il Gestore Risorse
tiene traccia dei vari elementi
disponibili: pulsanti, set di colori, stili, eccetera, mentre il
Gestore Siti aiuta a tener traccia
dei file che compongono un determinato sito e della struttura
di navigazione corrisponden-
3a lezione
te. Da qui è possibile eseguire
alcune operazioni che si estendono all'intero sito come la ricerca e sostituzione di testo, il
controllo del codice, la verifica
e correzione guidata dei collegamenti interrotti, la conversione globale dei nomi di file in
lettere tutte minuscole, la pubblicazione in remoto mediante
protocollo FTP. Nella confezione del prodotto sono incluse
anche tre utility: Namo Capture per catturare le immagini a
video, Namo GIF Animator per
creare GIF animate e Namo Slicer per suddividere immagini
troppo grandi in modo che siano visualizzate progressivamente all'interno di una pagina,
pezzo per pezzo, pur mantenendone l'integrità visiva mediante l'impiego di una tabella.
Il programma in questo caso
genera in automatico anche la
tabella HTML che conterrà le
diverse parti dell'immagine.
Curiosa la disponibilità di
una modalità di progettazione
"i-mode" per lo sviluppo di pagine visualizzabili sui telefonini
cellulari multimediali disponibili in Giappone,
ma del resto si tratta di un software
coreano, il che
spiega tutto.
(versione integrale
dell’articolo sul CD)
il corso è
sul CD
n. 67
La vista Modifica è la più importante di Namo WebEditor e contiene tutte le funzioni
per la creazione e modifica visuale degli elementi nella pagina
5 L’iter per registrare un dominio
uno dei business più profittevoli della Rete che ha
tenuto botta nonostante la
crisi della new economy. Non a
caso se su Yahoo si cerca l’elenco delle aziende che vendono i vari .com o .it si trova un
elenco che conta quasi una cinquantina di nomi. Il motivo si
spiega facilmente. La vendita
di domini non comporta il trasferimento di beni fisici, ma solo il trasferimento di “oggetti”
digitali. Poi si porta dietro la
vendita di altri servizi e infine il
mercato continua a tirare perché la vendita dei suffissi si rivolge indistintamente a privati
È
In arrivo il “.eu”
Appuntamento per l’estate 2003.
Dovrebbe essere questo il
momento del debutto per il dominio
.eu che servirà a identificare le
imprese del Vecchio Continente. Il
25 ottobre è scaduto il termine per
la presentazione delle
manifestazioni d'interesse alla
Commissione europea da parte
degli organi interessati a diventare
gestori dei domini .eu. Fra gli enti
interessati c’è anche un consorzio
italiano formato dalle authority
italiana, belga e svedese alle quali
in caso di vittoria potrebbero
aggiungersi le authority slovena e
ceca oltre a l’Isoc Europe. Per la
prima volta nella storia di Internet a
decidere chi dovrà gestire il registro
del .eu non sarà l’ICANN ma
l’Unione europea, alla quale rimarrà
la paternità del .eu, che in questo
35/88
e aziende. E soprattutto queste
ultime non possono ormai fare
a meno di avere una presenza
in rete. Tutto questo è testimoniato dalla crescita del mercato
che oggi in Italia conta 742.939
domini, una cifra che in Europa
è inferiore solo a quella dell’Olanda 790.304 del Regno Unito
(3.635.585) e della Germania
che guida la classifica dei paesi
dell’Unione europea con
5.666.269. Nonostante il ritardo
nell’utilizzo di Internet, l’Italia
ha risposto bene all’offerta di
domini che nel corso del tempo
si è andata ampliando. Dopo i
classici .com, .net e .org e l’italinon seguirà il normale iter dei gTLD
(.com, .net, .org). "Creato a
garanzia della proprietà industriale
e della personalità delle realtà
aziendali, personali o pubbliche che
ne faranno richiesta – spiega Bruno
Piarulli di Register.it –, il nuovo
identificativo è destinato ad aprire
nuovi orizzonti sulle attività
commerciali, culturali e sociali del
Vecchio continente, contribuendo
alla diffusione di Internet e dell’ecommerce in quella che, una volta
allargata, sarà la terza comunità al
mondo per numero d’individui". E
che il business sia importante lo
testimoniano gli operatori che
hanno iniziato già a raccogliere le
preregistrazioni in rete. Peccato che
la Commissione europea abbia
spiegato che le preregistrazioni
potranno partire solo quando il
futuro registro europeo sarà
operativo.
co .it sono arrivati altri domini
come .biz, .info e .name a qualificare ulteriormente la presenza in Rete. Il fatto che non abbiano avuto lo straordinario
successo dei domini generici
che hanno caratterizzato la prima fase di vita di Internet non
significa che il mercato si stia
sgonfiando. Anzi, altri domini
arriveranno, il .eu per esempio
per permettere di identificare
sempre meglio l’attività che si
vuole svolgere in rete o la provenienza geografica di persone
e aziende. Ma vediamo di approfondire tutti i segreti del
mondo dei domini Internet.
Il dominio è insieme all’indirizzo IP il modo che ci permette
di essere individuati su Internet. Si tratta di una parola (che
può essere anche l’unione di
più parole) accompagnata da
uno dei suffissi che oggi è possibile registrare. Nel caso di PC
Open, per esempio, parliamo di
pcopen.it. Il dominio da registrare in rete deve infatti essere
composto da una sola parola o
da più parole spezzate anche
da trattini. Vietati apostrofi e
accenti, simboli della punteggiatura e altri caratteri particolari come ad esempio @, &, %.
In generale il dominio deve avere una lunghezza minima di tre
caratteri e massima di 63
(estensioni escluse) e non può
cominciare o finire con un trattino. A questa regola però ci sono alcune eccezioni. Per i gTLD
(generic Top Level Domain)
quali .com, .net e .org, .biz, .info
e .name, infatti, è possibile anche registrare domini di due
lettere.
In Italia i domini possono essere acquistati da chiunque,
persona fisica o giuridica, a patto che faccia parte dell’Unione
europea.
La struttura mondiale
della Rete
Prima di affrontare la procedura di registrazione e gli enti
italiani che governano Internet
è il caso di disegnare la struttura mondiale della rete. Il vertice
è costituito dall’ICANN (Internet Corporation for Assigned
Names and Numbers), l’organismo che sovrintende all’assegnazione dei domini. Si tratta di
un ente non profit le cui scelte
sono ratificate dal ministero del
Commercio statunitense il cui
board of director, secondo le
nuove regole recentemente approvate, sarà formato da 18
membri. Il consiglio sarà eletto
da un comitato elettivo e da tre
organizzazioni che rappresentano i gruppi di proprietari di
URL (Universal Resource Locator, l'indirizzo di una pagina
Web su Internet). Sparisce così
la norma che prevedeva che
cinque membri fossero eletti
dagli utenti della Rete. Una decisione che secondo molti allontana il vertice di Internet dai
bisogni dei navigatori.
All’ICANN spetta il compito
di decidere quali siano i nuovi 3a lezione
domini da adottare e chi dovrà
gestirli. Un compito non facile
soggetto a numerose pressioni
(il business fa gola a molti) e
che fino a oggi ha comportato
tempi molto lenti nell’adozione
di nuovi domini che hanno causato anche la nascita di società
alternative delle quali parleremo più avanti.
Nonostante le proteste,
ICANN rimane il massimo organo di Internet al quale è delegata anche la scelta dei registry
dei gTLD, le società che si occupano di gestire i database dei
vari .com, .org o .info. La scelta
dei registry che si occupano
dei ccTLD (Country Code Top
Level Domain) è invece fatta in
modo autonomo dalle locali comunità Internet dei vari Paesi
con il parere favorevole del governo. Il livello successivo è costituito dai registrar o maintainer ai quali i registry appaltano
di solito vendita dei domini. Di
solito si utilizza il termine registrar quando questi soggetti
possono vendere i gTLD e hanno la possibilità di scrivere direttamente nel database di chi
gestisce questi domini. Si tratta
di un privilegio riservato a pochi visto che le società che possono vantare questa qualifica
sono 110 nel mondo fra le quali
c’è l’italiana Register.it. Molto
più accessibile è la qualifica di
maintainer, il quale vende gli altri suffissi. In questo caso le richieste di registrazione devono
essere inviate all’Authority e
non si accede direttamente ai
database. In Italia si preferisce
utilizzare il termine maintainer.
La Registration Authority
(www.nic.it), che ha sede presso l’Istituto per le applicazioni
telematiche del CNR di Pisa, ha
il compito di assegnare e registrare tutti i nomi a dominio
che utilizzano il suffisso .it. La
Naming Authority si occupa invece di stabilire regole e procedure attraverso le quali sono
gestiti i domini.
Requisiti per poter
registrare un dominio
Per registrare i domini .it bisogna possedere una Partita
IVA (per le aziende) o un codice
fiscale (i privati) e avere la residenza in uno dei Paesi dell’Unione europea. Le aziende europee possono registrare a loro
nome un numero illimitato di
domini .it, mentre i privati possono registrare a loro nome un
solo dominio .it. Per i domini
36/88
.com, .org e .net non è prevista
invece nessuna limitazione anche per i privati.
A meno di offerte particolari
o altri accordi, l’acquisto del
dominio vale per un anno. Alla
scadenza di solito (questo dipende dai servizi offerti dalla
società che vi ha venduto il dominio) l’utente viene avvisato e
può così procedere al rinnovo o
all’abbandono.
Come si registra un dominio
Chi vuole acquistare un dominio .it oltre che essere maggiorenne deve firmare e inviare
via fax (al numero 050/542.420)
o per posta raccomandata ( Registration authority italiana,
Istituto per le applicazioni telematiche del CNR, via Giuseppe
Moruzzi 1, 56124 Pisa) una lettera di assunzione di responsabilità. La lettera può essere di
solito stampata da Internet nel
sito del maintainer. L’assegnazione da parte della Registration authority non è in tempo
reale e segue il principio del first come first served. In sostanza
se due persone o aziende inviano la richiesta di acquisto del
medesimo dominio viene premiata la richiesta arrivata per
prima a Pisa. Per controllare se
un dominio è già occupato, ed
eventualmente chi l’ha acquistato, bisogna interrogare il database della Registration
Authority. Per farlo bisogna andare sul sito www.nic.it/RA/index.html oppure passare per i
siti delle società che vendono i
domini che di solito offrono anche la possibilità di interrogare
direttamente il database della
Ra (come Register.it). Per ottenere un dominio sono necessari circa tre-quattro giorni. Una
volta effettuata la registrazione
la Registration authority provvederà a rendere tecnicamente
visibile in Rete l’utente registrato. In pratica la Ra compie
un atto amministrativo registrando il nuovo dominio e uno
di tipo tecnico registrando il
fatto che il dominio risiede in
almeno due DNS, Domain Name
Server. I DNS servono per convertire i nomi dei nodi (come
www.pcopen.it) in indirizzi numerici IP. Di solito questi server
sono di proprietà della società
che ha venduto il dominio e ne
ha effettuato la registrazione,
ma nel caso di grandi organizzazioni (ad esempio Fiat o Microsoft) i server sono di proprietà delle società che in que-
Il trasferimento “a pacchetti”
Internet è formata da un numero
imprecisato di computer host
collegati tra loro. Questi host
dialogano trasferendosi pacchetti
di dati che passano attraverso vari
server Internet fino ad arrivare al
destinatario. In questo viaggio i
dati vengono riconosciuti e
interpretati dai vari host che
capiscono se sono destinati a loro
o se devono trasmetterli a un’altra
macchina. Il protocollo TCP/IP
permette di effettuare queste
operazioni trasferendo i dati a
pacchetti. I pacchetti sono gruppi
di dati che riportano sempre
l’indirizzo del mittente e quello del
destinatario. L’indirizzo è codificato
a 32 bit e consiste in un alternarsi
di 0 e 1 (codifica binaria). Il numero
viene diviso in una sequenza di
quattro cifre che sono poi
trasformate in base dieci. Questo
dà vita a numeri come
sto modo possono attivare senza problemi i sottodomini.
Chi invece deve acquistare
un dominio .com, .net, .org non
deve compilare la lettera di assunzione di responsabilità.
Quando si acquista un dominio
non si entra in possesso per
sempre del nome (il mercato
avrebbe vita breve) ma in sostanza si acquisisce il diritto di
utilizzare quel nome per uno o
più anni. Il prezzo varia a seconda del suffisso che si intende utilizzare.
Quanto costa?
L’offerta in rete è molto varia; si passa da 9,95 a 35 euro
per un .it oppure a 14,95 per un
.com. Dipende dai livelli di rivendita, dalla politica commerciale e anche dai servizi offerti
in abbinamento con la vendita
del dominio.
Attenzione però a non farvi
abbagliare dal prezzo. Il costo
principale di chi vende il dominio è dato infatti dalla gestione
dei nomi. In pratica quello che
si paga non è il dominio in sé
ma i servizi (per esempio il
cambio di DNS o altro) richiesti
a queste società che foniscono
anche una sorta di assicurazione che tutto funzionerà per il
meglio.
E in certi momenti un servizio consumatori che funziona e
dà seguito immediatamente alle vostre richieste può essere
molto utile. Quante volte vi siete scontrati con un indirizzo e-
192.153.169.24, e questa è la
tipica forma di un indirizzo IP.
Ovviamente ricordarsi ogni volta la
sequenza di numeri sarebbe troppo
macchinoso, e per questo si è
pensato di introdurre la possibilità
di legare a un indirizzo IP un nome
a dominio. La “traduzione” da
dominio a indirizzo IP è affidata al
DNS. Non tutti i nomi a dominio
possono essere registrati. Esistono
infatti nomi riservati. Per esempio
non sono assegnabili i nomi di
regioni e province, le sigle a due
lettere delle province a tre lettere
delle regioni, i nomi corrispondenti
all’identificazione dell’Italia e i
nomi dei comuni italiani. Gov.it e
governo.it sono riservati al sito
dell’esecutivo così come it.it,
Italia.it, Repubblica-Italiana.it e
RepubblicaItaliana.it sono
assegnabili solo agli organi
istituzionali dello Stato.
mail dal quale non arriva mai
una risposta?
Il servizio di hosting
Spesso alla vendita dei domini è abbinata quella dell’hosting. Questo perché acquistare un dominio senza lo spazio
Web non avrebbe grande senso
a meno che non sia un acquisto
di tipo difensivo fatto da società che in questo modo vogliono cautelarsi dall’utilizzo di
nomi che potrebbero corrispondere a marchi che lanceranno in futuro.
Nel caso invece l’acquisto
del dominio sia collegato all’apertura di un sito è necessario
possedere anche lo spazio Web
che spesso porta con sé anche
un servizio di hosting. In pratica la società che ha venduto il
dominio ospita sui propri server le pagine Web del sito e la
posta elettronica.
Anche in questo caso le offerte presenti in Rete sono molto differenti e prima di scegliere
è il caso di leggere attentamente le voci del contratto con i relativi servizi e soprattutto avere ben chiaro in mente cosa si
vuole fare con il proprio sito. Se
le ambizioni, per il privato o l’azienda, si traducono semplicemente nel primo passo su Internet con un sito dedicato alla
famiglia o una vetrina delle attività aziendali non è il caso di
spendere molti soldi.
Lo spazio gratuito spesso
concesso con l’acquisto di un
3a lezione
dominio può essere sufficiente.
Pochi MB bastano per foto e testi, poi quando le idee saranno
più chiare e i progetti su Internet più definiti, si potranno
chiedere spazi più ampi.
È inutile farsi abbagliare da
offerte mirabolanti con spazi
infiniti che non saranno mai utilizzati. Meglio concentrarsi su
elementi più importanti come
l’affidabilità del sistema e i margini di autonomia che possiede
l’utente per effettuare le operazioni di configurazione del suo
sito. Quanti sono i server a disposizione? Qual è il livello di
sicurezza della connettività?
Sono queste alcune domande
da porsi (anche in relazione al
tipo di progetto che avete intenzione di realizzare sul Web)
quando si affronta la scelta dell’hosting. Tenendo presente
che l’aspetto principale è quello della vostra autonomia.
L’utente deve infatti avere la
possibilità di muoversi a proprio agio nel suo sito senza dover avere la necessità di chiedere via e-mail modifiche o altro. Questo però non esclude
che l’esistenza di un eccellente
servizio ai consumatori che
aiuti i navigatori in difficoltà sia
un altro elemento importante
nella scelta dell’hosting. Per
quanto riguarda la scelta di una
piattaforma Linux o Windows è
una questione che può interessare soprattutto chi ha in programma l’allestimento di siti
complessi che prevedono relazioni con i database. In caso
contrario la piattaforma ha poca importanza.
Luigi Ferro
37/88
Quando ti “rubano” il sito
nni fa gli squatter occupavano le case. Poi è arrivata Internet e qualcuno
ha pensato fosse il caso di occupare anche il Web. Nasce
così il cybersquatting, l’occupazione abusiva di domini. In
pratica, il furbo di turno, decide di acquistare un dominio
che guarda caso è uguale al
nome o al marchio di un’azienda. Di solito lo fa solo per
poi rivenderlo a caro prezzo
ma può anche utilizzarlo per
sfruttare la notorietà del marchio.
Così un mcdonald.it può diventare per esempio un sito
per parlare male degli hamburger o cocacola.it per dire
quanto fanno male le bibite
gassate. Peccato però che,
passata l’equiparazione del
nome a dominio con il brand,
questa pratica non sia legale.
Internet non è il selvaggio West dove vige la legge del più
forte o semplicemente di chi
arriva prima, ma un luogo virtuale con regole assolutamente reali. Per questo motivo si è
proceduto a varare norme
precise per dare ai domini i legittimi proprietari. Le procedure di rassegnazione dei nomi a dominio sono denominate MAP (Mandatory Administrative Proceeding) e sono
attivate da Enti conduttori
che hanno ricevuto l’autorizzazione a operare dalla Naming Authority. Il procedimento avviato dagli enti con-
A
duttori ha natura amministrativa e non esclude quindi la
possibilità di ricorrere alla
magistratura ordinaria. A vantaggio di questa soluzione,
però, c’è la velocità della procedura. Secondo le regole stabilite dalla Naming Authority
è possibile ricorrere sotto tre
condizioni:
1) quando il nome a dominio utilizzato da un terzo sia
identico o tale da indurre a
confusione rispetto ad un marchio su cui egli vanta diritti o
sia identico al proprio nome e
cognome;
2) se l'attuale assegnatario
non abbia alcun diritto o titolo
in relazione al nome a dominio
contestato;
3) il nome a dominio sia stato registrato e venga utilizzato
in mala fede.
Chi ricorre potrà ottenere la
rassegnazione del nome a dominio in caso di presenza contemporanea della prima e terza condizione e il presunto cybersquatter non provi di avere
diritto o titolo in relazione al
dominio contestato. Per quanto riguarda il secondo punto
per poter continuare a utilizzare il dominio il resistente (colui
che ha acquistato il nome a dominio oggetto della contesa)
deve dimostrare di:
a) aver utilizzato o di essersi oggettivamente preparato
ad usare, in buona fede, il nome a dominio o un nome ad
esso corrispondente per offer-
ta al pubblico di beni e servizi,
prima di aver avuto notizia
della contestazione;
b) essere stato conosciuto,
personalmente, come associazione o ente commerciale con il
nome corrispondente al nome a
dominio registrato, pur non
avendo registrato il relativo marchio;
c) aver effettuato un legittimo uso commerciale o non
commerciale, del nome a dominio, senza l'intento di sviare
la clientela del ricorrente o di
violarne il marchio registrato.
In base a queste regole lo stilista Giorgio Armani non ha potuto prendere possesso del nome a dominio armani.it, già registrato dal timbrificio Armani,
mentre la Warner Village Cinema ha ottenuto Warnervillage.it.
www.nic.it/NA/maps/ è l’indirizzo presso il quale si trovano i link agli enti conduttori per
i
domini
.it,
mentre
www.icann.org/udrp/approved-providers.htm è l’altro indirizzo per i domini .com, .net,
org.
I costi della procedura, a carico del ricorrente, variano a
seconda di quanti saggi fanno
parte del collegio e possono
andare per esempio da 800 euro (un dominio con un saggio)
fino a 2.240 (un dominio con
tre saggi). La decisione deve
pervenire entro sessanta giorni dalla data di presentazione
del reclamo.
L.F.
4a lezione
A scuola con PC Open
Progetto
Web Master
di Roberto Mazzoni
1 Stile e struttura: usare i tag HTML nativi
elle lezioni precedenti
abbiamo visto come progettare e realizzare un sito statico e come strutturare
pagine modello da utilizzare
come elemento standard per
conferigli una certa omogeneità di layout e di navigazione.
Adesso è arrivato il momento di versare il contenuto, cominciando dal testo che costituisce di gran lunga l'elemento
più comune di un sito e di conseguenza prevede anche la più
grande varietà di tag, ciascuno
N
con funzioni specifiche.
La gestione del testo solleva
una questione che avevamo
già anticipato all'inizio del corso, vale a dire la differenza tra
marcatori strutturali e marcatori stilistici.
HTML, infatti, nasce in origine come linguaggio strutturale. I suoi tag servono a indicare il ruolo che un determinato componente svolge all'interno della pagina e non il modo in cui questo debba essere
rappresentato.
Spetta al browser decidere
in che modo visualizzarlo, basandosi sulle caratteristiche
del computer e sulle eventuali
preferenze indicate dall'utente. Tuttavia, l'impiego dei soli
tag strutturali codificati nelle
prime due versioni di HTML
produceva pagine esteticamente orribili, del tutto inadatte alle esigenze della nuova
forma di editoria che si stava
sviluppando sul Web.
Prendiamo l'esempio della
marcatore <h#> che identifica
un titolo (heading) e al quale si
possono associare fino a sei li-
velli consecutivi così da determinare una struttura gerarchica di titoli e sotto-titoli:
<h1></h1> seguito da <h2>
</h2> eccetera.
Benché offra un sistema
pratico per strutturare documenti di tipo scientifico, produce una visualizzazione del
tutto sproporzionata rispetto
al testo normale, identificato
dal tag <p>, decisamente brutta a vedersi.
Inoltre né <h#> né <p> consentono di variare il tipo di
font utilizzato nella pagina e il
IL CALENDARIO DELLE LEZIONI
Lezione 1:
• Esercizi su come creare una pagina
vergine e su come progettare un sito
Competenze e strumenti
(disponibile integralmente
sul CD)
Lezione 3:
il corso è
sul CD
n. 68
• Che cosa fa un Webmaster
• Gli strumenti di lavoro
• Le figure professionali che
affiancano il Webmaster
• Le risorse on line
• Tecniche di progettazione del sito
• Organizzazione delle informazioni
• Costruzione della mappa – gerarchia,
ipertesto, struttura lineare
• Strumenti di navigazione
• Sistemi di navigazione
• Sistemi di labeling
Lezione 2:
Modelli di pagina e tabelle
(disponibile integralmente sul CD)
• La tabella come elemento strutturale
• Progettare layout fluidi e statici
• Costruire template con le tabelle
di layout
• NamoWeb Editor5: per siti statici
professionali
• Dimensionare tabelle e celle fluide,
dimensionare tabelle con celle miste,
allineamento spontaneo delle tabelle
consecutive
• Template con struttura complessa
• Template con tabelle nidificate
• Esercizi
Siti statici e linguaggio HTML
(disponibile integralmente
sul CD)
• Progettare un sito statico
• Progettare la pagina
• Pagine HTML e marcatori
• Strutturare i contenuti della pagina
• Adobe GoLive 6.0
• Spiegazione dei tag HTML per una pagina
vergine
38/88
• Cosa si può fare con i fogli stile
• Quattro tipi di CSS
• I colori del Web
• Gestire le immagini
• Esercizi
Contenuti aggiuntivi sul CD
• Versioni integrali e complete
degli articoli pubblicati sulla rivista
• Ereditarietà e innesco a cascata
• Proprietà di trasferimento dei parametri
• Regole di ereditarietà
• Selettori di classe
• Websafe palette
Le prossime puntate
Lezione 5:
Design e multimedialità
Lezione 4:
Lezione 6:
HTML 4.01 e CSS
Siti interattivi
• Stile e struttura: usare i tag HTML nativi
• Il deprecato tag font
• I marcatori per formattare il testo
• Gestire gli spazi nel testo
• CSS e HTML 4.01
Lezione 7:
Interazione sul server
Lezione 8:
Promuovere il sito
4a lezione
relativo colore, e ben sappiamo che testi uniformemente
neri e tutti con carattereTimes
Roman non facilitano il riconoscimento e la lettura "tipografica" di una pagina editoriale. Anzi, Times Roman è nato per funzionare bene sulla
carta, mentre rende male sullo
schermo.
Esistono invece font concepiti espressamente per il Web
che sono ormai riconosciuti
da tutti i browser e che facilitano la lettura a video, un
esempio in tal senso il Verdana, evoluzione telematica dello storico Helvetica.
Tag e attributi deprecati
L'esigenza di fornire elementi per il controllo della visualizzazione a video del testo
ha portato all'inserimento nel
linguaggio HTML di marcatori
e attributi con funzioni unicamente stilistiche, come ad
esempio la coppia di tag
<font></font> che determina il
tipo, la dimensione e il colore
della font attribuita al brano di
testo che racchiude.
È proprio grazie a questi tag
"irregolari" che sono potuti nascere i primi siti editoriali e i
grandi portali, ma il loro impiego indiscriminato ha portato a pagine complesse da gestire, alterando la "purezza"
originale di HTML.
Con la versione 4 di questo
linguaggio il W3C (World Wide
Web Consortium – www.
w3c.org) ha cercato di riportare ordine mantenendo compatibilità con i precedenti tag stilistici, ma offrendo un'alternativa attraverso l'impiego di
uno strumento aggiuntivo: i fogli di stile in cascata (Cascading Style Sheets).
Purtroppo, come ben sappiamo, i produttori di browser
non sempre dedicano la massima priorità all'adeguamento
nei confronti degli standard e
perciò a tutt'oggi il supporto
per i fogli di stile non è completo.
Tuttavia è già possibile rimpiazzare il tag <font> quasi
ovunque e la specifica 4.01 ci
aiuta a trovare la giusta transizione per arrivare a tale risultato, identificando attributi e
tag deprecati e indicando come e dove sostituirli.
Naturalmente non è obbligatorio sposare i fogli di stile e
ci sono ancora molti siti in circolazione che impiegano liberamente il tag <font> e molti al-
tri artifici deprecati. Funzionano e continueranno a funzionare anche in futuro, ma limitano moltissimo l'evoluzione
verso lo standard XML (eXtensible Markup Language) che
impone il massimo rigore nella
separazione tra informazioni
di struttura e informazioni stilistiche.
Di fatto, scoprirete che l'impiego dei fogli di stile offre soluzioni più eleganti e più gestibili rispetto ai corrispettivi tag
stilistici del vecchio HTML 3.2,
ma bisogna conoscerne le sfumature e sapere come farli
convivere al fine di garantire la
massima compatibilità con i
vari tipi di browser in circolazione.
Markup fisici e logici
Cominciamo con l'esamina- GLOSSARIO
CSS (Cascading Style Sheets):
fogli di stile in cascata, un
sistema concepito nel 1996 per
assegnare attributi stilistici agli
elementi di una pagina Web in
modo distinto e complementare
rispetto al linguaggio HTML.
Consentono di definire numerosi
attributi tipografici per ciascun
elemento presente nella pagina,
oltre che indicarne la posizione e
il comportamento al verificarsi di
alcune circostanze (passaggio
del mouse sopra la parola o
frase, eccetera).
Consentono di centralizzare in un
solo documento tutti i parametri
stilistici di un sito così che, con
una sola modifica, sia possibile
variare tutte le pagine del sito.
Alleggeriscono le pagine
medesime poiché le informazioni
stilistiche per un certo sito
vengono caricate una volta sola.
Garantiscono compatibilità tra i
diversi browser, dispensando il
Webmaster dall'usare tag
particolari per ciascuno.
Possono anche funzionare in
abbinamento a documenti XML
per fornire le informazioni di
presentazione.
La versione corrente è la 2.0,
ma il W3C sta già lavorando alla
3.0
DOM (Document Object Module):
un modello mediante il quale è
possibile manipolare gli oggetti
che sono contenuti in una
pagina. Per oggetti s'intende gli
elementi (la combinazione del
39/88
tag di apertura, degli eventuali
attributi, del tag di chiusura e del
testo racchiuso tra i tag), i
collegamenti ipertestuali e altro
ancora. Diventa quindi possibile
cancellare, aggiungere e
modificare un elemento,
cambiarne il contenuto oppure
aggiungere, cancellare e
modificare un attributo.
Ad esempio è possibile chiedere
via programma l'elenco di tutti gli
elementi predenti nel documento
che sono identificati dal tag
<h1>.
HTML 4.01 (HyperText Markup
Language): lo versione corrente
del linguaggio di marcatori (mark
up) per la costruzione di pagine
Web. Definita per la prima volta
nel dicembre 1999 come
evoluzione della precedente
versione 4.0 (dicembre 1997)
stabilizza quest'ultima in termini
di tag e d'integrazione con i fogli
di stile, aggiungendo il supporto
per il modello DOM (Document
Object Model) per la creazione e
manipolazione di documenti
HTML via programma.
SGML (Standard Generalized
Markup Language): è un
metalinguaggio, vale a dire un
linguaggio per definirne altri,
standardizzato nel 1986
dall'International Standard
Organization (ISO). All'epoca
esistevano diversi linguaggi di
markup, ma nessuno di essi era
portabile, vale a dire che erano
nati per un particolare tipo di
computer e un particolare tipo di
ambiente software. Con SGML si
è creata una base teorica per la
definizione di altri linguaggi (tra
cui HTML e XML) che sono
pienamente portabili.
XHTML 1.0 (Extensible
HyperText Markup Language): lo
standard che definisce la
"riscrittura" di HTML secondo gli
standard di XML. XHTML 1.0 è
concepito per facilitare la
transizione graduale da HTML
4.01 verso il nuovo mondo XML
che è assai più rigoroso in
termini di sintassi e fortemente
orientato all'uso delle pagine
Web come combinazioni di
oggetti da manipolare via
programma. La specifica XHTML
1.0 è stata pubblicata nel
gennaio del 2000 e aggiornata
nell'agosto del 2002 per
correggere errori segnalati nei
primi due anni d'impiego.
Costituisce il primo passo per la
migrazione verso siti di nuova
generazione
XHTML 1.1: questa versione è
molto più rigorosa rispetto
XHTML 1.0 e non concede alcun
compromesso di compabilità
verso i tag deprecati che ancora
troviamo in HTML 4.0.
Raggruppa in moduli i vari
elementi previsti dal linguaggio
XHTML così da facilitarne
l'impiego all'interno di
documenti che usano altri
insiemi di tag (come ad esempio
MathML che usa XML per
definire tag specifici per i
documenti matematici).
XHTML 2.0: nuovo standard in
via di definizione, la cui versione
più recente risale al dicembre
2002. È incompatibile con le
precedenti versioni XHTML 1.0 e
1.1 Il W3C sta lavorando alla
versione 2.0, aggiornata a
dicembre 2002.
XML (Extensible Markup
Language): un linguaggio di
marcatori che vi permette di
sviluppare i vostri marcatori
personalizzati da utilizzare
all'interno di applicazioni
particolari. In pratica un
linguaggio per lo sviluppo di
linguaggi. Non si occupa affatto
di definire la presentazione a
video dei vari elementi, ma ne
classifica solo la natura.
Non costituisce una derivazione
di HTML, sebbene mantenga
diversi elementi di somiglianza,
rappresenta invece
un'evoluzione diretta dell'SGML
da cui HTML è un semplice
derivato.
XSL (Extensible Stylesheet
Language): linguaggio per la
definizione di fogli di stile da
abbinare a documenti XML.
Viene utilizzato ancora poco
perché molto complesso e
orientato ai programmatori più
che ai creativi.
4a lezione
re la differenza tra tag fisici
(stilistici) e logici (strutturali)
usando un esempio classico:
In questa figura notiamo come gli
attributi tipografici di base assegnati da
HTML a un testo formattato unicamente
con tag strutturali siano inadeguati. Il
titolo di primo livello appare gigantesco
rispetto al testo e con una spaziatura
eccessiva sia sopra che sotto. Gli altri
due livelli di titolo mostrano lo stesso
problema, benché ridimensionato.
Notiamo invece l'effetto identico ottenuto
con i tag stilistici <b> e <i> rispetto ai
corrispettivi tag strutturali <strong> ed
<em> (consigliati)
l'evidenziazione di una parola
o di una frase rispetto al resto
del paragrafo. È possibile realizzarla mediante due tag fisici: <b></b> per il grassetto
(bold) e <i></i> per il corsivo
(italic) oppure mediante due
corrispettivi
tag
logici:
<strong></strong>
ed
<em></em> (emphasize).
Nel primo caso diciamo al
browser di visualizzare obbligatoriamente un testo in grassetto e un testo corsivo (difficilmente leggibile a video), nel
secondo caso gli diciamo semplicemente di rafforzarne la visualizzazione oppure di enfatizzarlo, lasciandolo libero di
scegliere il modo più idoneo
per farlo.
Nella pratica, <b> e <strong>
produrranno entrambi un testo in grassetto e <i> ed <em>
produrranno entrambi un testo in corsivo, ma <strong> ed
<em> sono consigliati dallo
standard HTML 4.01 puristi
perché indicano al browser
una caratteristica del testo,
vale a dire che si tratta di pa-
role da mostrare con più forza
oppure da enfatizzare, anziché
specificare come farlo.
In effetti questi ultimi due
attributi potrebbero anche
produrre un testo sottolineato
su un monitor che non sia in
grado di generare grassetto e
sottolineato, come nel caso
del display di molti telefonini.
Esistono altri esempi di questo tipo come nel caso del sottolineato e del barrato che si
ottengono rispettivamente
con i due tag fisici <u> e <s>,
ma che possono essere riprodotti anche con due nuovi tag
specifici di HTML 4.01: <ins> e
<del>. Il primo indica concettualmente
l'inserimento
d'informazioni che potrebbero
essere temporanee e che devono essere verificate oppure
che potrebbero cambiare in
futuro, il secondo indica invece la cancellazione visiva del
brano d'informazione che racchiude. Vediamo perciò che
l'impiego di tag logici aggiunge
significato al semplice effetto
grafico e che tale significato
Il listato HTML che produce l'effetto
visualizzato nella figura precedente.
Notate che ciascun titolo dispone di un
proprio tag e che il testo è integralmente
racchiuso in un tag di paragrafo che lo
identifica. Notate che la "è" viene
trasformata in una delle entità previste
da HTML per la codifica dei caratteri
particolari, in questo caso è notate che l'entità comincia sempre con
& e termina con il punto e virgola
può quindi essere utilizzato all'interno di programmi di lettura automatica delle pagine
Web (vedremo meglio questo
genere di applicazioni quando
Gestire gli spazi nel testo
Tutti i browser hanno una
caratteristica in comune: generare
una presentazione del contenuto
che sia adatta al tipo di computer
su cui stanno funzionando,
interpretando a proprio modo le
informazioni della pagina ed
eliminando il superfluo o ciò che
credono tale. In effetti il Web è
nato in un contesto accademico
dove crediamo che gli autori
fossero più concentrati
sull'informazione che volevano
trasferire che non sulla sua forma
e c'era l'esigenza di garantire che
un testo composto su un tipo di
computer rimanesse
comprensibile anche quando
trasferito altrove. Mancando di
qualsiasi funzioni tipografica nella
versione 1.0 e 2.0 di HTML,
l'unico modo disponibile per
impaginare le informazioni
consisteva nell'allineare i vari
elementi all'interno della colonna
di testo usando spazi multipli,
spazi che possono essere usati
come rientro per le righe di un
paragrafo oppure come
distanziatori tra le voci di un
indice e i numeri di pagina
all'altro estremo della riga.
40/88
Il problema è che tali spazi
possono cambiare dimensione
quando mostrati su computer
diversi con font differenti e tutti gli
allineamenti costruiti in origine
dall'autore finiscono per
scombinarsi creando confusione
anziché aiutare la comprensione
del contenuto, inoltre molti
"scrittori" non professionali
inseriscono distrattamente due o
tre spazi tra le parole mentre le
digitano, presentando un
documento che ha un aspetto
trasandato.
Al fine di prevenire tali
inconvenienti e filtrare gli errori,
tutti browser eliminano
automaticamente qualsiasi spazio
aggiuntivo e richiedono all'autore
di specificare un particolare tipo
di entità nel caso voglia avere una
serie di spazi consecutivi,
rendendolo in tal modo
consapevole che si tratta di una
soluzione particolare di cui si
assume piena responsabilità.
Tale entità prende il nome di
spazio unificatore (non breaking
space) e si scrive  
all'interno della pagina HTML
(ripetendolo per ogni singolo
spazio). Lo spazio unificatore
svolge tre funzioni: impedisce la
separazione di due parole in fine
di riga per effetto del ritorno a
capo automatico eseguito dal
browser, blocca una cella di
tabella oppure un paragrafo
mostrando al browser che non
sono vuoti e perciò non possono
essere eliminati in automatico,
inserire spazi consecutivi multipli
all'interno del testo per creare
rientri e spaziature impossibili con
gli spazi convenzionali.
È chiaro che anche lo spazio
unificatore non risolve il problema
delle diverse dimensioni che
possono essere attribuite ai
caratteri, e perciò agli spazi, al
variare del tipo di computer.
Per tale motivo HTML prevede una
serie di altri marcatori che
indicano al browser di utilizzare un
carattere monospaziato alias
testo a spaziatura fissa.
Si tratta di un termine preso a
prestito dal mondo della tipografia
e indica un particolare font dove
tutti i caratteri,
indipendentemente dalla loro
forma e dal fatto che siano
maiuscoli o minuscoli occupano
tutti lo stesso spazio,
corrispondente di solito a quello
necessario per il carattere più
largo dell'alfabeto usato (la M
maiuscola). Lo stesso spazio
viene naturalmente occupato
anche dai singoli segni
d'interpunzione e dagli spazi
eventualmente presenti perciò gli
allineamenti verticali tra righe
diverse vengono garantiti
perfettamente indipendentemente
dal contenuto di ciascuna di esse.
Il prezzo che si paga è di avere un
testo goffo e sgradevole a vedersi
e perciò anche difficile da
leggere. In effetti, la scelta di
attribuire una spaziatura diversa
ai vari caratteri tipografici serve
proprio a facilitarne la lettura, su
carta e a video, e a fornire una
certa armonia estetica.
Se osservate una pagina di
giornale noterete che la i
minuscola occupa meno spazio in
orizzontale rispetto alla j e
rispetto alla M o T maiuscole.
Questo genere d'impostazione
prende il nome di spaziatura
proporzionale. I caratteri
monospaziati vengono di solito
utilizzati solo per rappresentare
4a lezione
parleremo di XML). Nella tabella "Marcatori per formattare il testo" trovate una sintesi
di tutti i tag compatibili con
HTML 4.01 per modificare l'aspetto e il significato di un
blocco di testo.
Ma cosa succede quando
decidiamo d'intervenire su interi blocchi di testo modificandone, ad esempio, font, colore, dimensione, allineamento e posizionamento rispetto
ad altri elementi?
Dobbiamo decidere se seguire la vecchia strada dei tag
stilistici oppure abbracciare la
nuova dei fogli di stile.
Vediamo innanzi tutto la prima soluzione, cioè cosa si può
fare utilizzando i tag e gli attributi che ereditiamo dall'HTML
3.2. Il primo tra questi è <p>
che definisce il paragrafo e
che impone al browser per la
sua sola presenza d'inserire
una riga vuota prima e dopo il
paragrafo stesso.
Alcuni lo usano anche da
solo per inserire spazi bianchi
listati di programma, brevi elenchi
o altri brani di testo brevi dove gli
allineamenti siano più importanti
dell'omogeneità visiva e dove,
semmai, sia opportuna una netta
distinzione rispetto alla parte
principale del testo.
Il marcatore storico usato per
questo genere di funzione è <pre>
che definisce un testo
"preformattato", tipicamente
usando il font courier a spaziatura
fissa e inserendo una riga vuota
prima e dopo il brano compreso
tra i due tag. È stato deprecato
dalle specifiche HTML 4.01
perché si tratta di un markup
fisico (stilistico) e non logico
(strutturale), inoltre non funziona
in maniera omogenea in tutti i
browser. Ha il pregio di mantenere
qualsiasi indicazione di
formattazione contenuta nel testo
originale, compresi spazi multipli,
ritorni a capo nel testo e
lunghezza delle righe. Dispone di
un singolo attributo facoltativo,
witdh, che determina il numero
massimo di caratteri, spazi
inclusi, che possono comparire su
una riga e forza il ritorno a capo al
superamento di tale valore
(l'attributo width non è supportato
da Internet Explorer 6.0 mentre
funziona ancora in Netscape 7.0).
41/88
all'interno della pagina, ma i
browser di futura generazione
potrebbero filtrare i paragrafi
vuoti eliminando gli spazi così
introdotti.
Perciò alla pari delle tabelle,
dove non è consigliabile creare celle completamente vuote
anche se servono al fine di
creare spazi bianchi, il consiglio è di riempire il paragrafo
con almeno uno spazio bianco
non eliminabile, che in HTML
viene generato con l'entità
  (non breaking space di
cui parliamo più dettagliatamente in un riquadro a parte
"Gestire gli spazi nel testo").
Nell'HTML 3.2 il tag di chiusura </p> è facoltativo, ma diventa obbligatorio in XHMTL
1.0 (la versione di HTML che
consente l'impiego delle funzioni avanzate di XML). L'attributo "storico" del tag <p> deprecato da HTML 4.01 è align
che regge i parametri: left, center, right, justify (quest'ultimo
supportato solo da vecchie
versioni di browser), per alli-
Il marcatore <pre> riconosce e
riproduce anche eventuali
grassetti e corsivi presenti nel
testo. È sicuramente il più
flessibile tra i marcatori per la
generazione di testo
monospaziato ed è molto utile
quando si devono riconvertire per
il Web documenti che sono già
stati impaginati con un
wordprocessor e non vale la pena
rimaneggiarli daccapo. È l'unico
che conservi integralmente il
contenuto originale e non è
possibile riprodurne la totalità
delle funzioni nemmeno con i fogli
di stile (che non conservano gli
spazi multipli e i ritorni a capo).
Esistono diversi altri markup fisici
e logici che producono testo
monospaziato, elencati per
comodità nella tabella "Marcatori
per formattare il testo" e di cui
riportiamo le caratteristiche
dettagliate sul CD all'interno del
documento "Prontuario dei tag di
testo". Tra i marcatori riportati in
tabella, segnaliamo comunque
<blockquote> che consente di
produrre blocchi di testo
evidenziati all'interno del
documento principale mediante
un rientro su entrambi i lati. Tra
l'altro, <blockquote> è l'unico
marcatore HTML a consentire la
neare il testo al bordo sinistro,
destro oppure al centro della
pagina.
Nel caso non volessimo inserire una riga vuota al termine del paragrafo, ma semplicemente andare a capo oppure volessimo inserire diverse
righe vuote consecutive, utilizzeremmo il tag <br> (break)
che fa continuare il paragrafo
e ne mantiene le impostazioni
anche dopo il ritorno a capo e
non richiede tag di chiusura.
Il deprecato tag font
Il marcatore fisico più importante per la "tipografia" sul
Web, è <font> che regge diversi attributi di cui i principali
sono: face per indicare il tipo
di carattere, size per definirne
le dimensioni e color per specificarne il colore.
Il tag non tiene conto della
struttura del documento perciò potete attribuire un font a
una singola lettera, a una singola parola o porzione della
stessa, a frasi e paragrafi inte-
nidificazione di se stesso, vale a
dire che potete inserire diversi
<blockquote> uno dentro l'altro al
fine di produrre rientri sempre più
profondi, usando una sintassi del
tipo <blockquote>Primo rientro
<blockquote>Secondo rientro
I vari effetti che possiamo creare
mediante l'allineamento del testo a livello
di paragrafo e l'applicazione del tag
<font> per modificare il tipo, il colore e la
dimensione del carattere. Il tag <font>,
deprecato da HTML 4.01, prevede sette
dimensioni assolute diverse per i
caratteri più un'impostazione relativa che
va da – 7 a + 7 e ingrandisce o
diminuisce il carattere pre-impostato nel
browser
ri oppure a tutta la pagina.
Il suo effetto viene unicamente delimitato dalla posizione dei tag di apertura e </blockquote></blockquote>. Il
problema di questo approccio è
che richiede l'impiego di un
marcatore strutturale, nato per
evidenziare delle citazioni, per uno
scopo stilistico che in origine non
era previsto. Quando un motore di
ricerca passa in
esame le pagine
dove
<blockquote> è
stato utilizzato
unicamente per
produrre un
rientro,
codificherà come
citazione qualcosa
che non lo è
affatto. Lo stesso
effetto può essere
prodotto più
efficacemente e
con maggiore
accuratezza
usando i fogli di
stile in cascata.
Qui vediamo il marcatore <pre> all'opera. Nel primo riquadro in alto compare il testo
originale scritto con Word dove mettiamo in evidenza gli spazi e i ritorni a capo
generati con il wordprocessor. Subito sotto notiamo come lo stesso brano di testo si
trasformi quando copiato direttamente in una pagina HTML: gli spazi multipli e i ritorni
a capo scompaiono, producendo una singola riga ininterrotta e illeggibile (grassetto e
corsivo nella pagina Web devono naturalmente essere aggiunti con marcatori ad hoc).
Proviamo ora a copiare lo stesso brano, inserendolo nella coppia di tag <pre> e
</pre>. Otteniamo nuovo il formato originale, visualizzato con un carattere courier a
spaziatura fissa invece del Times a spaziatura proporzionale scelto di default dal
browser
4a lezione
chiusura: <font> e </font>. L'unica eccezione in questo senso, come vedremo, sono le tabelle che richiedono di indicare il tag <font> per ogni singola
cella anche nel caso in cui i parametri restino invariati per
l'intera tabella.
L'attributo face consente
d'indicare diversi tipi di font,
da scegliere in sequenza e in
alternativa al principale qualora questo non fosse disponibile sul browser, size invece
indica dimensioni assolute o
relative.
Si va da 1 a 7 oppure da –7 a
+7. I due tipi di valori hanno significati diversi. Il primo stabilisce una dimensione fissa
dove il default è 3 e corrisponde alla dimensione base assegnata dal browser al testo (circa 10 pixel).
Il secondo stabilisce invece
il livello d'ingrandimento o riduzione rispetto al valore di
default (3 appunto), perciò –1
corrisponde a 2, +1 corrisponde a 4, eccetera.
In entrambi i casi si tratta di
valori dinamici, vale a dire
sensibili all'impostazione del
browser per visualizzare il testo.
Se per esempio l'utente dovesse scegliere da Internet Explorer il parametro Visualizza
> Carattere > Grande tutta la
scala di valori verrebbe alzata
di un livello, se invece scegliesse Visualizza > Carattere >
Molto piccolo tutta la scala di
valori verrebbe ridotta di due
livelli. Il valore di default per il
browser corrisponde naturalmente a Visualizza > Carattere
> Medio.
Perciò impostando la dimensione del carattere usando <font size> lasciamo libero
l'utente d'ingrandire e rimpicciolire il testo a piacere a seconda delle sue necessità di
visione. Color infine accetta,
come qualsiasi altro tag che
preveda l'uso del colore, il nome di uno dei sedici colori codificati in HTML oppure il codice esadecimale della tinta
scelta, che di solito viene prelevata da una palette di 216 colori cosiddetti sicuri, cioè visualizzabili senza alterazioni
in qualsiasi tipo di browser sia
su Windows sia su Macintosh
(per un riferimento vedi
http://www.webmonkey/ reference/color_codes/ e il riquadro "Colori sicuri").
Nell'impiego del tag <font>
42/88
Marcatori per formattare il testo
Tag fisici
Tag logici
Effetto visibile
Significato
<b>
<i>
<u>
<s>
<pre>
<strong>
<em>
<ins>
<del>
evidenziato
evidenziato
inserimento temporaneo
cancellazione visibile
testo preformattato
<tt>
<kbd>
<samp>
<code>
grassetto
corsivo
sottolineato
barrato
monospaziato con riporto di tutti gli
spazi e ritorni a capo presenti nel
documento originale e con riga vuota
sopra e sotto. Conserva grassetti
e corsivi.
monospaziato
monospaziato
monospaziato
lampeggiante (Netscape)
corsivo e ritorno a capo
corsivo
rientro con riga vuota sopra e sotto
aumento dimensioni corpo
riduzione dimensioni corpo
testo a pedice
testo ad apice
nessuno
nessuno
nessuno
corsivo
aumento dimensioni e spaziatura
<blink>
<address>
<cite>
<blockquote>
<big>
<small>
<sub>
<sup>
<abbr>
<dfn>
<q>
<var>
<h1>-<h6>
testo non formattabile
testo campione
codice programma
evidenziato
indirizzo
citazione
citazione a blocco
testo grande
testo piccolo
pedice
apice
abbreviazione
definizione termine
citazione in paragrafo
nome di variabile
titolo e titolini
Tutti questi marcatori possono essere inseriti all'interno di un paragrafo, ma <h#> e <blockquote> possono anche
vivere separatamente. Tutti i tag fisici sono deprecati da HTML 4.01
notiamo una caratteristica che
costituisce la base per il funzionamento dei fogli di stile in
cascata, come vedremo più
avanti.
È possibile nidificare diversi
tag <font> ereditando di livello
in livello le caratteristiche dei
livelli superiori. Nell'esempio
che riportiamo in figura, l'intero documento è contenuto all'interno di un tag <font> che
specifica il tipo Verdana, il colore rosso e una dimensione
pari a quattro (+1).
I primi due attributi si mantengono costanti per l'intero
documento poiché non modificati dai tag <font> successivi,
mentre varia invece la dimensione, indicata nel tag che è
più vicino alla porzione di testo a cui si applica.
Si dice quindi che gli attributi si applicano in cascata
con i livelli superiori che influenzano tutto ciò che contengono, ma che possono essere modificati dai livelli inferiori che hanno una priorità
crescente a mano a mano che
si è fisicamente più vicini al
brano di testo da modificare.
Altri tag logici per il testo
Esistono situazioni in cui il
Il codice usato per creare
la figura precedente
mostra che gli attributi font
possono essere nidificati e
che quelli più interno
ereditano i parametri del
più esterno (in questo
caso colore e tipo) ma
possono impostarne di
propri (come in questo
caso la dimensione) che
ha priorità rispetto al tag
più esterno.
Notate anche che il tag
<font> può abbracciare
una quantità indefinita di
testo, dalla singola parola
all'intero documento.
I tag nidificati all'interno
vanno chiusi, come
sempre, prima di chiudere
il tag più esterno
(qui evidenziato in viola)
testo non fluisce a colonne,
ma richiede una formattazione
particolare, come nel caso delle liste. HTML prevede una serie di marcatori specifici per
queste esigenze: <ol> (ordered
list) e <ul> (unordered list) delimitano una lista le cui voci
sono rispettivamente numerate e non numerate.
Ciascuna voce della lista
viene poi identificata mediante la coppia di tag <li></li> (list item). Nel caso di liste nu-
merate è possibile determinare il tipo di numerazione in
uso (araba, romana, lettere) e
la lettera o numero da cui far
partire l'elenco.
Nelle liste non numerate invece è possibile evidenziare
ogni singola riga con un pallino (default), un quadrato o un
cerchio. Tutte le impostazioni
stilistiche previste dal tag
<font> si applicano alle liste,
come pure alle tabelle che
contengano testo.
4a lezione
2 CSS e HTML 4.01
Cascading Style Sheets (fogli
di stile in cascata) costituiscono lo strumento più importante per gestire gli attributi tipografici di un sito moderno. Sebbene esistano fin al
1996, hanno trovato la loro diffusione naturale con HTML 4.0
e il loro pieno sviluppo con
HTML 4.01, che ne recepisce
appieno le caratteristiche.
Offrono numerosi vantaggi:
controllare l'aspetto del testo e
degli altri elementi della pagina
con una precisione molto superiore a quella possibile mediante i tag fisici di HTML, raggruppare tutte le informazioni
stilistiche di un sito all'interno
di un documento che venga caricato una sola volta per quel
particolare sito, alleggerendo
le singole pagine e facilitando
eventuali modifiche e aggiornamenti. Basta cambiare una
delle voci contenute nel foglio
di stile affinché la variante si
propaghi immediatamente su
tutte le pagine del sito che contengono quel particolare elemento.
Purtroppo i browser fino alla
generazione 4 non erano compatibili con le funzioni dei CSS
e perciò si è dovuto aspettare
la diffusione capillare della generazione 5 per cominciare a
vedere siti che ne facessero un
impiego concreco.
La compatibilità è cresciuta
ulteriormente con l'arrivo dei
browser della generazione 6 e
poiché possiamo ormai considerare tramontata la stagione
dei vari Internet Explorer 4.0 e
Netscape 4.x, tanto vale abbandonare l'impiego dei tag fisici,
in particolare <font> e abbracciare in toto i CSS nella nostra
progettazione tipografica.
Raggiungeremo il doppio
obiettivo di essere pienamente
conformi alle specifiche di
HTML 4.01, che depreca l'uso
di tag stilistici, e di beneficiare
delle evidenti potenzialità dei
CSS.
Avendo così eliminato anche
i vari tag particolari che accompagnavano le diverse famiglie di browser, diventa possibile realizzare soluzioni tipografiche che siano compatibili
a trecentosessanta gradi, senza
doversi far carico di produrre
versioni diverse della stessa
pagina a seconda del browser
I
43/88
utilizzato dal navigatore, come
invece accadeva in passato.
Separare
la forma dalla struttura
Il sogno di qualsiasi progettista di siti è la separazione degli attributi tipografici e stilistici dalle componenti strutturali
della pagina, soprattutto in siti
di tipo dinamico.
Tale separazione è importante per raggiungere un adeguato livello di efficienza nella
gestione del sito. Infatti, fintantoché gli elementi stilistici sono mescolati con il codice
HTML, è necessario chiamare
in causa il Webmaster per ogni
singola modifica estetica, modifica che deve essere replicata
a mano, pagina per pagina.
Se poi si trattava di un sito
dinamico, diventa addirittura
necessario chiamare in causa
un programmatore oppure un
Web developer, perché il colore di sfondo e le font del testo
sono indissolubilmente legate
ai tag del linguaggio di scripting che fa funzionare la pagina
in abbinamento al database.
Ogni modifica nell'aspetto
della pagina diventa perciò costosa e impegnativa, tanto da
scoraggiare la revisione stilistica di molti siti che non riescono perciò a migliorare la propria usabilità, la propria navigabilità e la propria estetica
sulla scorta delle informazioni
raccolte dai navigatori durante
l'uso del sito.
I CSS sono il primo strumento che ha consentito di separare i due mondi e di lasciare una
notevole libertà d'intervento ai
creativi senza interferire con il
lavoro di programmazione e di
gestione del codice HTML eseguito dai tecnici.
Inoltre, fornendo una gamma di opzioni tipografiche molto ampia, ha consentito anche
a chi non è creativo di produrre risultati presentabili e gradevoli, con poco sforzo.
La nascita dei fogli di stile e
dell'HTML 4.0 risolve anche
una stortura concettuale introdotta nel Web con il rilascio
della versione 3.2 di HTML che
ha rinnegato la natura originale
del linguaggio, nato per controllare la struttura e non la
presentazione di una pagina,
per assecondare i desideri dei
Esempio di un foglio di stile: ecco il formato tipico di un foglio di stile. È un semplice
file di testo o porzione di pagina HTML, dove ogni regola è composta da un selettore (in
rosso) e da una dichiarazione (tra parentesi graffe) che riunisce una serie di proprietà e
di valori corrispondenti che spiegano in che modo il selettore (un elemento HTML) deve
essere visualizzato e perciò modificato rispetto alle proprie caratteristiche originali
vari produttori di browser,
creando così enormi problemi
di compatibilità e di manutenibilità dei siti, per non parlare
della loro usabilità.
Tuttavia i Cascading Style
Sheets non si limitano agli attributi tipografici, bensì consentono di posizionare con precisione gli elementi sulla pagina,
sostituendosi alle tabelle come
metodo per definire il layout, e
introducono anche una certa
dose d'interattività nella pagina, facilmente accessibile anche da chi non conosce linguaggi di programmazione come JavaScript.
Relazione
tra CSS e HTML
I fogli di stile definiscono un
insieme di regole per indicare il
tipo di formattazione da applicare ai contenuti di una pagina
stampata o visualizzata elettronicamente. Nascono concettualmente nel mondo dell'editoria dove, per semplificare il
lavoro, gli attributi tipografici
di un libro vengono definiti prima d'iniziarne la stesura e vengono mantenuti separati dal testo vero e proprio così da poter essere applicati in modo
uniforme a più testi della stessa collana e poter essere modi-
ficati rapidamente senza dover
ripassare a mano ogni singola
pagina del volume.
Nel Web costituiscono un
complemento di HTML e si
sposano con i tag di quest'ultimo in modo abbastanza semplice e intuitivo. Per aggiungerli alla pagina basta digitare
codice aggiuntivo che non interferisce con il codice HTML
originale il quale viene comunque riconosciuto senza problemi dai browser di vecchia
generazione. In effetti è persino possibile combinare nella
stessa pagina CSS e marcatori
fisici, come ad esempio <font>,
al fine di avere la piena compatibilità con tutti i tipi di
browser in circolazione, sfruttando al tempo stesso le funzioni evolute dei fogli di stile.
In tal caso, la pagina avrà un
aspetto più gradevole quando
visualizzata da un browser di
generazione 5 o 6, ma sarà comunque utilizzabile su un
browser di generazione 4.
Le tre funzioni primarie di
un foglio di stile sono: impostare gli attributi tipografici del
testo, definire un livello e la sua
posizione nella pagina (vedremo più avanti di che si tratta),
modificare le caratteristiche
originali dei tag HTML.
4a lezione
3 Cosa si può fare con i CSS
ispetto ai markup fisici di
HTML e in particolare al
tag <font>, i fogli di stile in
cascata offrono moltissime
possibilità, tanto che uno studio di tutte le loro funzioni richiederebbe un impegno paragonabile a quello speso per imparare HTML. A differenza di
quest'ultimo, però, i fogli di stile possono essere conosciuti
un po' alla volta, esplorandone
le funzioni a mano a mano che
se ne presenti l'occasione e aggiornando il sito gradualmente,
ogni volta che si scopra qualcosa di nuovo.
C'è anche un altro motivo
per procedere con calma: la
gran parte dei browser in circolazione sono pienamente
compatibili con le specifiche
dei CSS di livello 1, ma non
supportano ancora appieno i
CSS di livello 2 che aggiungono
una pletora di nuove funzioni,
specie nella gestione di contenuti multimediali. Di conseguenza conviene partire studiando le funzioni di livello 1
(che costituiscono l'argomento
centrale di questa lezione) per
poi estendersi al livello 2 in un
secondo momento.
Il prezzo da pagare per l'adozione dei CSS è l'aggiunta di
un nuovo linguaggio alla propria cassetta degli attrezzi e al
proprio sito, con la necessità
d'imparare complesse regole
astratte che governano ereditarietà ed effetto a cascata. Si
producono talvolta anche effetti imprevedibili e incostanti,
difficili da diagnosticare e risolvere anche per i limiti di
molti editor HTML oggi in circolazione, non dotati di specifiche utilità per la gestione dei
CSS. L'unico programma che
contenga una funzione diagnostica specifica per i CSS è Top
Style 3.0, che funge anche da
editor testuale per pagine
HTML, senza tuttavia rimpiazzare un vero e proprio ambiente visuale. Di conseguenza costituisce un investimento aggiuntivo.
R
La natura tipografica
degli stili
Il primo ambito d'intervento
dei fogli di stile è nell'impostazione degli attributi tipografici
del testo. Non solo possiamo
scegliere la font, il colore e le
44/88
dimensioni del carattere, come
avveniva nel tag <font>, ma
possiamo anche stabilire con
precisione l'altezza di ogni lettera, usando diverse unità di
misura, il peso delle stesse
(sottile, normale e grassetto),
la spaziatura, l'interlinea, eventuali bordi, attributi come il
corsivo e il maiuscoletto, effetti particolari come il sottolineato, il barrato e molto altro
ancora.
Nel caso si tratti di testo usato per collegamenti ipertestuali, possiamo anche modificarne
l'aspetto quando vi passi sopra
il cursore e una volta che sia
stato visitato. Inoltre, anziché
ripetere in continuazione il tag
<font> per ogni elemento, sarà
sufficiente stabilire una volta
sola per l'intero sito l'aspetto
del testo, dei titoli e dei link, per
avere un'estensione automatica delle specifiche a tutte le pagine. Anche la gestione delle
tabelle viene potenziata e semplificata enormemente, potendo definire attributi globali a livello di tabella, di riga e di cella.
Per comprendere i vari termini usati nella definizione di
questi attributi bisogna conoscere un po' di tipografia. Tanto per cominciare, la proprietà
più comune, font-family, descrive la famiglia di font scelte
per quel particolare brano di
testo. Si parla di famiglia poiché si compone di tanti insiemi
di caratteri con dimensioni diverse, ciascuna delle quali
prende il nome di font. Tipograficamente, quando s'ingrandisce un carattere o lo si rimpicciolisce, si cambiano anche
le caratteristiche delle varie
lettere che lo compongono per
adattarsi al diverso effetto visivo prodotto dalle nuove dimensioni.
La scelta di una singola font
all'interno della famiglia avviene quindi mediante la proprietà
font-size che identifica l'altezza
delle lettere maiuscole per il
particolare insieme che abbiamo scelto. Tale altezza può essere espressa in pixel, bloccando la visualizzazione del testo a
una dimensione precisa sullo
schermo. Si ottiene così il pieno
controllo della visualizzazione
del sito e s'impedisce all'utente
di modificarla agendo sulle funzioni di dimensionamento pre-
Confronto tra CSS e <font>: qui vediamo la grande varietà di unità di misura e di effetti
che si possono produrre con i fogli di stile rispetto alle ristrette prerogative del tag
<font>, il quale può determinare unicamente il tipo di font, il colore e la dimensione
relativa (size) in rapporto al default del browser.
Con i fogli di stile possiamo invece replicare esattamente il comportamento delle
misure relative di font, mediante gli attributi relativi small, medium, large, eccetera; ma
possiamo anche imporre una dimensione fissa in pixel o punti tipografici (quest'ultima
preferibile se vogliamo poi anche stampare le pagine). Possiamo anche maggiorare le
dimensioni di una particolare porzione di testo (il grassetto "maggiorato" è del 10% più
grande del testo normale a cui è abbinato), possiamo infine raggiungere dimensioni
assolutamente inarrivabili con il tag <font> e aggiungere bordi, variamente colorati e
strutturati, sfondi a tinta unita oppure composti da immagini e possiamo anche
restringere o allargare lo spazio tra le lettere e le parole, anche se quest'ultima
funzione non è supportata da Opera 5.0 e Netscape 7
viste dal browser. Lo svantaggio è di complicare la vita a chi
abbia difficoltà di lettura e di
rendere imprevedibile l'effetto
in stampa. In alternativa i CSS
offrono altri due tipi di unità di
misura: assolute e relative. Le
unità assolute definiscono un
valore rigoroso, alla pari dei
pixel, ma facilmente riconoscibile anche dalla stampante: millimetri, centimetri, pollici, pica
e punti (un pica corrisponde a
12 punti tipografici).
Queste ultime due sono entrambe unità di misura tipografica e sono da preferirsi alle misure in pixel se volete anche
stampare le pagine Web su carta senza sorprese. Nella pratica
9 punti corrispondono a 12
pixel (la misura più leggibile
per un testo lungo sia a video
sia in stampa), 8 punti corrispondono a 10 pixel, una misura adatta per le didascalie, e via
di questo passo. Le unità relative lasciano invece libero l'uten-
te di ridimensionare il proprio
testo, mantenendone tuttavia
le proporzioni rispetto al resto
della pagina. Si prestano alla
creazione di effetti speciali.
Ad esempio possiamo decidere di impostare il testo grassetto in modo che sia leggermente più grosso del testo normale utilizzando l'unità di misura em che in tipografia indica
le dimensioni della M maiuscola di un determinato font, in
pratica la lettera più larga dell'intera font rispetto alla quale
si misurano tutte le altre. Impostando il grassetto in modo
che sia 1.1 em avremo un grassetto più corposo perché leggermente più grande della font
normale. Basta indicare b {fontsize: 1.1 em} perché tutti i caratteri bold dell'intero sito, non
importa quale font e quale dimensione, vengano maggiorati
del 10% rispetto agli altri caratteri del testo in cui sono contenuti: una finezza facile da rea-
4a lezione
per alcuni casi,
con le versioni più
recenti.
Quattro tipi di CSS
Esistono quattro
modi diversi per
innestare un foglio di stile all'interno di una pagina HTML.
Il primo, che
prende il nome di
foglio di stile
esterno, è il più
diffuso e consiste
nell'aggiungere
Incorporare un foglio di stile nella pagina: usando invece il
nell'intestazione
marcatore <style> è possibile definire un foglio di stile che
della
pagina
vale solo per quella pagina particolare. Qui notiamo che il
nostro foglio ipotetico contiene un elemento definito, table, (<head>) un link
che indica il tipo, la dimensione e il colore nero del testo
al documento che
da usare nelle tabelle contenute nella pagina. Seguono poi
contiene il foglio
quattro classi generiche (dida, rosso, bianco e blu)
di stile (un semcorrispondenti ad altrettante varianti del testo da usare
plice documento
mediante il marcatore <span></span> direttamente
all'interno del testo della tabella. Ne vediamo un esempio
di testo) affinché
nella Websafe palette integrata nel CD
quest'ultimo venga caricato assieme alla prima palizzare che può migliorare la gina del sito. Mediante tale apleggibilità del testo.
proccio è possibile definire un
A qualsiasi elemento HTML, singolo foglio di stile per l'intetesto compreso, è possibile poi ro sito e beneficiare della masabbinare bordi, sfondi colorati sima flessibilità di modifica dei
addirittura immagini di sfon- parametri. Il tag da utilizzare in
do, con un controllo molto pre- questo caso è <link> con l'indiciso sulla forma e la posizione cazione del tipo di relazione
degli stessi.
tra i due documenti (attributo
Ad esempio possiamo realiz- rel) la posizione del foglio di
zare un testo bordato solo su stile (attributo href) e la sua
tre lati. È anche possibile infine natura (type="text/css").
determinare con precisione la
La dicitura completa per inposizione degli elementi ri- serire il foglio usato nelle pagispetto ad altri elementi conti- ne del nostro CD è la seguente:
gui e rispetto al canovaccio <link
rel="stylesheet"
complessivo della pagina.
href="/zzz/stili.css"
Purtroppo tutta questa li- type="text/css">, il valore di
bertà ha un prezzo: la poten- href (hypertext reference) qui
ziale incompatibilità con i è indicato per la home page e
browser più vecchi e anche, cambia al variare della posi-
Test: leggi le domande e verifica le tue risposte
?
Riepilogo dei concetti della Lezione 4
1. Quali sono i marcatori più importanti per il testo e
dove si usano rispettivamente?
2. Che differenza c'è tra un marcatore o tag fisico e un tag logico?
3. Come si può allineare il testo all'interno di una pagina? Si
possono usare spazi bianchi multipli?
4. Che differenza c'è tra HTML 4.01 e XHMTL 1.0?
5. Che cosa sono i CSS e a che cosa servono?
6. Cosa si può fare con i CSS?
7. Come funziona il meccanismo dell'ereditarietà?
8. In che modo si può inserire un foglio di stile all'interno della
pagina?
9. Se il browser non supporta le funzioni dei CSS che cosa
succede?
10. Che cos'è la Websafe palette?
11. Che tipo d'immagine può entrare nella pagina di un sito?
(le risposte le trovi a pagina 40)
45/88
Inserire un foglio di stile esterno: nella gran parte dei siti che usano CSS il foglio di
stile è centralizzato. Lo si collega a ogni singola pagina mediante il tag <link> seguito
da un serie di attribiti obbligatori tra cui il riferimento ipertestuale (href) alla posizione
dello stile nel sito
zione delle varie pagine nella
struttura di directory del sito.
Il tag <link> va inserito nell'intestazione di ciascuna pagina,
al termine della zona compresa dalla coppia di tag <head>
</head>.
Il secondo modo per inserire un CSS nella pagina prende
il nome di foglio di stile incorporato e consiste nel digitare
la descrizione del CSS per intero all'interno dell'intestazione
della pagina, racchiudendola
entro di uno speciale tag concepito allo scopo: <style>. In
questo caso, il foglio di stile vale solo per quella pagina particolare e dovremo aprire la pagina ogni volta che bisognerà
modificarlo, tuttavia avremo
comunque il vantaggio di trovare tutte le informazioni stilistiche racchiuse in un solo
punto del documento anziché
sparpagliate in mezzo ai tag
del contenuto.
Il terzo modo prende il nome di foglio di stile importato e
costituisce una via di mezzo
tra i due definiti prima, il foglio
viene incorporato nell'intestazione della pagina mediante il
tag <style>, però proviene da
un singolo documento centralizzato, identico per diverse
pagine. È un sistema usato di
rado anche perché mal supportato da alcuni browser.
Il quarto tipo di CSS prende
il nome di foglio di stile in linea
(inline) e viene inserito direttamente all'interno di un particolare elemento della pagina,
come ad esempio nel tag di
paragrafo <p> oppure nel tag
divisionale <div> oppure nel
tag di tabella <table> utilizzando l'attributo style seguito dalla definizione delle proprietà
che vogliamo attribuire a quel
particolare elemento rispetto
alle specifiche generali del foglio di stile esterno oppure incorporato. Da notare che mediante l'uso del tag <div> oppure <span> è possibile applicare un foglio di stile a una
porzione liberamente definita
del documento (da una sola
lettera a un'intero blocco di
paragrafi). Un esempio sareb-
be: <p style="font-family: Times;
font-size: 18px"> che dice al paragrafo corrente di visualizzare il testo in Times a 18 pixel.
Se volessimo realizzare lo stesso effetto non sul paragrafo,
bensì su una porzione più piccola di testo useremmo <span
style="font-family: Times; font-size: 18px">testo da modificare
</span>.
Le regole
di costruzione dei CSS
Ogni regola dei CSS si compone di due parti: il selettore e
la dichiarazione. Il selettore,
posizionato a sinistra, definisce le parti del documento a
cui applicare lo stile. La dichiarazione, sulla destra e separata dal selettore mediante
due punti, indica le varie proprietà e i valori per tali proprietà. Il selettore può corrispondere a uno degli elementi
nativi di HTML, in tal caso parleremo di selettore di tipo. Il
selettore h1, ad esempio, indicherebbe che lo stile si applica
a tutti i titoli di primo livello.
La dichiarazione ospita invece
tutti i possibili attributi stilistici previsti per quel particolare
oggetto.
Ad esempio, h1 { font-family:
Verdana, Arial, Helvetica, sansserif; font-size: 16px; color:
#003399 } indica che i titoli delle nostre pagine saranno visualizzati con il font Verdana,
oppure in alternativa con Arial,
Helvetica o con un qualsiasi
font di tipo san serif (senza
grazie – le grazie sono gli arrotondamenti che si notano alle
estremità delle lettere di alcune font aggraziate, come il Times Roman e che servono per
facilitare la lettura su carta,
ma che mancano invece nelle
font di tipo "bastone" che sono
lisce e senza ghrigori e risultano più facili da leggere a schermo).
La regola indica inoltre che
il titolo dovrà avere una dimensione di 16 pixel (il valore
è preciso, impossibile a definirsi con il tag <font>) nonché
un colore blu. Notate che la regola si apre e si chiude con una
4a lezione
parentesi graffa così da essere
distinta dalle altre e che ogni
proprietà viene separata da un
punto e virgola.
Possiamo proseguire nella
nostra lista e definire tante regole quanti sono i tag che pensiamo di utilizzare nelle pagine
del nostro sito e alla fine otterremo un file di testo che può
vivere indipendentemente all'interno del sito medesimo,
oppure essere incorporato nelle singole pagine.
Così come ci si possono essere molte proprietà per un
singolo selettore, possono altresì esserci numerosi selettori per una singola proprietà. Infatti la regola h1,h2,h3,
h4,h5,h6 { color: #003399 } ci dice che tutti i titoli e titolini del
nostro sito saranno blu.
Se volessimo invece modificare uno specifico tag all'inter-
no di una pagina la sintassi diventerebbe: <h1 style=font-size:
16px; color: #003399">. Come
vedete è abbastanza semplice
e si sposa perfettamente con la
sintassi originale propria di
HTML.
Per i browser che non riconoscono i fogli di stile, il tag
<h1> dell'esempio verrà interpretato normalmente, ignorando l'attributo style.
Esiste anche una seconda
categoria di selettori basati sui
tag nativi HTML, i selettori
contestuali: servono per governare la visualizzazione del
testo contenuto in un determinato tag al verificarsi di condizioni particolari. Ad esempio
la regola li b {color: red} ci dice
che ogni volta che in una lista
comparirà un testo in grassetto dovrà essere di colore rosso.
4 I colori del Web
l colore costituisce un elemento importante nelle pagine Web. Ci permette di aggiungere informazioni visuali
alla pagina, differenziare vari tipi di testo, mettere in risalto i
collegamenti ipertestuali, abbellire il documento e le tabelle con sfondi e con bordi che
ne aumentino l'effetto estetico
e ne facilitino la lettura. Esistono due modi fondamentali per
inserirlo: creare un'immagine
esterna alla pagina oppure
sfruttare le funzioni intrinseche di HTML. Il secondo produce pagine più leggere e più
semplici da gestire e, mediante
l'impiego dei fogli di stile, offre
anche un buon livello di controllo sui risultati. Senza i CSS,
invece, i risultati sono abbastanza poveri, soprattutto nella gestione del testo, e capita
spesso di trovare, specie nei siti di vecchia concezione, l'uso
d'immagini anche per rappresentare titoli e brani di testo, il
che porta a pagine pesanti e
molto scomode da aggiornare.
Immaginatevi di correggere un
refuso o modificare un testo
contenuto in un’immagine: dovreste aprire un programma ad
hoc (Photoshop, Flash o qualsiasi altro strumento sia stato
usato per generare il testo-immagine) e trasformare l'imma-
I
46/88
gine, anziché semplicemente
intervenire direttamente sulla
pagina HTML. Oggi, con la precisione tipografica consentita
dai CSS, diventa non solo possibile, ma anche altamente consigliato, sfruttare al massimo
gli elementi di colore prodotti
in modo nativo dal browser.
Sono diversi i tag HTML che
consentono d'impostare il colore per i propri elementi mediante l'uso di attributi come
color (per il corpo dell'elemento), bgcolor (per gli sfondi) e
bordercolor (per i bordi). In tutti i casi, i colori vanno espressi
in due modi possibili: indicandoli per nome oppure mediante una notazione esadecimale. I
CSS aggiungono come terza
possibilità, consigliata, l'uso di
una un notazione decimale o
percentuale che indica direttamente i livelli di rosso, verde e
blu da utilizzare nella composizione del colore finale.
Il primo metodo, quello dei
nomi, è poco usato poiché prevede un numero limitato di colori, 16, di cui solo 8 appartengono alla Websafe palette che
vedremo più avanti. Tale metodo, inoltre, usa nomi che sono
mnemonici solo in inglese, ma
che sono poco comprensibili
per un italiano (per un riferimento sui 16 colori predefiniti
Le risposte alle domande di pag. 39
1. Si tratta di <p> per la
definizione dei paragrafi e
<h#> per la definizione dei
titoli, a partire da <h1> per
arrivare ad <h6>.
2. Un marcatore o tag fisico
indica il modo in cui una
porzione di testo deve
essere visualizzata sullo
schermo, un marcatore
logico ne definisce invece la
funzione e lascia al browser
la scelta di come
visualizzarla.
3. Il marcatore <pre> mantiene
l’allineamento di un testo
come nel documento
originale. Per conservare gli
spazi bianchi bisogna
utilizzare l'entità “spazio
unificatore” ( ) oppure
creare un rientro su ambo i
lati con <blockquote>.
4. HTML 4.01 è la più recente
specifica per la produzione di
siti Web. XHTML 1.0 prevede
una sintassi più rigorosa per
la migrazione verso XML.
5. I Cascading Style Sheets
costituiscono lo strumento
più importante per gestire gli
attributi tipografici di un sito
moderno. Raggruppano tutte
le informazioni stilistiche di
un sito all'interno di un
documento centrale.
6. Creare attributi tipografici per
il testo molto più ricchi e
precisi rispetto a quanto
vedi l'indirizzo http://www. webreference.com/html/reference/color/named.html).
Esiste un ulteriore rischio
nell'uso dei nomi per i colori.
Microsoft ha definito una tavolozza estesa che contiene 140
colori, con nomi molto esotici
come "darkslategray" (grigio
lavagna scuro), "biscuit" (biscotto) o “forestgreen” (verde
foresta), ma che includono anche i 16 colori di base. I nomi
aggiuntivi di questa palette funzionano unicamente con Internet Explorer dalla versione 4.0
in avanti e non sono supportati da nessuno standard, perciò
abituarsi a usare i nomi per i
colori porta facilmente a produrre pagine incompatibili (per
un elenco dei nomi particolari
definiti da Microsoft vedi
http://www.webreference.com/
html/reference/color/propcolor.html#HEAD-2
oppure
!
possibile con
HTML,
posizionare gli elementi sulla
pagina con estrema
precisione, inserire elementi
dinamici e multimediali nella
pagina.
7. Gli attributi passano di padre
in figlio con il figlio che ha la
priorità nel variare quel che
gli viene dal padre.
8. Esistono quattro modi
possibili: creando all'interno
della pagina un collegamento
a un file che contiene le
indicazioni di stile per l'intero
sito, integrando il foglio di
stile direttamente nella
pagina, importando
all'interno di questa un foglio
di stile residente in un file
esterno, inserendo le
informazioni di stile
direttamente nel tag HTML
che si vuole modificare.
9. Se non le supporta affatto
non succede niente. Se
invece le supporta solo
parzialmente può produrre
risultati inaspettati in
qualche raro caso.
10.Un insieme di 216 colori che
possono essere visualizzati
senza varianti un Macintosh
oppure un PC Windows.
11.Esistono tre formati usabili
direttamente dal browser:
GIF per grafici e disegni,
JPEG per le fotografie e PNG
http://www.oreilly.com/ catalog/wdnut/excerpt/color_names.html).
Il metodo basato sui valori
esadecimali è invece il più comune perché utilizzabile direttamente dall'interno di un tag
HTML e compatibile con qualsiasi browser.
Basta indicare i valori RGB
che vogliamo riprodurre per
ottenere qualsiasi genere di tinta. Il risultato è una sequenza
di sei cifre esadecimali come
ad esempio FF0033 (rosso vivo), due per ciascuno dei tre
colori: rosso, verde e blu. Questi colori primari,
combinati sullo
schermo, producono tutti i colori visibili.
(versione integrale
dell’articolo sul CD)
l’articolo
è sul CD
n. 68
4a lezione
5 Gestire le immagini
l secondo tipo di contenuto tipico di una pagina Web sono
le immagini. A differenza del
testo, non si trovano nella pagina HMTL, ma vengono caricate
in quest'ultima per mezzo di
uno speciale marcatore che ne
indica la posizione all'interno
del sito in relazione al documento oltre che le caratteristiche di visualizzazione e l'allineamento rispetto al testo. Nella gestione delle immagini, esistono quindi due fasi: la prima
consiste nel preparare il file che
le contiene e la seconda nel collegarlo alla pagina nella posizione in cui vogliamo che appaia quando spedito al browser
del navigatore. Per tale motivo
bisogna conoscere i formati di
file utilizzabili e sapere scegliere quello corretto in funzione
del contenuto, cioè del tipo di
immagine che si vuole riprodurre.
I
Grafica bitmap e vettoriale
Le immagini prodotte a computer si dividono in due grandi
famiglie: le immagini bit map sono composte da una mappa di
bit che definisce il colore di ciascun punto della mappa rettangolare di pixel (picture elements) che saranno visualizzati
sullo schermo. Sono le uniche
direttamente riconoscibili dai
browser e hanno un formato fisso e difficilmente modificabile.
Le variazioni possibili di un'immagine bitmap consistono nella
modifica dei colori dei singoli
pixel, nel ridimensionamento
dell'immagine oppure nel ritaglio di un particolare: tutte operazioni da realizzare mediante
un programma di ritocco come
Photoshop, Image Ready, Fireworks, Gimp e altri. Qualsiasi
operazione è di fatto un ritocco
basato su collage di elementi,
magari presi da immagini diverse e sulla modifica del colore di
quelli esistenti. Non è possibile
cambiare in maniera interattiva
le dimensioni o l'orientamento
degli oggetti contenuti in un'immagine bit map e nemmeno alterare il contenuto di un eventuale testo presente. È anche
molto difficile ingrandire l'immagine senza perdere qualità,
visto che l'ingrandimento viene
realizzato mediante l'aggiunta di
punti simulati matematicamente mediante una duplicazione
47/88
approssimata di quelli già esistenti.
Le immagini vettoriali hanno
invece la caratteristica di definire ciascun oggetto mediante
coordinate geometriche e perciò ne consentono la modifica a
piacere: ingrandimento, rimpicciolimento, sostituzione ed eliminazione di interi elementi
senza lasciare segno, riscrittura
del testo. Sono anche particolarmente adatte per produrre
animazioni. Richiedono una notevole "intelligenza" di calcolo,
non disponibile sui normali
browser e perciò possono essere riprodotte unicamente mediante speciali aggiunte (plugin) che di solito sono concepite
per gestire solo un formato particolare, come Flash di Macromedia oppure Acrobat di Adobe, e vengono utilizzati solo per
porzioni particolari di un sito
non consultabili in assenza del
plug-in. Esiste anche un formato
vettoriale definito come standard nel 1999 dal World Wide
Web Consortium (http://www.
w3c.org), lo SVG (Scalable Vector Graphics), concepito per la
definizione vettoriale d'immagini bidimensionali e basato su
XML. È stato adottato da numerosi produttori di software, tra
cui la stessa Microsoft che lo ha
scelto per Office 11, perciò lo vedremo affiorare gradualmente
in futuro.
Nella pratica, tutti i principali programmi di modifica delle
immagini bitmap consentono di
produrre un file di lavoro con alcuni contenuti vettoriali, come
ad esempio il testo e le forme
geometriche chiave (linea, cerchio, rettangolo) che viene quindi esportato in formato puramente bitmap al termine dell'elaborazione. In questo modo
avremo due file distinti: uno di
lavoro realizzato nel formato
vettoriale tipico del programma, su cui potremo continuare a
intervenire con le nostre variazioni e correzioni e uno da pubblicare, salvato in uno dei tre
formati direttamente riconoscibili dai browser: GIF, JPEG e
PNG.
I tre moschettieri
della grafica Web
Oggi non esiste modo per
pubblicare un'immagine sul
Web che non passi attraverso
Esempio di codice
HTML per inserire
un'immagine.
Sotto vediamo una
parte della pagina che
è stata utilizzata per
realizzare la figura a
fianco. Le immagini
sono state inserite in
una tabella che
contiene uno stile in
linea sia per la tabella
in quanto tale (vedi la
parte in blu nel tag
<table>) sia per la
didascalia (vedi la
parte in blu nel tag
<caption>).
Il tag <img> inserisce
l'immagine nella cella
della tabella
specificando mediante
l'attributo src, il
percorso di
destinazione e,
mediante l'attributo
align come allinearla
rispetto al testo che
segue direttamente la
chiusura del tag
<img>
Allineare il testo
all'immagine.
Il punto d'inserimento
dell'immagine nella pagina
viene indicato mediante il
marcatore <img> al quale
si associa anche l'attributo
di allineamento rispetto al
testo già esistente
l'adozione dei tre formati standard: GIF, JPEG e PNG. I primi
due sono compatibili con tutte
le versioni di browser in circolazione, mentre il terzo è stato
supportato in modo imperfetto
fino alla generazione 5.x, perciò
va usato con attenzione, anche
se di gran lunga preferibile agli
altri due.
Il fomato GIF (Graphics Interchange Format) è adatto per
comprimere immagini che usino
tinte unite e un numero limitato
di colori (256), come ad esempio grafici, disegni schematici,
videate. In tale contesto, offre
un ottimo livello di compressione senza perdita di dati (lossless) e una buona qualità di riproduzione che può anche adattarsi ai colori nativi prodotti da
HTML così da creare immagini
che si fondono senza soluzione
di continuità con lo sfondo
HTML della pagina o della tabella che le contiene. Consente
inoltre di creare semplici animazioni.
Il formato JPEG (Joint Photographic Experts Group) s'indirizza, come indicato dal nome,
alle immagini fotografiche. Prevede diversi livelli di compressione con una perdita progressiva di dati e di qualità. È molto
efficace nella compressione
d'immagini con sfumature e toni
a variazione continua.
Il PNG (Portable Network
Graphics) è nato dopo l'avvento
dei principali browser e ha tratto beneficio dalle prime esperienze realizzate dai progettisti
del Web. Si propone come alternativa evoluta al GIF, ma può an- 4a lezione
che gestire fotografie visto che
permette di riprodurre 16 milioni di colori mediante una compressione senza perdita più efficiente rispetto a quella del formato GIF. Offre anch'esso la possibilità di creare semplici animazioni.
Per il momento è sufficiente
ricordare questa regola: GIF o
PNG per grafici, immagini con
tinte unite o animazioni; JPEG
per le fotografie. Nella lezione
dedicata al Web design vedremo
meglio come sfruttare ciascuno
di essi.
Inserire l'immagine
nella pagina HTML
Abbiamo detto che ogni immagine costituisce un oggetto
esterno alla pagina Web e che
viene abbinata a quest'ultima
nel momento in cui il server la
spedisce al browser del navigatore. A tale scopo è sufficiente
inserire nel codice HTML della
pagina, lì dove vogliamo che
l'immagine compaia, un riferimento che punti alla posizione
del file che la contiene e che ne
indichi le principali caratteristiche di visualizzazione. Ciò permette di svincolare HTML e grafica di conservare tutte le immagini in una directory centralizzata, una tecnica particolarmente utile nei siti dinamici.
Il marcatore HTML che inserisce l'immagine nella pagina è
<img> (image) che deve essere
necessariamente abbinato all'attributo src (source – fonte)
per indicare la posizione del file
grafico. Un esempio pratico del
suo uso sarebbe <img
src="/zzz/pcopenlogo.gif"
width="168" height="55" bor-
der="0"> dove si dice che l'immagine pcopenlogo.gif si trova
nella cartelletta "zzz" e che va visualizzata con una larghezza di
168 pixel e un'altezza di 55 pixel,
senza bordo. Altezza e larghezza
non sono indispensabili, poiché
il browser userà automaticamente le dimensioni dell'immagine contenuta nel file, tuttavia
sono utili per velocizzare la visualizzazione della pagina. Infatti, sapendo lo spazio da riservare, il browser può comporre
la pagina immediatamente senza aspettare che l'immagine sia
stata caricata per intero. I due
parametri servono anche per visualizzare l'immagine a dimensioni diverse (solitamente più
piccole) rispetto all'originale.
Questo può essere utile nel caso
in cui la stessa immagine compaia in più pagine con risoluzioni diverse e non si voglia produrne più versioni. Non è sempre una strategia vincente poiché costringe il browser a compiere un doppio lavoro: scaricare un file più grande del necessario e ridimensionarlo, a scapito della velocità di visualizzazione della pagina. Può essere
utile solo quando siamo sicuri
che le versioni multiple della
stessa immagine siano viste nella stessa sessione di navigazione, magari perché sono nella
stessa pagina. In tal caso, il beneficio di caricare un solo file invece che diversi compensa i rallentamenti dovuti alla rielaborazione.
L'attributo border serve a visualizzare o meno un bordo blu,
usato per indicare che all'immagine è abbinato un collegamento ipertestuale. È rarissimo tro-
vare siti che usino ancora immagini bordate perché il bordo
è decisamente antiestetico e ormai inutile, visto che i navigatori suppongono quasi sempre
che tutte le immagini siano cliccabili e possono averne conferma semplicemente portandovi
sopra il cursore del mouse.
Un altro attributo molto importante è align usato per allineare l'immagine rispetto agli
elementi che la circondano. Poiché si tratta di un attributo che
modifica l'impaginazione e non
fornisce invece informazioni
strutturali, è stato deprecato da
HTML 4.01 che consiglia di sostituirlo con una funzione equivalente dei CSS. Tuttavia i progettisti di siti si sono talmente
abituati a utilizzarlo che non
sparirà tanto presto dalla circolazione. L'attributo align prevede cinque valori: il più comune,
left, allinea l'immagine lungo il
margine sinistro della finestra,
tabella o altro elemento in cui si
trova, lasciando il testo fluire
sulla destra. Con right si ottiene
naturalmente l'effetto opposto.
Con top si allinea il margine superiore dell'immagine al margine
superiore della prima riga di testo corrente. Il parametro middle allinea la base della prima riga
di testo al centro dell'immagine.
Infine bottom allinea la base della prima riga del testo corrente
alla base dell'immagine. Trovate
un esempio HTML delle varie
modalità nel file "Allineamento
immagine" sul CD Guida.
Un altro attributo importante, ma spesso trascurato è alt
(alternate) che serve a contenere una breve descrizione dell'immagine da usare nel caso in
cui l'immagine stessa non fosse
visibile, vuoi perché il navigatore ne ha disattivato la visualizzazione sul proprio browser,
vuoi perché non è in grado di vederla. La seconda ipotesi si riferisce sia a navigatori non-vedenti sia a chi utilizza browser
vocali che "leggono" il contenuto della pagina al telefono oppure su altro dispositivo di navigazione uditivo (come i navigatori
per automobile). L'uso dell'attributo alt costituisce un requisito per rendere il sito accessibile secondo le specifiche WAI
(Web Accessibilità Iniziative http://www.w3.org/WAI/) e sono
ormai diventate obbligatorie in
gran parte dei siti dell'amministrazione pubblica. Un'alternativa è longdesc che consente d'inserire un link a un altro documento che descriva il contenuto
dell'immagine.
Chiudono l'elenco degli attributi per le immagini convenzionali hspace e vspace che indicano in pixel rispettivamente lo
spazio orizzontale e verticale da
riservare attorno all'immagine.
Vengono usati di rado perché si
applicano uniformemente sui
quattro lati dell'immagine compromettendo anche gli allineamenti rispetto al testo e alla tabella di layout. Di solito, dell'immagine rispetto agli elementi sui
lati che c'interessano viene realizzata con maggiore precisione
usando celle vuote nella tabella
di layout.
FrontPage 2002 non è stato provato,
com'era nelle nostre iniziali intenzioni,
in quanto è in arrivo la nuova versione,
contenuta in Office 11. Potete però
trovare una copia dimostrativa integrale di
FrontPage 2002 sul CD GUIDA n.68
In esclusiva per i lettori: dominio scontatissimo e uno spazio di hosting gratis!
Avete trovato interessante il nostro corso e volete prepararvi a mettere alla prova le competenze acquisite? Per farlo
avrete bisogno di uno spazio vostro sul Web, dove potervi esercitare nello sviluppo di siti campione su server reali.
Ecco quindi la nostra iniziativa, che nasce in
collaborazione con Register.it, il più
importante registrar in Italia: nei prossimi
mesi avrete a disposizione gratuitamente per
un mese l’uso di uno spazio di hosting
dedicato, oltre ad una serie di altri servizi
supplementari.
In più, dal momento che per poter usare lo
spazio di hosting è necessario disporre di un
dominio,
i lettori di PC Open in esclusiva potranno
48/88
acquistare da subito
il proprio dominio presso
Register ad un prezzo
scontatissimo (40% in meno,
lo sconto più alto oggi disponibile sul
mercato).
Il metodo è semplicissimo:
dovrete collegarvi al sito Internet
www.register.it/pcopen,
inserire il codice seguente: x6Wa3P
nel box all’interno della pagina e a questo
punto verrete inviati alla home page del sito
di Register, da dove le registrazioni verranno
scontate in automatico del 40%.
Le registrazioni saranno comprensive di tutto
quanto è indicato all’indirizzo
http://we.register.it
/domains/allincluded.html.
Per il servizio di supporto inviare le e-mail
all’indirizzo [email protected]
5a lezione
A scuola con PC Open
Progetto
Web Master
di Roberto Mazzoni
1 Elementi di design per il Web
a creazione stilistica di un
sito è solitamente appannaggio di un Web designer,
vale a dire un professionista
esperto nelle arti grafiche che
ha dimestichezza con gli strumenti e le tecniche necessarie.
Tuttavia, il Webmaster può trovarsi nella necessità di fare tutto da solo oppure di realizzare
nel concreto il progetto impostato da altri. Di conseguenza,
deve conoscere alcuni dei criteri da seguire per realizzare
una pubblicazione elettronica
che sia di buon livello estetico
L
e, al tempo stesso, funzionale.
Abbiamo già affrontato gli
aspetti progettuali per stabilire
le finalità del sito e il tipo di
pubblico che lo visiterà. Conoscere il navigatore che pensiamo di attrarre è indispensabile
per determinare la ricchezza
dell'interfaccia da fornire (vedi
Tecniche di progettazione del
sito nella prima lezione e Progettare la pagina nella seconda lezione). Una volta compiuto questo primo passo, siamo
pronti a disegnare la pagina vera e propria.
Criteri di base
La progettazione di una pagina Web, come per qualsiasi
altro tipo di pubblicazione su
carta o altro supporto, consiste nel collocare gli elementi su
una griglia ordinata, assegnando dimensioni proporzionate e
tracciando un percorso di lettura che guidi l'occhio del navigatore attraverso la pagina
nella sequenza che noi desideriamo, da sinistra a destra e
dall'alto in basso. Rispetto alla
carta, le pagine Web hanno la
caratteristica peculiare di es-
sere lette saltando da un punto
all'altro perciò è necessario
prevedere diversi punti di attenzione e mettere ben in evidenza gli elementi chiave. La
vera arte del design consiste in
realtà nel dosare gli elementi e
gli spazi bianchi. Lo spazio è un
elemento essenziale e comunque preponderante nella pagina; può essere bianco oppure
avere il colore dello sfondo, ma
deve immancabilmente comparire nella stessa proporzione
armonica degli elementi che
contiene. Una pagina troppo
IL CALENDARIO DELLE LEZIONI
Lezione 1:
Competenze e strumenti
(disponibile integralmente
sul CD)
Lezione 2:
Siti statici e linguaggio
HTML
il corso è
sul CD
n. 69
(disponibile integralmente
sul CD)
• Progettare un sito statico
• Progettare la pagina
• Pagine HTML e marcatori
• Strutturare i contenuti della pagina
• Adobe GoLive 6.0
• Spiegazione dei tag HTML per una pagina
vergine
• Esercizi su come creare una pagina
vergine e su come progettare un sito
Lezione 3:
Modelli di pagina e tabelle
(disponibile integralmente sul CD)
• La tabella come elemento strutturale
• Progettare layout fluidi e statici
• Costruire template con le tabelle
di layout
• NamoWeb Editor5: per siti statici
49/88
professionali
• Dimensionare tabelle e celle fluide,
dimensionare tabelle con celle miste,
allineamento spontaneo delle tabelle
consecutive
• Template con struttura complessa
• Template con tabelle nidificate
• Esercizi
Lezione 5:
Design e multimedialità
• Elementi di design per il Web
• La ruota colore
• Grafica e formati di immagini per Internet
Lezione 4:
HTML 4.01 e CSS
(disponibile integralmente sul CD)
• Stile e struttura: usare i tag HTML nativi
• Il deprecato tag font
• I marcatori per formattare il testo
• Gestire gli spazi nel testo
• CSS e HTML 4.01
• Cosa si può fare con i fogli stile
• Quattro tipi di CSS
• I colori del Web
• Gestire le immagini
• Esercizi
• Ereditarietà e innesco a cascata
• Proprietà di trasferimento
dei parametri
• Regole di ereditarietà
• Selettori di classe
• Websafe palette
• Link ipertestuali
• Tabelle d’immagini
• Mappe immagine
• Audio e video
Le prossime puntate
Lezione 6:
Siti interattivi
Lezione 7:
Interazione sul server
Lezione 8:
Promuovere il sito
5a lezione
La home page di un sito progettato con ordine. Questo è il famoso
www.webpagesthatsuck.com ossia un sito dedicato a promuovere o bocciare le varie
soluzioni di design che si trovano sul Web. Notate la struttura regolare, dove il testo la
fa da padrone e dove compare ampio spazio bianco che dà risalto ai contenuti
facilitandone anche la lettura
affollata sembra disordinata e
risulta anche difficile da leggere.
Persino i portali più importanti, noterete, usano generose
porzioni di bianco benché mostrino in home page una quantità impressionante di link. Gli
sfondi colorati vanno utilizzati
con parsimonia, solo per evidenziare aree particolari della
pagina e mantenendosi comunque su tinte pastello, tenui. La leggibilità del testo viene prima di ogni cosa e uno
sfondo di colore intenso finisce
Questa è invece una delle pagine recentemente bocciate da WebPagesThatSuck. È un
garbuglio di colori e di elementi, alcuni animati, che sconcertano il navigatore
impedendogli di capire dove sia capitato e dove possa andare da quel punto.
Graficamente divertente, ma decisamente bocciata in termini di utilità per il Web
50/88
per fare a pugni anche con la
grafica e con le immagini presenti nella pagina. La regola
d'oro del buon designer è che
meno elementi ci sono, specie
se decorativi, migliore sarà il risultato finale. La pagina sembrerà più chiara, elegante e leggibile. Una delle tecniche seguite nel design editoriale è
quella di aggiungere tutto ciò
che riteniamo sia necessario e,
una volta soddisfatti, togliere
tutto quel che riusciamo senza
alterare la funzionalità del nostro design, a quel punto arriveremo a un distillato di stile
efficace.
Il testo, solitamente preponderante, dovrebbe essere scuro su sfondo chiaro o viceversa, e richiamare poca attenzione. Dev'essere soprattutto leggibile e bisogna distinguere visivamente il testo corrente dai
titoli, dalle didascalie e dai link
ipertestuali. Questi ultimi sono
storicamente blu e sottolineati,
tuttavia è facile trovare siti che
omettano la sottolineatura e
che adottino colori diversi dal
blu originale. L'importante è
che i link abbiano caratteristiche costanti nell'intero sito e
che siano riconoscibili a colpo
d'occhio per quel che sono.
centrato rispetto al testo che
invece è allineato a sinistra.
La posizione degli elementi
identifica la sequenza con cui
vogliamo che il navigatore li
veda. In alcuni casi fornisce
informazioni anche sul tipo di
contenuto. Ad esempio, una didascalia di solito si trova vicino
all'immagine a cui si riferisce,
gli elementi di navigazione si
trovano sui bordi laterali oppure in alto e in basso, e via di
seguito. Inoltre la scelta della
posizione serve anche a bilanciare il "peso" di un elemento
così da non rendere la pagina
sbilanciata. Ad esempio se
avessimo le immagini tutte da
una parte e il testo dall'altra
non percepiremmo un effetto
armonico.
La ripetizione è simile alla
coerenza, ma consiste nel riproporre alcune informazioni
che vogliamo far ricordare al
navigatore, siano esse un brano di testo che spiega discretamente la natura del sito, un
piccolo motivo grafico che
contrassegna ripetitivamente
un certo tipo di contenuto, una
barra di navigazione globale,
presente in tutto il sito e via dicendo.
Dosare il colore
Coerenza, allineamento,
posizione e ripetizione
Queste sono le quattro parole chiave da tenere a mente
quando si progetta la grafica di
un sito. La coerenza si riferisce
alla costanza con cui gli elementi di riferimento si ripetono
di pagina in pagina conservando aspetto, posizione e dimensione. Il sito avrà sicuramente
diversi modelli di pagina (template), ma ci saranno alcuni
elementi che non cambiano,
come ad esempio il logo, le barre di navigazione, i link ipertestuali, lo sfondo, eccetera.
Mantenendo invariati questi
elementi, si trasmetterà un'impressione di ordine e si faciliterà l'orientamento del navigatore che potrà concentrarsi sui
contenuti. L'allineamento è un
criterio fondamentale dell'impaginazione tipografica e si ripropone anche sul Web. Il testo
e le immagini devono mantenere un allineamento regolare tra
loro e rispetto alla griglia di
layout. È anche possibile sfruttare variazioni di allineamento
rispetto alla norma per mettere
in evidenza elementi particolari, come ad esempio un titolo
Il colore è notoriamente l'elemento più visibile all'interno
di una pagina e perciò gli elementi colorati dovrebbero essere usati con attenzione, così
da non sopraffare l'attenzione
del navigatore. Usate tinte poco intense per le grandi aree,
come gli sfondi e le cornici. È
anche importante che i colori
presenti sulla pagina siano tra
loro compatibili, vale a dire che
si sposino bene insieme. Il loro
abbinamento è un'arte con regole precise di cui parliamo più
avanti nell’articolo, ma esistono anche strumenti che aiutano a scegliere le combinazioni
adatte, vedi ad esempio l'utility
gratuita SLUGS da integrare nel
programma gratuito HTML-Kit
di cui abbiamo parlato in questo corso, che seleziona per
voi i colori complementari rispetto alla base che avete identificato e li rapporta anche in
termini di saturazione e gradienti d'intensità (passaggio da
un colore all'altro con le principali tinte intermedie).
Parlando di colori, dovrete
anche decidere se uniformarvi
alla Websafe palette (vedi la
scorsa lezione), il che sarebbe 5a lezione
consigliabile per lo meno negli
elementi di navigazione.
Ancora più visibili dei colori
sono le fotografie e gli elementi grafici, specie se tridimensionali. Le fotografie aggiungono anche informazioni di contenuto, ma è bene ricordare
che ogni immagine aggiunta aumenta il tempo di scaricamento della pagina. Il rallentamento diventa particolarmente vistoso con immagini di grandi
dimensioni e le pagine che contengono un gran numero d'immagini diventano inaccessibili
a chi usi browser non convenzionali (come telefonino, PDA,
eccetera) e difficili da aggiornare.
Gli elementi grafici 3D sono
invece spesso una parte integrante del sistema di navigazione del sito. L'effetto tridimensionale è facilmente realizzato aggiungendo un'ombra alla figura, icona, pulsante o barra di navigazione, e creando
bordi smussati. L'uso di grafica
per le barre di navigazione ne
aumenta la visibilità, ma ne
complica la gestione.
L'uso delle icone può essere
invece esteticamente efficace,
ma bisogna ricordarsi di aggiungere sempre un testo che
spieghi la funzione di ciascuna,
poiché non sempre il navigatore capisce il significato dell'icona semplicemente guardandola, anche se a noi potrebbe risultare del tutto evidente.
Immagini in movimento
per dare vita alla pagina
Il prossimo elemento a salire
nella nostra graduatoria di visibilità sono le immagini in movimento, balzano all'occhio più
di qualsiasi altra cosa e contribuiscono a differenziare il Web
dalla carta stampata. Qui gli
esperti di usabilità sono concordi: mai superare i due elementi per pagina. Nella realtà si
finisce per averne diversi anche perché i banner e i bottoni
pubblicitari sono spesso ani-
mati e si sommano agli elementi dinamici già presenti nel
sito.
Il sistema più semplice e diffuso per creare animazioni consiste nello sfruttare una funzione del formato GIF che permette di combinare tra loro diversi
"fotogrammi", tutti dello stesso
formato, e mostrarli ciclicamente al posto dell'immagine
di partenza. Il GIF animato è facile da realizzare e compatibile
con qualsiasi browser. Presenta solo l'inconveniente di appesantire il file che lo contiene. Il
secondo elemento di animazione molto diffuso è Macromedia
Flash, un programma che produce animazioni grafiche di natura vettoriale, ossia definite
per mezzo di formule matematiche.
Ciò permette di ottenere risultati molto più raffinati rispetto al GIF con file molto più
leggeri, ma impone l'impiego
di uno speciale software da abbinare al browser (plug-in) che
2 La ruota colore del Web
armonia dei colori costituisce un elemento centrale per qualsiasi progetto grafico. Il contrasto e gli abbinamenti vanno studiati basandosi sui rapporti esistenti
in natura. Nelle arti grafiche,
esiste un oggetto chiamato ruota colore (colorwheel) che
identifica i tre colori primari
(rosso, giallo e blu) e li pone in
relazione ai loro complementi e
omologhi. Nel Web usiamo una
ruota colore differente basata
sul modello RGB che, come abbiamo visto, utilizza un colore
primario diverso: il verde al posto del giallo, mantenendo inalterati gli altri due: rosso e blu.
La ruota colore del Web, alla
pari di quella tradizionale, definisce una serie di relazioni specifiche tra i diversi colori al fine
di ottenere precisi effetti di armonia e di contrasto. Ogni colore primario ha un colore
complementare che si trova
nella posizione immediatamente opposta sulla ruota. La combinazione dei due produce un
forte impatto visuale, pur mantenendo l'armonia dell'insieme.
Il colore complementare del
blu ad esempio è il giallo, men-
L’
51/88
tre il colore complementare del
rosso è il ciano (azzurro), infine il colore complementare del
verde è il violetto.
Se invece volete realizzare
un effetto meno contrastato
potete scegliere colori analoghi che si trovino immediatamente a fianco del colore di riferimento scelto. Nel caso del
giallo i colori analoghi sono l'arancione e il verde chiaro, per
il blu sono il blu chiaro e il viola, eccetera.
Esistono diverse altre combinazioni per le quali vi rimandiamo all'articolo Color Harmony pubblicato sul sito
http://builder.cnet.com, quel
che conta è ricordare che i colori vanno abbinati in modo armonico seguendo regole ben
precise. La scelta del colore di
riferimento, poi, è importante
per stabilire la natura del sito.
Avrete un effetto caldo usando
i colori del fuoco (rosso, arancione) oppure freddo usando i
colori dell'acqua e dell'aria (blu
e verde). Per un'analisi completa delle armonie cromatiche
rimandiamo al testo Il colore
nel Web di Molly E. Holzschlag,
edito da Apogeo.
Questa è un riproduzione della ruota
colore per il Web. Rispetto alla ruota
colore tradizionale, vediamo che il
giallo è stato sostituito dal verde
come colore primario, mentre
rimangono invariati gli altri due: blu e
rosso. Combinando i tre colori primari
in diverse percentuali si ottengono
tutti gli altri colori. La ruota serve per
scegliere accostamenti armonici.
Nell'esempio vediamo che il rosso
sta bene con l'azzurro che è il colore
complementare oppure con l'arancio
e il violetto che sono analoghi.
Si possono anche combinare il rosso
e i due colori che sono di fianco
all'azzurro (blu chiaro e il la banda
più scura del verde), i cosiddetti
complementari separati
L'utility SLUGS, da utilizzare in
abbinamento all'editor HTML-Kit che
abbiamo presentato all'inizio di
questo corso, vi guida nella selezione
dei colori armonici.
Basta selezionare il colore di
riferimento, che compare al centro,
per vedere il colore complementare
(inverse), gli analoghi (near), gli split
complementari e la triade
(altri due colori che sono equidistanti
sulla ruota rispetto a quello di
riferimento).
L'utility è disponibile al seguente
indirizzo:
http://www.chamisplace.com/asp/
hkp.asp?f=cmslugs
nel caso di Flash è spesso integrato nelle versioni più moderne dei principali browser. Esistono soluzioni di animazione
ancora più complesse che prevedono l'inserimento di filmati
o di sequenze prodotte con altri software.
Ciascuna di questi richiede
tuttavia speciali plug-in oppure
veri e propri applicativi, non disponibili a tutti i navigatori
benché gratuiti.
L'ultima novità in materia di
grafica vettoriale per il Web è il
formato SVG (Scalable Vector
Graphics) che costituisce uno
standard nato con il nuovo linguaggio XML e che richiede anch'esso l'impiego di plug-in gratuiti, ma che in prospettiva diventerà parte integrante dei
browser. SVG sarà probabilmente uno dei formati di riferimento del futuro, ma per il momento la scelta per le animazioni sul Web si concentra su
GIF, e la relativa evoluzione
PNG, e su Flash.
3 Grafica per il Web
opo il testo, la grafica costituisce il contenuto più
comune per un un sito
Web. Nella scorsa lezione abbiamo visto come inserire e allineare un'immagine all'interno di una pagina HTML, ora vediamo come costruirne una al
fine di ottenere il miglior risultato possibile. La prima cosa
da capire è che l'immagine che
voi vedete sul vostro schermo
non sarà mai esattamente
quella che il navigatore guarderà sul proprio computer. Le
differenze tra i browser, tra le
diverse famiglie di computer e
anche semplicemente nella calibrazione dei due monitor
produrranno variazioni anche
molto vistose. Di conseguenza
non c'è scopo nel puntare alla
miglior qualità possibile e conviene semmai cercare di ridurre al massimo il peso dell'immagine pur conservandone i
contenuti. Una simile operazione prende il nome di "ottimizzazione" e costituisce
un'arte di per sé stessa. Essa
combina la scelta del formato
di memorizzazione più adatto
al tipo d'immagine e la definizione della dimensione, della
qualità e del numero di colori
presenti al suo interno.
Il primo passo consiste nel
conoscere lo strumento che
dovrà visualizzare la nostra
immagine, vale a dire il personal computer. Esiste una prima
differenza fondamentale tra le
diverse famiglie: il Macintosh
tende a mostrare le immagini
più chiare rispetto alle macchine Windows. Perciò se lavorate su un Macintosh dovreste cercare di generare immagini che sembrino un po' più
D
Queste due immagini sono composte da
colori pieni e perciò si adattano
particolarmente alla compressione in
formato GIF. Quest'ultima codifica le
variazioni di colore registrate su ciascuna
riga orizzontale, dunque vediamo che la
seconda immagine, con le righe
orizzontali, viene compressa molto
meglio della prima, pur avendo identiche
dimensioni e numero di colori
52/88
chiare del dovuto, così da apparire accettabili sullo schermo di un PC. Viceversa, cercate di produrre immagini che
sembrino un po' più scure del
dovuto sullo schermo del PC
per fare in modo che non appaiano slavate quando visualizzate su un Mac. Attenzione
anche alle differenze tra Linux
e Windows che, per quanto
meno evidenti, comunque esistono.
Inoltre, con la diffusione
progressiva dei monitor LCD e
dei notebook, in aggiunta ai
comuni tubi a raggi catodici,
dovete mettere anche in conto
sostanziali difformità nella resa dei colori a seconda del tipo
di display usato dal navigatore. Già era difficile garantire
una ragionevole uniformità tra
CRT di marca e tipo diverso;
ora con gli LCD le differenze
tra modelli diventano macroscopiche. Pertanto, nel creare
immagini da zero, bisogna evitare accostamenti di colori
troppo vicini tra loro, con
scarso contrasto, perché potrebbero sparire completamente sul monitor di qualcun
altro rendendo l'immagine del
tutto indistinguibile e bisogna
anche prepararsi a condurre
test periodici su macchine diverse.
ne del risultato. È bene salvare
la copia di dimensioni ridotte
separatamente perché non
sarà più possibile tornare alla
risoluzione originale compiendo il percorso inverso. Infatti, i
programmi di fotoritocco se la
cavano benissimo nel togliere
informazioni per rimpicciolire,
ma una volta che le hanno eliminate queste non possono essere ricostruite se non mediante formule matematiche
che sintetizzano i punti mancanti, ma che producono un effetto finale posticcio. Mantenere una copia dell'originale
serve anche per poter realizzare diverse varianti della stessa immagine partendo sempre
dalla situazione migliore. Infatti, se aveste deciso di usare il
comunissimo formato JPEG,
l'elaborazione e il salvataggio
continui della stessa immagine
ne ridurranno progressivamente la qualità. Il difetto di
questo formato è di perdere
informazioni ogni volta che si
salva l'immagine, anche se non
si eliminano punti o non la si
modifica in alcun modo. Dunque la scelta e la corretta gestione del formato costituisce
un passo fondamentale nella
preparazione di elementi grafici per il Web.
L'eclettico GIF
La risoluzione corretta
Lo schermo di un computer
visualizza tipicamente 72 punti per pollice, mentre la gran
parte delle immagini predisposte per la stampa su carta ha
una risoluzione di 300 punti
per pollice. Ciò significa che, a
parità di grandezza visiva, il file visualizzato sullo schermo
sarà di quattro volte più piccolo rispetto a quello inviato alla
stampante. Una variante sul tema è rappresentata dai monitor di grandissime dimensioni
che visualizzano 96 punti per
pollice, ma di solito si tiene comunque valido il valore di 72,
lasciando che poi l'immagine si
adatti automaticamente ai vari
display.
La conversione da 300 a 72
punti viene solitamente eseguita mediante un programma
di fotoritocco che riduce il numero complessivo di pixel eseguendo in alcuni casi anche la
compressione e l'ottimizzazio-
Il Graphic Interchange Format è il più comune tra i formati per il Web. Si presta particolarmente per la codifica di
disegni e grafici, ma può essere utilizzato anche per la memorizzazione di fotografie nel
caso in cui volessimo usare
due sue peculiarità: l'animazione e l'effetto trasparenza.
Gode del supporto di tutti i
browser in circolazione, offre
una compressione molto efficace e permette anche di creare immagini con caricamento
progressivo (interfacciate) per
sveltire la visualizzazione della
pagina senza rinunciare alla
qualità finale. Inoltre la compressione offerta da GIF è di tipo lossless vale a dire che non
comporta la perdita di dati, come invece accade nel caso del
JPEG. Va comunque notato che
i programmi più moderni consentono di eseguire una compressione con perdita anche
con il formato GIF al fine di 5a lezione
ridurne le dimensioni oltre
quel che si riesce a fare agendo
sul numero di colori.
Il formato GIF comprime
l'immagine esaminando in orizzontale il contenuto di ciascuna riga e codificando qualsiasi
variazione di colore. Ciò significa che immagini con ampi
spazi di tinte unite vengono
compressi con grandissima efficienza perché quando il colore non cambia, il formato si limita a registrare il valore iniziale e il numero di pixel per
cui deve essere ripetuto. L'efficienza diminuisce al crescere
degli elementi di colore diverso che tagliano l'immagine in
verticale e precipita in presenza di sfumature di colore. Un
esempio classico per vedere
la differenza consiste nel comprimere un'immagine a strisce
verticali e confrontarla con la
stessa immagine a strisce orizzontali, su sfondo uniforme: la
seconda, pur contenendo lo
stesso numero di pixel e di colori, avrà una dimensione mol-
to inferiore perché le variazioni su ciascuna riga saranno pochissime (vedi le figure di
esempio).
Il limite importante del formato GIF sta nel fatto che può
memorizzare al massimo 256
colori per ogni immagine. Questi possono essere diversi ogni
volta e costituire un campionamento di quel che l'immagine contiene (tavolozza adattata - adaptive palette) oppure
provenire dalla tavolozza di sistema utilizzata sul particolare
computer che dovrà visualizzare l'immagine. Una terza soluzione consiste nello scegliere colori presi dalla Websafe
palette (di cui abbiamo parlato
nella scorsa lezione) che elenca i 216 colori visualizzabili
senza distorsioni sia su Macintosh sia su PC.
Una quarta soluzione, abbastanza comune nei programmi
di grafica moderni, consiste
nel costruire una tavolozza
adattata che contenga anche
colori Websafe. Il programma
esamina tutti i colori della ta-
volozza e ogni volta che ne trova uno vicino a un corrispondente colore Websafe lo sostituisce con quest'ultimo (Macromedia Fireworks MX chiama questa particolare tecnica
Websnap, Adobe Imageready
la chiama invece Selettiva). Infine abbiamo una quinta possibilità che consiste nel creare
una palette che dà priorità ai
colori che sono più facilmente
percepibili dall'occhio umano,
indipendentemente dalla frequenza con cui vengono usati
nell'immagine (palette Percettiva, usata da ImageReady e
Photoshop).
I programmi di grafica compatibili con il formato GIF solitamente propongono in automatico una palette che conservi la miglior fedeltà possibile
dell'immagine e ci permettono, poi, di "ottimizzarla" intervenendo su due parametri fondamentali: il numero di colori
nella palette e la presenza o
meno del dithering. Quest'ultimo è un sistema per simulare
le gradazioni utilizzando la
Tutti i moderni programmi di elaborazione delle immagini (qui vediamo ImageReady di
Adobe) offrono la possibilità di aprire finestre multiple in cui confrontare l'immagine
originale con le versioni ottimizzate. Qui vediamo una scritta di testo che si adatta
particolarmente bene alla codifica GIF. Nella prima finestra abbiamo una versione con
palette selettiva a 32 colori (ce ne sono 17 in totale nell'immagine) che pesa 2,52
Kbyte. Nella seconda finestra in alto abbiamo la stessa immagine ridotta però a 2
colori (il minimo) che pesa 1,386 KB, ma che perde la possibilità di utilizzare le
sfumature di arancione e di blu per realizzare l'antialiasing come vedremo. Nelle altre
due finestre abbiamo utilizzato il formato JPEG con qualità bassa (30) e bassissima. Le
dimensioni sono rispettivamente 6.06 Kbyte e 4,105 Kbyte, perciò entrambe superiori
al formato GIF e con una perdita di qualità vistosa
Qui vediamo la stessa immagine precedente, ingrandita per osservare meglio i
contorni del testo. Notiamo che la versione GIF a 2 colori mostra calettature visibili
poiché vengono a mancare gli altri colori intermedi che in questa immagine servono per
realizzare l'antialiasing. Volendo è possibile scendere a 8 bit, comprimendo l'immagine
senza perdere l'effetto aliasing in modo apprezzabile. Qui vediamo anche i brutti
risultati sul testo del formato di compressione JPEG, del tutto inadatto a elaborare
immagini con colori pieni
53/88
Un esempio di ottimizzazione d'immagine GIF realizzata mediante la riduzione dei
colori. Nella finestra in altro a sinistra vediamo un logo che richiede 32 colori per
essere rappresentato fedelmente, la dimensione dell'immagine è di 5,103 Kbyte. Nella
finestra a fianco abbiamo ridotto i colori a 16 e la dimensione è scesa a 3,178 Kbyte,
ma notiamo una leggera alterazione del petalo Magenta in basso a destra. Passiamo
alla terza finestra, in basso a sinistra. Qui siamo scesi a 8 colori con una dimensione
di 2,434 Kbyte, meno di metà del file originale. Il logo è ancora riconoscibile benché il
magenta e il rosso non siano più fedeli e la scritta abbia cambiato colore. La quarta
versione con soli 4 colori è diventata naturalmente irriconoscibile
camente se
esistono colori a sufficienza.
Il numero dei
colori è l'elemento che più
di qualsiasi altro influenza
la dimensione
L'immagine che contiene il bottone di questo esempio ha uno
finale
di
sfondo blu identico allo sfondo della pagina HTML in cui
un'immagine.
s'inserisce. In tal modo i due si fondono e il bottone si fonde
perfettamente con la pagina
Partendo da
una qualsiasi
delle numerose palette disponibili per
il formato GIF,
possiamo ridurre selettivamente il numero di colori
così da aumentare
la
Cambiando lo sfondo della pagina diventa evidente lo sfondo
compressione
dell'immagine
dell'immagicombinazione di colori già pre- ne. Di default si parte con una
senti nell'immagine. Non au- tavolozza di 256 colori, si può
menta perciò il numero di co- quindi scendere a 128, 64, 32,
lori, ma incrementa comunque eccetera, oppure prendere la
la dimensione del file aggiun- scorciatoia e chiedere al progendo informazioni che mi- gramma di generare una paletgliorano soprattutto le even- te "esatta", cioè contenente l'etuali sfumature. Un parente satto numero di colori effettiprossimo del dithering è l'an- vamente presenti nell'immagitialiasing, che consiste nell'u- ne. Le due strade non sono
sare sfumature di colore per equivalenti. La tavolozza esatattenuare i bordi netti dei ca- ta consente infatti di eliminare
ratteri tipografici di grandi di- semplicemente le posizioni
mensioni, riducendone l'effet- non occupate all'interno della
to scalettatura. Il dithering è codifica GIF e produce effetti
direttamente attivabile e disat- apprezzabili solo su immagini
tivabile nel momento in cui ge- che abbiamo già pochi colori
neriamo l'immagine, l'antialia- di partenza. La riduzione masing viene realizzato automati- nuale forzata dei colori, invece, permette
di scalare la
dimensione
del file in modo controllato, alterandone l'aspetto,
ma in modo
poco visibile.
Potete anche
bloccare particolari colori
che non debbano essere
eliminati dalla
scalatura, arrivando a dimensioni che
sono anche
meno della
Per creare un bottone con sfondo trasparente, è necessario
scegliere come colore di trasparenza lo stesso che attribuiremo
metà dell'oriallo sfondo della nostra pagina Web, in questo caso il blu. In tal
ginale di parmodo il programma di grafica costruirà le sfumature di blu
tenza.
Per
necessarie per favorire la saldatura morbida tra l'immagine e lo
semplificare
sfondo. Nell'esempio in figura vediamo che Fireworks MX ha
queste scelte,
identificato con gli scacchi grigio-bianchi la zona trasparente e
ha generato un contorno bluastro tutt'intorno al pulsante
tutti i pro-
54/88
grammi di ottimizzazione per
Web aprono due o quattro finestre che permettono di confrontare visivamente l'originale di partenza con la versione
ottimizzata, della quale possono esistere contemporaneamente quattro varianti.
GIF trasparente e animato
Due varianti preziose del
formato GIF ci permettono di
creare effetti grafici ancora più
interessanti. La prima consiste nell'attribuire la trasparenza a uno dei colori contenuti
nella palette dell'immagine.
Può trattarsi di un colore qualsiasi: una volta selezionato, diventerà trasparente e lascerà
intravedere il colore di sfondo
impostato via HTML per l'elemento HTML che contiene
l'immagine (tabella o pagina).
Questo genere di tecnica è
utile quando un'immagine deve fondersi con la pagina senza
mostrare il classico bordo rettangolare. In pratica il soggetto
dell'immagine si mescola con
la pagina. Esistono due metodi
per realizzare tale soluzione. Il
primo consiste semplicemente
nel creare uno sfondo per l'immagine che sia identico a quello della pagina. Per far questo
bisogna conoscere bene i colori HTML e la Websafe palette in
modo da non avere differenze
visibili. Prendiamo l'esempio
di un bottone che vogliamo inserire nella nostra home page.
Assegniamo al rettangolo che
lo circonda un colore identico
a quello che sarà lo sfondo della pagina. La differenza tra i
due non sarà visibile sul nostro computer e l'immagine si
fonderà perfettamente con il
resto della pagina. Di solito i
programmi di elaborazione
delle immagini per il Web consentono di definire i colori mediante gli stessi codici esadecimali che useremo per lo sfondo della pagina HTML, perciò
sarete matematicamente sicuri
del risultato.
Tuttavia, nel caso volessimo cambiare lo sfondo della
pagina, saremmo anche costretti a modificare ogni singolo bottone. Per ovviare a tale
problema e per consentire anche l'uso di sfondi colorati in
modo vario (mediante l'impiego d'immagini di background)
si assegna allo sfondo che contorna il nostro pulsante un colore trasparente. Un'operazione facilissima: basta indica 5a lezione
Qui vediamo la stessa immagine a cui è stato attribuito uno
sfondo trasparente partendo, nel primo caso, dallo sfondo
bianco originale e, nel secondo caso, da uno sfondo blu identico
a quello previsto per la pagina. Nella prima si nota un bordo
biancastro e alcuni segni spuri che disturbano l'immagine, che
sono invece assenti dal secondo
re il colore prescelto per la trasparenza e il gioco è fatto.
L'unico accorgimento da
eseguire in questa operazione
consiste nello scegliere come
colore di sfondo dell'immagine
a cui assegnare la trasparenza
il medesimo colore che pensiamo di realizzare per lo sfondo della nostra pagina. Sembra
un controsenso, ma in realtà
deriva dalla necessità pratica
di creare una transizione
uniforme tra i bordi arrotondati dell'immagine e lo sfondo
circostante. In questi punti di
transizione il programma di
elaborazione dell'immagine
crea sfumature che tendono
verso il colore circostante così
da ottenere l'effetto di antialiasing (rimozione delle scalettature e frastagliature dai bordi).
Nel caso in cui lo sfondo fosse
bianco e lo rendessimo trasparente per poi montare l'immagine che ne risulta su una pagina blu, vedremmo un contorno
Un'immagine con bordo trasparente con bordi irregolari può
essere montata su una pagina che contenga un'immagine di
background creando un effetto di sovrapposizione perfetto
biancastro e irregolare attorno
alla sagoma della figura. Partendo invece da uno sfondo
blu che venga poi reso trasparente, la saldatura sarebbe
perfetta.
L'animazione è la seconda
grande prerogativa del formato GIF e consente di riunire
due o più fotogrammi della
stessa dimensione all'interno
di un singolo file in modo da visualizzarli ciclicamente. Il formato consente di creare un ciclo ripetitivo che prosegue
senza interruzione oppure termina dopo un certo numero di
ripetizioni. Permette anche di
definire l'intervallo di tempo
tra un'immagine e la successiva. In termini pratici, la sequenza d'immagini apparirà
come un singolo elemento e
verrà inserita nella pagina
HTML come qualsiasi altra immagine. È possibile creare un
GIF animato anche con sfondo
trasparente.
L'ultima variante del GIF
consiste nel formato interlacciato, usato di rado perché appesantisce il file e di fatto aggrava il problema che vorrebbe risolvere. Un'immagine interlacciata compare sul video
un po' per volta. La tecnica è
stata sviluppata per consentire al browser di visualizzare
una versione a bassa risoluzione dell'immagine non appena sia disponibile 1/8 del suo
contenuto, proseguendo poi
con la costruzione della pagina
mentre l'immagine termina di
caricarsi e diventa perfettamente visibile. La tecnica sveltisce la navigazione di pagine
con immagini di grandi dimensioni, tuttavia è altamente
sconsigliata per eventuali elementi di navigazione grafici visto che l'utente sarebbe costretto ad aspettare prima di
riuscire a capire di che cosa si
tratti.
JPEG per le fotografie
Questa foto è riprodotta in quattro formati diversi. Il primo è l'orginale salvato in
formato TIFF, usato nel mondo dell'editoria perché comprime senza perdere
informazioni. Gli altri tre mostrano quanto si perda in qualità con GIF o PNG cercando di
comprimere un'immagine allo stesso livello ottenibile con JPEG
55/88
Il formato standard per la registrazione di immagini fotografiche è il Joint Photographic
Experts Group. Offre il massimo
rendimento in tutte le situazioni in cui esistano sfumature
di colore e passaggi tonali morbidi. Codifica fino a 16 milioni
di colori e realizza una compressione di qualità regolabile
che comporta in ogni caso la
perdita parziale delle informazioni originali, senza che tuttavia tale perdita risulti evidente
all'occhio, salvo quando si esagera con la compressione.
A differenza del formato GIF,
il JPEG richiede anche l'operazione di decompressione
quando viene visualizzato dal
browser il che aggiunge un ritardo di visualizzazione che
non dipende dal tempo di trasferimento dell'immagine. Per
tale motivo, un'immagine JPEG
sarà sempre più lenta da visualizzare di un'immagine GIF
di pari dimensioni.
La versione più recente del
formato JPEG consente di regolare il livello di compressione con variazioni di un centesimo e di creare immagini che
si visualizzano progressivamente. In quest'ultimo caso
l'immagine compare immediatamente nella pagina, anche se
sfocata, per poi perfezionarsi
non appena il browser ne completa l'elaborazione. Per le fotografie il JPEG non è secondo
a nessuno e garantisce efficienze inarrivabili dagli altri
due formati: GIF e PNG. Risulta
invece pessimo per le immagini con contorni netti e colori
pieni, regno incontrastato del
formato GIF.
PNG tuttofare
Il formato Portable Network
Graphics nasce per rimpiazzare GIF e per sostituirsi a JPEG
in alcune circostanze. Alla pari
di GIF, offre l'effetto di trasparenza, molto migliorato qualitativamente poiché realizzato
a vari livelli, e la generazione
d'immagini interlacciate la cui
visualizzazione comincia dopo
che è stato caricato 1/64 del file e non 1/8 come nel caso del
GIF.
A differenza del GIF, codifica
16 milioni di colori e non consente l'animazione. Viene utilizzato come formato interno
da alcuni programmi di elaborazione grafica, come Fireworks, poiché memorizza
anche i vari stadi intermedi di
manipolazione così da modificare il testo e altri elementi
geometrici vettoriali inseriti
nella pagina anche dopo che
l'immagine è stata salvata. Potendo arrivare a 48 bit di colore e 16 bit di scala di grigio è
possibile utilizzarlo anche in
sostituzione del JPEG, specie
quando si vuole l'effetto trasparenza per un'immagine fotografica. Nella compressione
non si perdono informazioni e
perciò è possibile elaborare e
salvare ripetutamente lo stesso file senza scadere in qualità.
Il suo difetto sta nel supporto ancora parziale offerto dai
vari browser, soprattutto alla
trasparenza variabile.
5a lezione
4 Link ipertestuali
l Web esiste grazie al concetto di ipertesto mediante il
quale diversi documenti possono essere consultati in ordine libero sfruttando collegamenti reciproci.
Questi ultimi prendono il nome di collegamenti ipertestuali e consentono di saltare da
una posizione all'altra nella
stessa pagina, da una pagina a
un'altra dello stesso sito e da
un sito all'altro. Basta cliccare
sul link e si viene immediatamente proiettati verso la destinazione richiesta.
Esistono due modi per inserire un link ipertestuale in una
pagina Web: nella forma di testo e nella forma di immagine.
In entrambi i casi, si sfrutta lo
stesso marcatore, denominato
“ancora” il quale a sua volta
esiste in due varianti.
La più comune prende il nome di “ancora sorgente” perché identifica il punto di partenza del collegamento e ne
fornisce la descrizione della
destinazione. È il classico link
che troviamo nella maggior
parte delle pagine Web e sul
quale clicchiamo per saltare a
un'altra pagina. La seconda variante è invece l'ancora di destinazione utile per marcare il
punto di arrivo di un particolare link all'interno della pagina.
La si usa solitamente per
creare link a porzioni interne
dello stesso documento oppure per fare in modo che la pagina richiamata da un link esterno si apra in corrispondenza di
un particolare paragrafo, anziché alla prima riga.
I
Ancore sorgente
Il testo o l'immagine che delimitano il "punto caldo" (hot
spot) del collegamento sorgente, cioè il punto da cliccare, sono racchiusi tra i tag <a> e </a>.
La destinazione del link è invece indicata mediante l'attributo
href (hypertext reference) che
può contenere un collegamento relativo (pertinente al sito in
cui già ci troviamo) oppure assoluto (diretto a un sito esterno). All'interno di un sito, la
gran parte dei link saranno relativi, vale a dire che indicheranno la posizione del documento di destinazione in relazione alla directory principale
del sito (collegamento relativo
56/88
completo) oppure in relazione
al documento di partenza (collegamento relativo indiretto o
diretto – vedi l'articolo Collegamenti assoluti e relativi nella seconda lezione).
Prendiamo ad esempio il collegamento che dalla home page del nostro corso porta alla
prima pagina della quinta lezione: <a href="Lezione_5/Lezione_5.htm">quinta lezione</a> vediamo che la frase
che comparirà sulla pagina è
"quinta lezione" e quando ci
cliccheremo sopra, si aprirà la
pagina "Lezione_5.htm" che si
trova nella cartelletta "Lezione_5" collocata un livello sotto
alla cartelletta in cui ci troviamo al momento. Esistono vari
altri attributi, ma il più importante è target che specifica dove inviare la nuova pagina che
stiamo per aprire. È un attributo indispensabile nei frame, come vedremo più avanti, ma torna utile anche quando vogliamo inserire un link esterno e
non vogliamo che il navigatore
abbandoni il nostro sito.
In tal caso basterà impostare
target="_blank" per far aprire al
browser una nuova finestra in
aggiunta a quella da cui siamo
partiti. In alternativa è anche
possibile aprire una nuova finestra e assegnarle un nome di
fantasia: target="pippo".
In questo caso la nuova pagina verrà aperta in una nuova
finestra denominata "pippo".
Da notare che esiste tuttavia
una differenza sostanziale tra
"_blank" e "pippo". Il primo determinerà ogni volta l'apertura
di una nuova finestra che si aggiungerà a quelle già presenti.
Il secondo invece invierà qualsiasi altra nuova pagina nella
stessa finestra, sostituendo il
contenuto esistente.
Nel caso di link applicati a
un'immagine la sintassi rimane
la stessa salvo aggiungere il
marcatore <img>. Vediamo un
esempio sempre tratto dal nostro corso: <a href="Lezione_5/Lezione_5.htm"><img
src="Lezione_5/immagine.gif"
width="100" height="100" border="0"></a> ci dice che cliccando su immagine nella pagina corrente saremo trasportati
nella pagina Lezione_5.htm che
si trova nella cartelletta Lezione_5 subito sotto di noi.
Notate che la coppia di tag
<a> e </a> racchiude completamente il marcatore <img>
con tutte le informazioni relative all'immagine.
Tra gli attributi previsti da
quest'ultimo notiamo border
che serve a bordare l'immagine
con una cornice blu per indicare che vi è associato un link
ipertestuale (prerogativa solitamente non usata per motivi
estetici).
Ancore di destinazione
Le ancore di destinazione
sono usate abbastanza di rado.
È infatti preferibile comporre
documenti brevi che puntino
ad altri documenti altrettanto
brevi che non creare pagine interminabili che necessitino di
riferimenti interni. In ogni caso,
queste ancore possono tornare
utili in alcune situazioni. La loro caratteristica essenziale
consiste nell'identificare un
punto del documento come destinazione di un collegamento
origine. Tale punto può coincidere con un qualsiasi elemento
HTML (paragrafo, titolo), con
un brano di testo (anche semplicemente uno spazio bianco)
oppure con un'immagine.
La sintassi da usare nel caso
di un elemento HTML è la seguente <h1 id="pippo">brano di
testo </a>. Si sfrutta l'attributo
id tipico delle versioni più recenti di HTML per identificare
l'elemento a cui vogliamo puntare. Nel caso invece di un brano di testo o di un'immagine, la
sintassi sarà la seguente: <a name="pippo">brano di testo o immagine</a>. In entrambi i casi
il link sarà invisibile nella finestra del browser e non sarà
cliccabile proprio perché si
tratta di una destinazione e
non di un'origine. Avrete notato che nei due esempi abbiamo
inserito un nome di fantasia
(pippo) che ci servirà per puntare all'ancora di destinazione
dall'interno di un'ancora di origine. Supponiamo di voler
creare un link in cima al documento che faccia scorrere il testo nella finestra fino a raggiungere l'ancora di destinazione. La sintassi sarebbe <a
href="#pippo">testo da cliccare</a>. Notate che abbiamo
usato il simbolo di cancelletto
prima di "pippo" per indi- 5a lezione
care che si tratta del nome
di un'ancora di destinazione.
Nel caso di un link contenuto in
un documento esterno la sintassi sarebbe: <a href="documento.html#pippo">testo da
cliccare</a>.
Il documento.html si aprirà
nella finestra del browser esattamente nel punto contrassegnato dall'ancora "pippo".
La terza variante di link ipertestuale ci consente d'identificare esplicitamente che le parole che seguono corrispondono a un indirizzo di posta elet-
tronica e che perciò, cliccandovi sopra, sarà possibile inviare un messaggio direttamente a quel destinatario.
Si tratta di una funzione molto usata per facilitare il contatto con il gestore del sito o con
altre persone.
La sintassi è la seguente: <a
href="mailto:[email protected]"
>pippo</a> quando il navigatore cliccherà su "pippo" gli si
aprirà automaticamente il programma di posta e nella casella
del destinatario comparirà l'indirizzo "[email protected]". appesantire la pagina e complicare qualsiasi successiva modifica del testo. Mediante la
frammentazione, invece, possiamo rimpiazzare con un semplice sfondo HTML tutte le por-
zioni dell'immagine che hanno
una tinta unita e che magari
contengono testo. Oggi esistono numerosi programmi con
strumenti dedicati alla frammentazione automatica delle
5 Tabelle d’immagini
bbiamo già visto che le tabelle svolgono un ruolo
essenziale per costruire il
layout di una pagina Web. Inserendo brani di testo e immagini
entro le celle di una tabella invisibile, possiamo stabilirne le
posizioni e gli allineamenti.
Un impiego particolare di
questa funzione consiste nell'usare la tabella come elemento di unione per più immagini
oppure per gli elementi frazionati di una singola immagine
più grande.
Il primo caso è il più comune
e lo troviamo nella gran parte
dei siti. Prendiamo ad esempio
il sito italiano www.film.it che
parla di novità cinematografiche. Se scomponiamo la sua
home page, vediamo che contiene una tabella che salda tra
loro testo, fotografie, pulsanti
navigazione e testatine grafiche (vedi la figura).
Il secondo caso adotta invece una tecnica di frammentazione dell'immagine sviluppata
dai progettisti Web per sveltire
il caricamento di un'immagine
di grandi dimensioni e per usare la stessa immagine come
strumento di navigazione. L'o-
A
perazione richiede una certa
dimestichezza con i programmi di grafica e prevede la suddivisione di un'immagine in
tanti riquadri di dimensione variabile, che saranno uniti mediante una tabella così da ricomporre visivamente l'immagine originale senza lasciar trasparire la tabella sottostante.
Poiché ogni singola porzione
dell'immagine sarà contenuta
in una cella indipendente e
sarà un'immagine autonoma,
diventerà possibile abbinarle
un collegamento ipertestuale
così da creare un sistema di navigazione grafico (vedi l'esempio). Potremo anche animare
alcune porzioni dell'immagine,
creando un GIF animato per
quel particolare frammento, e
creare i cosiddetti rollover, vale a dire cambiamento d'immagine al passaggio del mouse. La
frammentazione (slicing) di
un’immmagine comporta notevoli benefici anche nel regolare
il peso della pagina. Supponiamo infatti di avere una figura
che contenga ampi spazi a tinta unita con magari porzioni di
testo al loro interno. Realizzare
il tutto in grafica vorrebbe dire
In questa pagina presa dal Web (www.film.it) vediamo cerchiate in rosso e in verde
tutte le immagini che sono state unite mediante la tabella invisibile che regge l'intera
pagina. Nella parte alta di navigazione, il riquadro nero, le immagini si mescolano con
lo sfondo della cella sembrando un tutt'uno
57/88
Qui vediamo Fireworks
MX usato per
suddividere una foto in
porzioni che andranno a
riempire altrettante
celle di una tabella che
viene generata
automaticamente dal
programma
Ecco la tabella
visualizzata all'interno
di Dreamweaver MX.
Notiamo le celle e le
singole immagini che vi
sono contenute. A
ciascuna possiamo
assegnare un link
ipertestuale così da
creare un elemento
grafico di navigazione
Una volta visualizzata
nel browser, l'immagine
sembra completamente
ricomposta e la tabella
sottostante sarà
invisibile. Tuttavia se
porteremo il cursore
sulle diverse porzioni
vedremo che
contengono link
ipertestuali attivi
5a lezione
immagini, in particolare Photoshop, ImageReady e Fireworks
MX. È sufficiente posizionare le
guide di taglio per identificare
le varie porzioni e in alcuni casi è anche possibile assegnare,
già dall'interno del programma
di grafica, l'effetto rollover e generare automaticamente la tabella HTML finale.
Ottimizziamo l'immagine già elaborata prima, definendo altre due porzioni di taglio (slicing) che trasformiamo in aree HTML visto
che hanno uno sfondo bianco tinta unita che può essere facilmente riprodotto mediante i colori di sfondo della tabella. Durante la
fase di esportazione, Fireworks MX genera automaticamente la tabella finale
Nella tabella finale vediamo che sono
presenti due celle vuote con sfondo
bianco che sostituiscono due porzioni
dell'immagine contenute nella versione
precedente.
Con questo semplice accorgimento,
la dimensione complessiva della pagina è
passata da 66 a 54 Kbyte. Disponendo
d'immagini con porzioni più ampie di
colore uniforme è chiaramente possibile
recuperare più spazio
6 Mappe immagine
bbiamo visto che un'immagine può essere frazionata in blocchi così da far
corrispondere a ciascun blocco un link ipertestuale e creare
un sistema di navigazione grafico. L'unione dei vari blocchi
in modo da riprodurre visivamente l'immagine originale sulla pagina Web richiede l'impiego di una tabella di layout. Il sistema è tuttavia complesso,
trascina con sé tutte le imprevedibilità delle tabelle e non si
presta a layout complessi, magari di forma astratta.
Esiste un'alternativa che
consiste nell'assegnare all'immagine che dovrà fungere da
elemento di navigazione una
serie di coordinate che identificano aree cliccabili.
A ciascuna di tali aree, poi,
attribuiremo un link ipertestuale. In pratica tracciamo sull'immagine una mappa invisibile, indicando le coordinate in
pixel dei vertici delle varie forme, calcolati partendo dall'angolo superiore sinistro dell'immagine.
Calcolare le coordinate a mano sarebbe un'impresa non da
poco, ma fortunatamente tutti i
principali editor HTML visuali
prevedono strumenti che semplificano moltissimo questa
operazione. Basta tracciare sulla figura i contorni delle varie
zone e il programma calcolerà
tutte le coordinate relative producendo anche il codice HMTL
necessario per inserire la map-
A
58/88
pa immagine (image map) nella
pagina. Le zone possono avere
tre forme: circolare, rettangolare o poligonale.
Le mappe immagine possono essere di due tipi: il primo,
che è anche il più comune,
prende il nome di mappa immagine lato client (client side
imagemap) e memorizza tutte
le informazioni relative alla
mappa all'interno della pagina
HTML che contiene l'immagine. Ciò consente al browser di
fornire informazioni sui link associati a ciascuna zona e costituisce il metodo di mappatura
raccomandato dalle specifiche
HTML 4.01.
Il secondo metodo, usato in
origine, prendeva il nome di
mappe immagine lato server e
depositava le coordinate sul
server che ospitava il sito, lasciando al server medesimo il
compito d'interpretare l'azione
dell'utente sulla mappa, restituendo l'indirizzo di link corretto. Oltre a essere molto più
complicate da realizzare delle
mappe lato client, le server side imagemap presentavano
anche lo svantaggio di funzionare in modo diverso a seconda del server impiegato e di richiedere continue connessioni al server.
Per aggiungere una mappa a
un'immagine esistente si usa il
parametro usemap="nome_
mappa" all'interno del tag
<img> che identifica l'immagine
stessa. Il valore nome_mappa
punta a una mappa identificata
dal
tag
<map
name=
"nome_mappa"> che contiene
tutte le coordinate delle zone
cliccabili (hot spot).
A ciascuna di queste associamo, poi, un link ipertestuale
in modo tale da trasformare
l'immagine in un elemento di
navigazione.
Ecco il codice HTML
per generare la
mappa immagine
vista prima
Qui vediamo un'immagine a cui sono state abbinate tre zone
cliccabili mediante la creazione di una mappa. Riconosciamo
le tre forme consentite: rettangolo, cerchio e poligono
6a lezione
A scuola con PC Open
Progetto
Web Master
di Michele Nasi
1 I linguaggi di programmazione
linguaggi di programmazione
si dividono essenzialmente in
tre grandi gruppi: linguaggi
compilati, semi-compilati ed interpretati.
Nel caso dei linguaggi compilati, il codice sorgente (ossia il
file testuale contenente le istruzioni che devono essere eseguite da parte del personal
computer) viene “impacchettato” sotto forma di un file eseguibile. I sorgenti vengono “tradotti” in codice macchina,
comprensibile al personal
computer, mediante l’utilizzo
I
dei cosiddetti compilatori. Ciò
comporta che un programma
“trasformato” in codice macchina può funzionare solo ed
esclusivamente in un particolare ambiente hardware-software.
Tra i linguaggi semi-compilati, citiamo Java: nato per affiancare l’HTML, permette lo sviluppo e l’utilizzo di applicazioni indipendenti dalla piattaforma. Ciò significa che Java è indipendente dalla specifica piattaforma hardware-software: il
programma Java viene compi-
lato in Java Bytecode quindi interpretato ed eseguito dalla
speciale Java Virtual Machine
(ne esistono versioni per tutte
le piattaforme hardware-software in circolazione).
La terza categoria di linguaggi di programmazione è
composta dai linguaggi interpretati: in questo caso, il codice
sorgente viene proposto in
chiaro, senza alcun tipo di codifica: sta al browser Internet
interpretarlo ed eseguire le
istruzioni elencate.
I linguaggi interpretati pos-
sono quindi essere considerati
come una sorta di “estensione”
dell’HTML. Come avrete avuto
modo di apprendere nelle lezioni precedenti del nostro corso, l’HTML non è un linguaggio
di programmazione vero e proprio (nonostante sia spesso, in
maniera colloquiale, erroneamente definito come tale).
L’HTML è un linguaggio di definizione della pagina che permette di impostare la posizione
di testo ed immagini in una pagina Web, di posizionare tabelle, frame, liste puntate e nume-
IL CALENDARIO DELLE LEZIONI
Lezione 1:
Competenze e strumenti
(disponibile integralmente
sul CD)
Lezione 2:
Siti statici e linguaggio
HTML
il corso
è sul CD
n. 70
(disponibile integralmente
sul CD)
• Progettare un sito statico
• Progettare la pagina
• Pagine HTML e marcatori
• Strutturare i contenuti della pagina
• Adobe GoLive 6.0
• Spiegazione dei tag HTML per una pagina
vergine
• Esercizi su come creare una pagina
vergine e su come progettare un sito
Lezione 3:
Modelli di pagina e tabelle
(disponibile integralmente sul CD)
• La tabella come elemento strutturale
• Progettare layout fluidi e statici
• Costruire template con le tabelle
di layout
• NamoWeb Editor5: per siti statici
59/88
professionali
• Dimensionare tabelle e celle fluide,
dimensionare tabelle con celle miste,
allineamento spontaneo delle tabelle
consecutive
• Template con struttura complessa
• Template con tabelle nidificate
• Esercizi
Lezione 4:
HTML 4.01 e CSS
(disponibile integralmente sul CD)
• Stile e struttura: usare i tag HTML nativi
• Il deprecato tag font
• I marcatori per formattare il testo
• Gestire gli spazi nel testo
• CSS e HTML 4.01
• Cosa si può fare con i fogli stile
• Quattro tipi di CSS
• I colori del Web
• Gestire le immagini
• Esercizi
• Ereditarietà e innesco a cascata
• Proprietà di trasferimento
dei parametri
• Regole di ereditarietà
• Selettori di classe
• Websafe palette
Lezione 5:
Design e multimedialità
(disponibile integralmente sul CD)
• Elementi di design per il Web
• La ruota colore
• Grafica e formati di immagini per Internet
• Link ipertestuali
• Tabelle d’immagini
• Mappe immagine
• Audio e video
Lezione 6:
Siti interattivi
• I linguaggi di programmazione
• La programmazione orientata agli oggetti
• Oggetti e prioprietà
• Eventi e funzioni
• Variabili e stringhe
• Gli operatori in JavaScript
• Istruzioni condizionali
• Interazione tra JavaScript e form HTML
• Interazione tra JavaScript e frame
• DHTML
Le prossime puntate
Lezione 7:
Interazione sul server
Lezione 8:
Promuovere il sito
6a lezione
rate e così via, oltre a stabilire
le proprietà caratteristiche
(ampiezza, colore, allineamento) di ciascun elemento.
Fatta eccezione per i form,
l’HTML non ha in sé né strutture in grado di interagire con l’utente né strutture decisionali.
L’HTML, insomma, è completamente statico.
Con questa lezione del nostro corso, ci proponiamo di
aggiungere un altro importante
tassello alle nostre conoscenze: presenteremo JavaScript e
DHTML.
JavaScript può essere considerato come il complemento di
HTML. È un linguaggio interpretato ed è un linguaggio di
scripting. JavaScript è semplice perché si basa su un numero
ristretto di oggetti di programmazione, tuttavia il suo utilizzo
potrebbe non risultare indicato
per lo svolgimento delle operazioni più complesse: procedure
all’apparenza assai semplici,
potrebbero infatti implicare lo
sviluppo di script piuttosto
complicati.
JavaScript è sicuro e affida-
L’identikit di JavaScript
• JavaScript è un linguaggio di scripting
• Un linguaggio di scripting è un linguaggio di programmazione
“ridotto all’osso”
• Uno script JavaScript si compone di una serie di istruzioni
eseguibili dal personal computer client
• Il codice JavaScript è inseribile all’interno di una qualsiasi pagina
HTML
• JavaScript è un linguaggio aperto che può essere liberamente
utilizzato da chiunque senza la necessità di acquistare una
licenza d’uso
• JavaScript è supportato da tutti i browser Internet
bile: proprio per la sua peculiarità di essere un linguaggio
piuttosto limitato – per numero
e complessità delle strutture
che mette a disposizione – non
si conoscono problemi di sicurezza e di affidabilità.
Tutti i bug e le “falle” di sicurezza di JavaScript sono stati
scoperti e risolti sin dall’uscita
delle prime versioni.
Tra le caratteristiche principali abbiamo già messo in luce
come il codice sia in chiaro,
ossia visibile da parte di
chiunque, semplicemente ser-
vendosi della funzione Visualizza l’HTML del browser, desideri di consultare il codice
HTML della pagina Web che
sta visitando.
Il codice JavaScript, inoltre,
viene eseguito sul client, ossia
sul personal computer che sta
visitando un determinato sito
Internet. Si tratta di un aspetto
importante che deve essere tenuto a mente: altri linguaggi di
programmazione vengono detti “lato server” perché, ad ogni
richiesta di connessione da
parte di un personal computer
(client), il server esegue le azioni previste dal programmatore
e comunica al computer client
(e quindi al suo browser Internet) il responso.
Il codice JavaScript, invece,
non viene interpretato ed eseguito sul server ma viene inviato – così com’è – al client: penserà, quindi, il browser Internet
(per esempio Internet Explorer) ad interpretarlo e ad eseguire le istruzioni specificate.
Il codice di uno script JavaScript deve essere quindi scaricato completamente da parte
del browser installato sul personal computer client, prima di
poter essere eseguito.
In questo modo, JavaScript
dispensa il server dall’effettuare una mole di lavoro aggiuntiva (il server non deve processare il codice JavaScript) ma
costringe ogni client ad un’opera di interpretazione ed esecuzione degli script.
È bene, quindi, non realizzare in JavaScript, script troppo
complessi, che richiedano, da
parte dei client, elevati tempi
di elaborazione.
2 La programmazione orientata agli oggetti
i sente sempre più spesso
parlare di programmazione orientata agli oggetti
(in inglese OOP, Object Oriented Programming). Pochi ne conoscono, però, il reale significato. Per far luce sull’argomento è sufficiente pensare un programma come un insieme di
oggetti (oggetti software) che
cooperano tra loro.
Ogni oggetto è in grado di
eseguire azioni particolari che
vengono effettuate solo quando richiesto da un altro oggetto
software. Pensate ad un televisore: si tratta di uno strumento
che, per esempio, sa accendersi, sa sintonizzarsi su canali
specifici, sa spegnersi. Ogni
azione è però richiesta esplicitamente da parte dell’utente,
servendosi di un altro oggetto
(il telecomando).
In pratica, è il telecomando
che invia al televisore un messaggio comunicandogli quale
azione deve essere intrapresa.
Il televisore poi è in grado di
conoscere il suo stato attuale
ossia le proprie proprietà (il
S
60/88
televisore è acceso o spento?
Su quale canale è sintonizzato?). Analogamente, anche gli
oggetti software dialogano tra
loro per mezzo di messaggi ed
ogni oggetto è caratterizzato
da un insieme di proprietà che
ne descrivono lo stato.
I linguaggi di programmazione più moderni fanno uso degli
oggetti software per rendere la
scrittura dei programmi più
semplice e intuitiva. Non è richiesta, infatti, al programmatore la conoscenza sul funzionamento “interno” dell’oggetto
software (chi utilizza il televisore non deve sapere come sono strutturati i circuiti elettronici che gli permettono di funzionare): gli è sufficiente apprendere le modalità per colloquiare con lui, ossia i messaggi
che possono essere inviati e
l’effetto di ogni singolo messaggio (semantica).
Semplificando molto, provate a pensare ad un ipotetico oggetto software chiamato “calcola distanze”: tale oggetto è in
grado di acquisire il nome di
due città e di calcolare la distanza tra di esse. Possiamo
supporre che tale oggetto
software preveda l’invio di due
messaggi: il primo per richiedere l’acquisizione dei nomi
delle città da parte dell’utilizzatore del programma, il secondo per richiedere il calcolo
della distanza tra le due città
specificate. Le proprietà dell’oggetto saranno essenzialmente due: la prima permetterà di avere informazioni sul
nome della prima città inserita;
la seconda proprietà sul nome
della seconda città. I valori di
ogni proprietà sono memorizzati in appositi contenitori
(porzioni della memoria) denominati variabili. Ciascun oggetto software è poi caratterizzato da alcuni metodi: essi descrivono le azioni che l’oggetto
deve compiere non appena riceve un messaggio specifico.
La programmazione orientata agli oggetti è, quindi, una
tecnica di programmazione
che permette di semplificare
notevolmente alcuni concetti
che riguardano lo sviluppo di
programmi, come vedremo più
avanti.
Come inserire uno script
in una pagina Web
Nelle precedenti puntate del
nostro corso abbiamo avuto
modo di familiarizzare con numerosi tag (o marcatori)
HTML. Ne aggiungiamo un altro: <SCRIPT> e </SCRIPT> consentono di delimitare il codice
JavaScript e quello proprio di
altri linguaggi di scripting.
Nella pratica, vanno utilizzati i tag seguenti:
<SCRIPT
Language=“Javascript”><!-//--></SCRIPT>
Com’è facile notare, all’interno della tag <SCRIPT> è sempre
bene specificare con quale linguaggio è stato realizzato lo
script. Qualora si indichi anche
la versione di JavaScript, lo
script verrà interpretato ed
eseguito solo dai browser che
la supportano. Ad esempio, il
codice contenuto all’interno
delle tag che seguono verrà in- 6a lezione
terpretato solo da Internet Ex-
plorer 4.0 o Netscape 4.0 e versioni successive:
<SCRIPT
Language=“Javascript1.2”><!-//--></SCRIPT>
Omettendo l’indicazione della versione, il codice verrà processato da tutti i browser.
In alternativa, è possibile utilizzare il tag <script type=
“text/javascript”> che consente, egualmente, di definire JavaScript come linguaggio di
scripting.
Il codice JavaScript può essere inserito direttamente all’interno di una pagina Web oppure in un file esterno. Tale file
dovrà poi essere opportunamente richiamato dal corpo
della pagina HTML.
Se si vuole inserire lo script
nella pagina HTML, si deve tenere presente che questo può
essere collocato all’interno delle tag <HEAD> e </HEAD> (ovvero nell’intestazione della pagina Web), oppure tra le tag
<BODY> e </BODY> (il corpo
vero e proprio della pagina
HTML). È importante ricordare
che gli script vengono eseguiti
in maniera sequenziale, uno
dopo l’altro, a seconda della loro posizione all’interno del codice HTML della pagina Web. In
particolare, gli script inseriti
nell’intestazione tra le tag
<HEAD> e </HEAD> vengono
eseguiti per primi.
I browser Internet
e gli script
Abbiamo già evidenziato come tutti i browser, soprattutto
quelli di ultima generazione,
siano in grado di processare i
JavaScript, qualsiasi sia la loro
versione. Ma cosa succede se
la pagina Web facente uso di JavaScript viene visualizzata con
un browser obsoleto? Di solito
o il codice non viene eseguito o
si presentano problemi. Qualora, poi, l’esecuzione degli
script fosse disattivata o si
usassero browser che non supportano JavaScript, il codice
presente nella pagina Web non
verrebbe eseguito. Spesso si ricorre, quindi, all’uso della tag
<NOSCRIPT></NOSCRIPT> che
permette di specificare il comportamento che il browser deve tenere qualora non fosse
possibile interpretare lo script.
Spesso si usa quindi il costrutto che segue:
<NOSCRIPT>
<META HTTP-EQUIV REFRESH
CONTENT=“0;
URL=nomedellapagina.html”>
</NOSCRIPT>
In pratica, il tag <META REFRESH> ordina al browser, qualora questo non sia in grado di
riconoscere adeguatamente lo
script, di passare immediatamente alla visualizzazione della pagina HTML “nomedellapagina.html”. Il buon programmatore avrà cura di inserire, in tale pagina, una versione del sito
visualizzabile con i browser più
vetusti.
Come regola generale, vi
suggeriamo di racchiudere
sempre il codice JavaScript tra
le tag <!-- e --> che, in HTML, indicano i commenti.
Questo perché alcuni browser (quelli più vecchi) qualora
non riconoscano il codice JavaScript, potrebbero, anziché
eseguirlo, visualizzarlo sulla
pagina Web (cosa che va assolutamente evitata). Delimitando, invece, gli script tra le tag
<!-- e -->, i browser più vecchi,
non in grado di riconoscere JavaScript, ne interpreteranno il
codice semplicemente come
commenti HTML (che non de-
vono essere stampati sulla pagina Web).
Alcuni browser, soprattutto
le versioni più datate di Netscape, hanno difficoltà nel gestire il segno > di fine commento: è bene perciò anteporre una
doppia barra // (commento JavaScript) prima del tag -->.
Create una nuova pagina
HTML, servendovi di uno degli
editor presentati nelle precedenti lezioni del corso (potete
servirvi semplicemente del
Blocco Note di Windows o di un
editor testuale), quindi copiate
al suo interno quanto segue:
<html>
<head>
</head>
<body>
<SCRIPT
Language=“Javascript”><!-document.write(“Benvenuto nel
mondo di JavaScript!”);
alert(’Questo è il tuo primo
script’);
//--></SCRIPT>
</body>
</html>
In questo script potete facilmente notare tutto quanto è
stato sinora introdotto.
È possibile notare come, in
questo caso, il codice JavaScript sia stato inserito all’interno della tag <BODY> (corpo
della pagina HTML). È stato fatto uso delle tag <!-- e --> (per impedire ai browser più datati la
visualizzazione dello script sulla pagina Web) e della doppia
barra finale (//).
Le righe evidenziate in rosso
sono istruzioni.
In JavaScript ogni istruzione
ha termine con il salto di riga
(il ritorno a capo) oppure con il
punto e virgola (;).
Consigliamo di usare sempre
il punto e virgola: vi consentirà
di identificare più istruzioni che
stanno sulla stessa riga.
Eseguire uno script esterno
Chi sviluppa una pagina Web
che fa uso di JavaScript, può
decidere se inserire gli script
direttamente nella pagina
HTML oppure se utilizzare file
esterni.
La sintassi da usare è la seguente:
<SCRIPT
SRC=“nomedelfilejavascript.js”></
SCRIPT>
dove il file “nomedelfilejavascript.js” è il file contenente il
codice JavaScript e che deve
essere richiamato.
I vantaggi che derivano dall’uso di file esterni sono enormi: se si prevede di utilizzare lo
stesso codice JavaScript in più
pagine HTML, si potrà semplicemente far riferimento al file
esterno che lo contiene, senza
doverlo riscrivere ogni volta.
Supponiamo, ad esempio, che
dieci pagine HTML del sito Web
che state realizzando debbano
impiegare lo stesso codice JavaScript: basterà memorizzare
lo script in un unico file di testo (ad esempio ilmioscript.js)
e richiamarlo da ciascuna pagina servendosi della tag
SCRIPT SRC.
Ricorrendo a file esterni si
attribuisce al sito che si sta
realizzando una struttura modulare che porterà ad indubbi
vantaggi in termini di spazio
occupato (le pagine Web saranno più snelle e compatte) e
faciliterà eventuali modifiche
del codice JavaScript (si dovrà
intervenire solo sul file esterno e non sulla struttura di ciascuna pagina HTML), con
grossi vantaggi in termini di
tempo.
3 Oggetti e priorità
icollegandoci con quanto
introdotto poco fa circa la
programmazione orientata agli oggetti, passiamo ad illustrare, nella pratica, il significato di oggetti e proprietà.
Una pagina Web, visualizzata
all’interno del browser Internet, è considerabile come un
oggetto. Ogni tabella, pulsante,
immagine, form, link, presente
R
61/88
nella vostra pagina Web è un
oggetto. Ogni oggetto dispone
di un certo numero di proprietà che lo caratterizzano in
modo univoco.
Le informazioni per la visualizzazione del colore dello sfondo della pagina HTML sono,
per esempio, memorizzate nella proprietà bgcolor dell’oggetto document.
Utilizzando l’istruzione JavaScript document.bgcolor=“red”
alla vostra pagina Web sarà assegnato, come colore di sfondo, il rosso.
Il contenuto di un ipotetico
campo denominato username,
facente parte del form miologin, può essere recuperato utilizzando la proprietà value: document.miologin.username.va-
lue. Notare che la proprietà value si riferisce all’oggetto username (campo testo) che è parte dell’oggetto miologin (form),
il quale, a sua volta, è contenuto nell’oggetto document (la pagina Web).
Metodi
I metodi descrivono le azioni
che l’oggetto deve compiere
6a lezione
non appena riceve un messaggio specifico. In pratica, i metodi sono le azioni che l’oggetto è in grado di compiere.
Così come una porta può essere aperta o chiusa, una lampadina accesa o spenta, gli oggetti sono in grado di compiere
molte azioni.
Write() è, per esempio, un
metodo dell’oggetto document: abbiamo già avuto modo
di fare la sua prima superficiale conoscenza con lo script dell’Esempio 1: l’istruzione document.write (“Benvenuto nel
mondo di JavaScript!”) ci ha
permesso di scrivere la frase
indicata sulla nostra pagina
Web.
L’istruzione document.open()
permette, invece, di aprire un
nuovo documento (pagina
Web).
La lista dei principali gruppi di metodi
messi a disposizione in JavaScript
• Metodi di finestra - operano sull’oggetto Window e consentono di aprire e chiudere nuove finestre
• Metodi di documento - permettono di generare “al volo” nuovi documenti (pagine HTML)
• Metodi per i form - per selezionare gli oggetti che compongono un form (ad esempio un modulo di
richiesta di informazioni), per spostare il cursore sulle caselle di testo dei forum
• Metodi relativi alla cronologia - intervengono sulla cronologia dei siti Web visitati
• Metodi di data - permettono di operare su data e ora
• Metodi di testo - per modificare le proprietà caratteristiche del testo
• Metodi matematici - le principali funzioni matematiche
• Metodi “messagebox” - per generare finestre di dialogo
Se si vuole aprire una nuova
finestra da JavaScript, è necessario - in primo luogo - fissare
un nome identificativo da attribuirle (ad esempio Miafinestra). Sarà quindi possibile
aprire la nuova finestra servendosi della seguente istru-
zione:
Miafinestra = window.open()
Il metodo window.open permette l’utilizzo di tre parametri
opzionali che possono essere
inseriti all’interno delle parentesi tonde:
• Un URL contenente la pa-
gina HTML che deve essere visualizzata all’interno
della nuova finestra
• Un titolo per la finestra
• Una serie di informazioni
legate al “look” grafico della
finestra (dimensioni, posizionamento, e così via). che consente la visualizzazione di un’immagine all’interno
di una pagina Web. Analogamente, l’evento Onclick è inserito in una tag anchor <A
HREF… ed attivato non appena l’utente clicca sul link (nel
nostro esempio, viene visualizzato il messaggio “Stai per
raggiungere il sito di PC Open”
prima di indirizzare il browser
verso l’URL indicato nella tag
anchor).
Inizialmente JavaScript
metteva a disposizione del
programmatore solo pochi
eventi. Questi, inoltre, potevano essere abbinati ad un numero molto limitato di tag
HTML. Le nuove versioni di Internet Explorer hanno esteso
la possibilità d’uso degli eventi di JavaScript anche a numerose altre tag HTML mentre
Netscape, di contro, è rimasto
fedele al passato. Suggeriamo,
per questo motivo, di effettuare test di compatibilità delle proprie pagine Web sulle
varie versioni dei browser Internet.
Come abbiamo avuto modo
di apprendere, un evento può
richiamare una ed una sola
istruzione (nell’esempio precedente, sia l’evento Onmouseover che l’evento Onclick,
invocano la visualizzazione di
un messaggio d’avviso mediante l’uso dell’istruzione
alert). Accade però molto
spesso che le operazioni che
debbono essere eseguite al
verificarsi di un certo evento
siano diverse, assolutamente
non rappresentabili mediante
un’unica istruzione.
In questo caso è necessario
ricorrere all’uso delle funzioni
(handler o gestori di eventi):
si tratta di porzioni ben definite di codice che possono ricevere in ingresso dei dati da
elaborare e restituiscono in
uscita, dopo l’esecuzione delle istruzioni previste, un certo
risultato.
Nel caso in cui un evento
debba eseguire una serie di
istruzioni, tali righe di codice
vengono racchiuse in un’unica funzione, generalmente definita nell’intestazione della
pagina Web o nel corpo della
pagina HTML. L’evento farà
poi riferimento alla funzione
definita in precedenza. Ad
esempio Onclick=“mia_funzione()” invocherà, alla pressione del tasto sinistro del mouse, la funzione denominata
mia_funzione.
Un esempio concreto contribuirà a comprendere meglio il concetto:
4 Eventi e funzioni
li eventi consentono di
specificare quando - ed
in quali condizioni (per
esempio all’apertura di una
pagina Web, quando l’utente
clicca su un pulsante, quando
si muove il mouse su un determinato oggetto, e così via)
- un determinato script debba
essere eseguito.
A differenza di quanto visto
sinora, gli eventi non vengono
definiti all’interno della tag
<SCRIPT> ma vengono generalmente inseriti (a parte
qualche caso) nel codice
HTML della pagina Web.
Provate a creare una pagina
Web utilizzando il codice che
segue:
G
<HTML>
<HEAD></HEAD>
<BODY>
<SCRIPT
Language=“Javascript”>
<!-alert(’Benvenuto!’);
//--></SCRIPT>
<center>
<img src=“pcopen.gif”
onmouseover=“alert(’Hai
spostato il puntatore del
mouse
sull\’immagine’)”></img>
</center>
<a href=“javascript:alert(’Hai
cliccato’)”>Clicca qui</a><br>
<a
href=“http://www.pcopen.it”
62/88
onclick=“alert(’Stai per
raggiungere il sito di PC
Open’)”>Vai al sito Web di PC
Open...</a><br>
</BODY>
</HTML>
In questo caso, il primo
script ad essere eseguito è
quello inserito immediatamente dopo l’apertura della
tag <BODY>: l’istruzione alert
(’Benvenuto!’) mostrerà al visitatore un messaggio iniziale
di benvenuto. L’esempio ci
permette di provare sul campo l’utilizzo degli eventi: a tal
proposito, ci si può subito
rendere conto di come gli
eventi JavaScript siano utilizzati all’interno del codice
HTML.
Onmouseover e Onclick sono due eventi: il primo viene
attivato non appena l’utente
porta il puntatore del mouse
sull’oggetto cui la tag HTML fa
riferimento; il secondo evento
ha luogo quando l’utente “fa
clic” con il tasto sinistro del
mouse. Nel nostro esempio,
l’evento Onmouseover viene
attivato non appena il visitatore della nostra pagina Web
sposti il puntatore del mouse
sull’immagine raffigurante il
logo di PC Open (pcopen.gif).
Si noti come l’evento JavaScript è stato inserito direttamente nella tag HTML <IMG>
<HTML>
<HEAD>
<SCRIPT
LANGUAGE=“JavaScript”>
6a lezione
<!-- Inizio del codice Javascript
function msgbox (testo) {
alert (testo) }
// - Fine del codice JavaScript
- -->
</SCRIPT>
</HEAD>
<BODY>
<p align=“center”>
<a
href=“http://www.pcopen.it”
onclick=“msgbox(’State per
visitare il sito Web di PC
Open’)”>PC Open</a><br>
<a href=“http://www.01net.it”
onclick=“msgbox(’State per
visitare 01Net, il sito Web del
gruppo editoriale Agepe rivolto
ai professionisti dell\’IT e del
Web’)”>01Net</a><br>
<a
href=“http://www.digifocus.it”
onclick=“msgbox(’State per
visitare Digifocus: tutte le
informazioni per i
professionisti dell\’
immagine.’)”>Digifocus</a><
br>
<a
href=“http://www.ilsoftware.it
” onclick=“msgbox(’State per
visitare IlSoftware.it: il sito
italiano interamente dedicato
al mondo del software.
’)”>IlSoftware.it</a><br>
</p>
</BODY>
</HTML>
In questo esempio, abbiamo definito una funzione msgbox contenente un’unica istruzione.
Tale funzione viene richiamata da parte dell’evento onclick, inserito in ogni tag <A>.
Eventi importanti
onClick
Consente il rilevamento di un clic del mouse
onDblClick
Consente il rilevamento di un doppio clic del mouse
onKeyDown
Permette il rilevamento della pressione di un tasto
onLoad
Evento attivato in fase di caricamento
della pagina Web
onMouseOut
Il puntatore del mouse si sta allontanando
da un’area specifica (ad esempio un’immagine
od un collegamento)
onMouseOver
Il puntatore del mouse è stato spostato su un’area
specifica (ad esempio un’immagine od un
collegamento)
La funzione msgbox, inoltre,
riceve in ingresso il testo che
deve essere mostrato nella finestra d’allerta.
go, sarà sufficiente eseguire
un’operazione di assegnazione.
utente=prompt(“Inserisci il
tuo nome”,“Inserisci qui il tuo
nome”);
inizializzerà una variabile
utente, quindi vi memorizzerà
il valore specificato a destra
dell’operatore di assegnazione
(in questo caso proprio il valore stringa restituito dal metodo prompt()).
saggio di benvenuto.
La prima istruzione document.write stampa sulla pagina
Web il testo Benvenuto; la seconda inserisce nella pagina il
contenuto della variabile utente.
Sulle variabili è poi possibile eseguire tutta una serie di
operazioni.
Una delle più importanti è il
concatenamento: due o più variabili possono, cioè, essere
unite assieme.
Nell’esempio precedente
avremmo potuto usare un’unica istruzione document.write
impiegando il codice che segue:
5 Variabili e stringhe
n qualsiasi linguaggio di programmazione, le variabili
possono essere considerate
come delle scatole all’interno
delle quali è possibile immagazzinare dei dati.
Ogni variabile può memorizzare dati di un certo tipo:
numeri, stringhe (qualsiasi valore letterale), valori booleani.
Le variabili possono assumere
anche lo speciale valore “null”:
quest’ultimo si incontra spesso nella programmazione e
non rappresenta un valore
specifico.
In molti linguaggi di programmazione (per esempio Java, C, C++) le variabili devono
essere dichiarate prima di poter essere utilizzate: è quindi
indispensabile inizializzarle
specificando il loro nome e il
tipo di dati che esse andranno
a contenere.
In JavaScript la dichiarazione delle variabili non è strettamente necessaria.
Ad esempio, l’istruzione luogonascita=“Milano” provvede
automaticamente ad inizializzare una variabile (luogonascita) come stringa e a porvi,
al suo interno, il valore Milano.
Il simbolo di uguaglianza indica che stiamo effettuando un
assegnamento (stiamo associando alla variabile indicata
alla sinistra dell’uguale il valore specificato alla sua destra).
I
63/88
Va ricordato che le stringhe
(espressioni letterali) vanno
sempre racchiuse tra doppio
apice.
A tal proposito, analizzate le
seguenti due istruzioni:
luogonascita=“Milano”
luogonascita=Milano
Si tratta di due istruzioni
completamente differenti. Nel
primo caso il valore stringa
Milano viene memorizzato nella variabile luogonascita; nel
secondo caso viene memorizzato in luogonascita il valore
della variabile chiamata Milano.
Le variabili possono anche
essere inizializzate esplicitamente con la dichiarazione
var.
L’istruzione var luogonascita, per esempio, crea in memoria una variabile denominata luogonascita e le attribuisce il valore “null”.
Facciamo alcuni
esempi
Utilizziamo il metodo
prompt() per richiedere all’utente che visita la nostra pagina Web, di inserire il suo nome. La stringa di testo inserita
verrà successivamente utilizzata per visualizzare un messaggio di benvenuto.
Poiché il metodo prompt()
restituisce il testo che l’utente
immette nella finestra di dialo-
<html>
<head>
<title>Corso OpenMaster Lezione 6 - JavaScript Esempio 4</title>
</head>
<body>
<SCRIPT
Language=“Javascript”>
<!-utente=prompt(“Inserisci il tuo
nome”,“Inserisci qui il tuo
nome”);
document.write(“Benvenuto ”);
document.write(utente);
//-->
</SCRIPT>
</body>
</html>
Facendo riferimento a questo esempio, una volta memorizzato il valore stringa nella
variabile utente, tale variabile
potrà essere successivamente
usata per visualizzare il mes-
document.write(“Benvenuto
”+utente);
Il segno di addizione effettua, appunto, un concatenamento tra la stringa Benvenuto
e la variabile stringa utente.
Qualora si fosse utilizzato il
“+” tra variabili numeriche
(contenenti, cioè, un valore
numerico) avremmo ottenuto
una somma:
primo_valore=25;
secondo_valore=10;
document.write(primo_valore+secondo_valore);
In questo caso l’istruzione
document.write stampa sulla
pagina Web il valore 35, essendo primo_valore e secondo_valore due variabili numeriche. 6a lezione
6 Gli operatori in Javascript
Gli operatori si dividono in:
3. Operatori relazionali
1. operatori aritmetici
2. operatori di assegnamento
3. operatori relazionali
4. operatori logici
5. operatori su stringhe
Segnaliamo anche gli operatori sui bit (utilizzati di solito solo
per generare colori). Di seguito elenchiamo i principali operatori che JavaScript mette a disposizione del programmatore citando, per ognuno di essi, un esempio.
1. Operatori aritmetici
Operatore
+
Descrizione
Addizione
–
Sottrazione
*
Moltiplicazione
/
Divisione
%
Modulo (resto
di una divisione)
++
Incremento
(operatore unario)
Decremento
(operatore unario)
––
Esempio
x=2
x+2
x=2
5-x
x=4
x*5
15/5
5/2
5%2
10%8
10%2
x=5
x++
x=5
x––
Risultato
4
3
20
3
2.5
1
2
0
x=6
x=4
Operatore
Descrizione
Esempio
==
è uguale a
5==8 restituisce “false”
!=
non è uguale a
5!=8 restituisce “true”
>
è maggiore di
5>8 restituisce “false”
<
è minore di
5<8 restituisce “true”
>=
è maggiore o uguale a
5>=8 restituisce “false”
<=
è minore o uguale a
5<=8 restituisce “true”
Gli operatori relazioni si basano
sul concetto di “vero” e “falso”:
consentono di mettere in
relazione un valore (o una
variabile) rispetto ad un altro.
Il doppio uguale (==) permette,
ad esempio, di verificare se un
valore è uguale ad un altro (nel
caso delle variabili, se esse
ospitano lo stesso contenuto).
I valori possibili che vengono
restituiti dopo il confronto sono
4. Operatori logici
Operatore
&&
Descrizione
and
Esempio
x=6
y=3
(x < 10 && y > 1) restituisce “true”
||
or
x=6
y=3
(x==5 || y==5) restituisce “false”
!
not
x=6
y=3
x != y restituisce “true”
2. Operatori di assegnamento
Operatore
Esempio
=
+=
-=
*=
/=
%=
x=y
x+=y
x-=y
x*=y
x/=y
x%=y
Equivale a
(stessa semantica)
x=y
x=x+y
x=x-y
x=x*y
x=x/y
x=x%y
Com’è facile notare, un’operazione di assegnamento può essere
scritta in forma compatta (cioè abbinata ad un operatore
aritmetico).
L’operatore “+=” , per esempio, somma i valori delle due variabili
indicate e memorizza il risultato all’interno della variabile di sinistra.
Nella colonna “equivale a” potete verificare come si sarebbe potuta
scrivere, in alternativa, ogni singola operazione senza ricorrere alla
forma compatta.
false (falso) oppure true (vero).
Se avessimo inizializzato in
precedenza due variabili x e y,
ponendo la prima uguale a 5
(x=5), la seconda uguale a 8
(x=8), un confronto x==y
restituirebbe false (non è vero
che il contenuto della variabile x
è uguale al contenuto della
variabile y).
Gli operatori relazioni sono tutti
binari.
Gli operatori logici sono essenziali per effettuare confronti più
complessi tra valori e/o variabili. Sono ampiamente utilizzati nelle
strutture decisionali (if…then…else).
Nel primo esempio si suppone che la variabile x contenga il valore 6,
y il valore 3 (siano state effettuate le relative operazioni di
assegnamento).
L’espressione (x<10 && y>1) restituisce il valore true perché sono
vere entrambe le condizioni indicate (è vero, cioè, che x sia minore
di 10 ed è altrettanto vero che y sia maggiore di 1).
5. Operatori su stringhe
Per quanto riguarda gli operatori
su stringhe, abbiamo già avuto
modo di presentare, in
precedenza, il “+”, utilizzato per
concatenare assieme due o più
stringhe.
Lo script seguente, ad esempio,
assegna alla variabile testo3 la
stringa “Benvenuti al corso di PC
64/88
Open”:
testo1=“Benvenuti al corso”
testo2=“di PC Open”
testo3=testo1+testo2
Per aggiungere uno spazio tra le
due variabili stringa le soluzioni
possibili sono due.
La prima consiste nell’inserire
una stringa “spazio” nell’ultima
istruzione:
testo1=“Benvenuti al corso”
testo2=“di PC Open”
testo3=testo1+“ ”+testo2
oppure in testa alla stringa
testo2:
testo1=“Benvenuti al corso ”
testo2=“di PC Open”
testo3=testo1+“ ”+testo2
In alternativa, come seconda
soluzione, si può aggiungere uno
spazio in calce alla stringa testo1
In questo modo, la variabile
testo3 contiene la stringa
“Benvenuti al corso di PC Open”.
6a lezione
Mettiamoci alla prova
1
Cimentiamoci ora con un esercizio riassuntivo un po’ più complesso.
Supponiamo di voler creare una pagina Web dalla quale si possa
richiamare una nuova finestra. Tale finestra deve possedere attributi
specifici: deve misurare 300 pixel in altezza e 300 in larghezza, deve
mostrare la data attuale, visualizzare un testo, inserire un link HTML
il cui testo può essere liberamente deciso a priori.
La nuova finestra, inoltre, deve risultare perfettamente centrata,
qualsiasi risoluzione si stia impiegando.
1. Per prima cosa, inserite nella vostra pagina Web il codice HTML
che consenta la visualizzazione di un form costituito da un’unica casella
di testo e da un pulsante.
2
2. Passiamo ora allo sviluppo della funzione che dovrà aprire la nuova
finestra: definiamo la nuova funzione tra i tag <SCRIPT> e </SCRIPT>.
Poiché la funzione deve ricevere in ingresso un valore stringa, ricorriamo
all’utilizzo di una variabile messaggio.
All’interno della funzione JavaScript, dobbiamo quindi inserire una serie
di istruzioni che consentano di recuperare data ed ora attuali (nel formato
utilizzato sul personal computer client), che definiscano il contenuto
della nuova finestra e le proprietà della stessa (posizione e dimensioni).
Per quanto riguarda le informazioni relative a data ed ora impieghiamo
il codice che segue:
now = new Date();
data_ora = now.toLocaleString();
La data/ora viene recuperata con il metodo Date() quindi memorizzata
all’interno della variabile now, creata allo scopo. Il metodo
toLocaleString(), applicato alla variabile now, permette di “trasformare”
la data nel formato utilizzato sul personal computer locale (per esempio,
mercoledì 12 febbraio 2003 12.23.17).
Definiamo ora il contenuto della nuova finestra. Nella variabile contenuto
abbiamo deciso di memorizzare tutto il codice HTML che costituirà
la nuova finestra. Osservate le concatenazioni tra stringhe che abbiamo
utilizzato. In particolare, è possibile notare come il nome da attribuire
al link <A> sia generato recuperando il valore assunto dalla variabile
messaggio. Successivamente, memorizziamo in due variabili distinte
l’altezza e la larghezza che deve avere la finestra da creare quindi
calcoliamo le coordinate della finestra (in pixel) affinché questa risulti
centrata, qualunque risoluzione si stia utilizzando.
3
3. Per far questo, è necessario controllare il valore delle proprietà width
(larghezza) e height (altezza) dell’oggetto screen (schermo). Sottraendo
a tali valori, rispettivamente, la larghezza della nostra finestra e la sua
altezza, dividendo per due otterremo le coordinate in pixel che
permetteranno di centrare la finestra:
sinistra=(screen.width-larghezza)/2;
alto=(screen.height-larghezza)/2;
Se la nostra finestra deve essere alta e larga 300 pixel, alla risoluzione
800x600 pixel la variabile sinistra assumerà il valore 250, alto il valore
150; alla risoluzione 1024x768 pixel in sinistra verrà memorizzato
il valore 362, nella variabile alto il valore 234.
In ogni caso, comunque, la finestra risulterà perfettamente centrata.
Potete provare ad effettuare qualche verifica modificando la risoluzione
dello schermo di Windows (Pannello di controllo | Schermo).
Le istruzioni successive permettono di creare la nuova finestra:
newwindow=window.open(“”,“miafinestra”,
“toolbar=0,status=0,menubar=0,scrollbars=0,resizable=0,width=”+la
rghezza+“,height=”+altezza+“,top=”+alto+“,left=”+sinistra);
newwindow.document.writeln(data_ora);
newwindow.document.write(contenuto);
L’oggetto “nuova finestra” è chiamato newwindow. La terza opzione
permette di specificare tutte le caratteristiche della finestra.
Le successive istruzioni - document.writeln(data_ora) e
document.write(contenuto) - inseriscono nella pagina Web della nuova
finestra, il contenuto della variabile data_ora e il codice HTML presente
in contenuto.
L’esempio è consultabile su CD utilizzando il file 05_riassuntivo.html
oppure online all’indirizzo seguente:
http://www.ilsoftware.it/libreria/js/jstest.asp?f=05_riassuntivo
65/88
6a lezione
gni giorno noi ci troviamo
a compiere delle scelte:
“se facciamo una cosa allora le conseguenze sono....” è
il nostro ragionamento. L’equivalente in JavaScript è l’istruzione condizionale If...Else che
può essere efficacemente tradotta in questi termini: Se...Allora.
La forma più semplice con
cui si può presentare l’istruzione condizionale è la seguente:
if (espressione) istruzione1
[else istruzione2]...
espressione può assumere
solamente i valori true (vero)
oppure false (falso): è quindi
“booleana”. Qualora tale
espressione assuma il valore
true, verrà eseguita istruzione1
altrimenti istruzione2 (l’istruzione che segue l’else). (Sul CD
ROM l’esempio 06_if_then.html
mostra l’utilizzo del costrutto
if…else).
Recuperiamo data e ora attuali servendoci del metodo
Date(); usiamo quindi il metodo GetHours(), applicato alla
variabile data d, per memorizzare l’ora corrente.
O
<html>
<body>
<script type=“text/javascript”>
var d = new Date()
var time = d.getHours()
if (time < 12)
{
document.write(“<b>Buongiorn
o!</b>”)
}
66/88
else
{
document.write(“<b>Buonasera
!</b>”)
}
</script>
<p>Questo esempio mostra
l’utilizzo del costrutto
if...else</p>
<p>Prima delle ore 12 lo script
visualizza il messaggio
“Buongiorno!”,
dopo le 12 “Buonasera!”.</p>
</body></html>
Nel costrutto if...else, inseriamo come condizione l’espressione time < 12.
In questo modo, qualora l’ora attuale sia precedente a
mezzogiorno, verrà stampata,
sulla pagina HTML, l’esclamazione Buongiorno!, altrimenti
Buonasera!.
Proviamo ora a scrivere uno
script che ci consenta di presentare, all’utente che visita il
nostro sito Web, o il sito ufficiale di PC Open (www.pcopen.it) o Digifocus (www.digifocus.it).
La scelta dovrà essere operata in modo del tutto casuale
(il link di PC Open o quello di
Digifocus avranno il 50% di
possibilità di venire mostrati).
Il metodo Random(), applicato all’oggetto Math, consente
di generare un numero casuale
compreso tra 0 ed 1 (decimali
compresi): ciò significa che l’istruzione Math.random() genera numeri casuali del tipo
4,345125 oppure 5,899271236 e
così via. Memorizziamo il numero prodotto in una variabile:
nel nostro esempio l’abbiamo
denominata r.
Utilizziamo, quindi, l’istruzione if…then imponendo, come condizione, r>0.5. In pratica
se il numero generato è maggiore di 0.5, viene proposto il
link di PC Open; altrimenti
quello di Digifocus.
<html>
<body>
<script type=“text/javascript”>
var r=Math.random()
if (r>0.5)
{
document.write(“<a
href=’http://www.pcopen.it’>Vi
sita www.pcopen.it</a>”)
}
else
{
document.write(“<a
href=’http://www.digifocus.it’>
Visita www.digifocus.it</a>”)
}
</script>
</body>
</html>
Qualora si debbano effettuare numerosi test su un’unica
espressione, conviene ricorrere all’utilizzo dell’istruzione
Switch.
Il valore assunto dall’espressione viene infatti confrontato,
in questo caso, con una serie di
possibilità. Anziché uno solo,
possono essere eseguiti, in se-
quenza, numerosi confronti.
Analizziamo un possibile utilizzo dell’istruzione condizionale Switch con un esempio
pratico.
Supponiamo di voler accogliere l’utente che visita il nostro sito Web con una frase spiritosa, scelta - in modo del tutto casuale - tra dieci diverse
possibilità. Come nel caso precedente, anche qui possiamo
ricorrere all’utilizzo del metodo Math.random().
Per ottenere un numero intero da 0 a 9 (le frasi da proporre sono dieci) utilizziamo
un semplice trucco: moltiplichiamo, dapprima, per 10 il
contenuto della variabile r (generato da Math.random())
quindi utilizziamo il metodo
floor per approssimare, all’intero più vicino, il numero ottenuto. Saremo certi, così, di
avere - come contenuto della
variabile r - un intero compreso
tra 0 e 9. Il valore assunto dalla
variabile r viene quindi confrontato, dall’istruzione switch
(r) con una serie di possibilità
(indicate con i vari case).
L’istruzione break consente
allo script di uscire dal ciclo di
switch: se fosse mancante, JavaScript continuerebbe a confrontare il valore. È possibile inserire, opzionalmente, anche
un’istruzione default: essa viene eseguita solo nel caso in cui
il ciclo switch non trovi alcuna
corrispondenza tra il valore assunto dall’espressione e le va-
6a lezione
rie istruzioni case (nel nostro
esempio default non è necessario). Va ricordato che sia nelle espressioni if…then che in
switch, l’operatore di uguaglianza che va utilizzano è ==
(come già visto in precedenza)
e non = (l’operatore di assegnamento). Si tratta di un errore molto comune che spesso
provoca comportamenti inattesi (JavaScript si limita ad
ignorare l’espressione).
Strutture iterattive
Una delle più famose strutture iterative, comune a molti
altri linguaggi di programmazione, è il ciclo for.
Tale istruzione è detta appunto “ciclo” perché esegue
iterativamente una serie di
azioni finché non viene raggiunto un limite prestabilito,
da parte del programmatore,
ed indicato in una condizione.
Il ciclo for utilizza la seguente sintassi:
for (inizializzazione; condizione; incremento) istruzioni;
l’iterazione è regolata da una
variabile contatore.
Ciò significa che ogni volta
che l’istruzione for esegue il ciclo, il contenuto della variabile
contatore subisce una variazione.
L’espressione inizializzazione permette di specificare il valore cui deve essere inizializzata la variabile contatore (ad
esempio: i=0); condizione consente di impostare la condizione che deve verificarsi affinché venga eseguito il ciclo (iterazione); incremento permette
di indicare quale incremento o
decremento deve subire la variabile contatore ad ogni iterazione. Ad esempio, impostando i<10 come condizione e i++
come incremento, si stabilirà
che il ciclo for dovrà essere ripetuto finché la variabile i assumerà un valore inferiore a 10.
Inoltre, ad ogni iterazione, il
valore numerico contenuto nella variabile i sarà incrementato
di una unità (i++).
Per provare subito l’utilizzo
di for, supponiamo di voler sviluppare un semplice script che
faccio uso dei marcatori <h#>
per la visualizzazione di titoli e
sottotitoli di varie dimensioni.
Nella quarta lezione del no-
stro corso, abbiamo spiegato
come al marcatore <h#> possano essere associato fino a sei
livelli consecutivi, così da determinare una struttura gerarchica di titoli e sottotitoli
(<h1></h1>,
seguito
da
<h2></h2> e così via).
Inserite il seguente script tra
le tag <HEAD> e </HEAD>, ossia nell’intestazione della vostra pagina Web:
<script type=“text/javascript”>
for (i = 1; i <= 6; i++)
{ document.write(“<h” + i +
“>Questo è il titolo numero ” + i)
document.write(“</h” + i + “>”) }
</script>
In pratica, ad ogni iterazione, il valore contenuto nella variabile contatore i (inizialmente impostato a 1) viene incrementato di un intero (i++). Finché tale valore è minore o
uguale a 6, l’esecuzione del ciclo for viene ripetuta.
Ad ogni ciclo, vengono eseguite le due istruzioni document.write che s’incaricano di
scrivere, sulla pagina Web,
quanto indicato tra parentesi.
Utilizzando l’operatore +, si effettua una concatenazione tra
le stringhe racchiuse tra virgolette ed il valore assunto, di
volta in volta, dalla variabile
contatore i.
Lo script ha permesso così
di generare il codice HTML
equivalente al seguente:
<h1>Questo è il titolo numero 1</h1>
<h2>Questo è il titolo numero 2</h2>
<h3>Questo è il titolo numero 3</h3>
<h4>Questo è il titolo numero 4</h4>
<h5>Questo è il titolo numero 5</h5>
<h6>Questo è il titolo numero 6</h6>
Altre strutture iterative, assai utili nella programmazione
JavaScript, sono while e do…
while.
L’istruzione while va utilizzata nella forma while (condizione) espressione: l’espressione verrà eseguita finché la
condizione specificata risulterà vera. Il ciclo do…while va
impiegato, invece, nei casi in
cui si vuole che l’iterazione
venga eseguita almeno una volta. La sintassi dell’istruzione è
infatti la seguente: do {istruzioni} while (condizione)
Le istruzioni specificate, tra
parentesi graffe, dopo il do verranno eseguite finché la condizione risulterà verificata.
8 Interazione tra JavaScript e form HTML
moduli HTML (form) sono
una sorta di questionari compilabili on line da parte dei visitatori di un sito Web. Inizialmente il loro utilizzo era limitato: si adottavano esclusivamente per raccogliere informazioni sulle opinioni e sulle preferenze degli utenti. I moduli
compilati venivano infatti poi
automaticamente inviati ad un
indirizzo e-mail (ad esempio,
quello del webmaster del sito
Internet). Oggi, le possibilità di
utilizzo dei form si sono enormemente ampliate: vengono
utilizzati, su un sempre maggior numero di siti, per interagire con l’utente. Ad esempio,
form online vengono proposti
per effettuare ricerche all’interno degli articoli contenuti
in un sito, per inviare i propri
messaggi in un forum, per gestire contenuti ed aree specifiche del sito e così via.
Per interagire con un modulo HTML mediante codice JavaScript, è necessario far uso nella propria pagina Web - delle apposite tag
I
67/88
<FORM> e </FORM>.
Proviamo ad inserire, nella
nostra pagina HTML, un form
che richieda all’utente di digitare il suo indirizzo e-mail verificandone, successivamente, la
validità.
Per motivi di semplicità, limiteremo il controllo circa la
validità dell’indirizzo di posta
elettronica specificato, alla presenza del simbolo @.
Se l’utente inserirà una stringa di testo contenente la chiocciolina, quanto introdotto nel
campo di testo verrà considerato come un indirizzo e-mail
valido. È ovvio che nella “vita
reale” si dovranno sviluppare
dei controlli aggiuntivi sulla validità dell’indirizzo e-mail (ad
esempio, verificare la presenza
di un suffisso .it, .com, .net, .org
e così via).
Iniziamo con l’inserire il codice HTML per la visualizzazione di una casella di testo e di
un pulsante Invia:
<html><head></head>
<body>
<form name=“form_email”
action=“form_ok.html”>
Inserisci il tuo indirizzo e-mail:
<input type=“text” name=“email”>
<input type=“submit”
value=“Invia”>
</form>
</body></html>
Assicuriamoci di assegnare
al form HTML un nome specifico, inserendo il parametro name (nel nostro caso, abbiamo
scelto il nome form_email).
Il parametro action consente
di stabilire la pagina ove il
browser Internet deve essere
reindirizzato dopo la pressione, da parte dell’utente, del
pulsante Invia.
Le tag <INPUT>, che debbono essere sempre comprese tra
<FORM> e </FORM>, consentono di stabilire gli elementi facenti parte del modulo HTML.
Per ogni tag <INPUT> è necessario indicare, ricorrendo al parametro type, il tipo di elemento che si vuole utilizzare.
Ad esempio, specificando type=“text”, si inserirà, nel modulo HTML, una casella di testo;
con type=“checkbox” una casel-
la che può essere spuntata o
meno; con type=“radio” un “option box”; con type=“button” un
pulsante…
Type=“submit” è importantissimo: consente di inserire un
pulsante “speciale” che provvede ad inviare il contenuto
del form all’indirizzo specificato nel parametro action.
Per approfondire l’utilizzo
dei form HTML e scoprire tutte
le possibilità che questi offrono, vi consigliamo di fare riferimento all’indirizzo www.w3.
org/TR/REC-html40/
interact/forms.html (in lingua
inglese).
Passiamo, a questo punto,
alla stesura dello script che
consentirà la validazione dell’indirizzo e-mail inserito da
parte dell’utente.
Provvediamo, quindi, a collocare - al solito - tra i tag
<HEAD> e </HEAD> (intestazione), il codice JavaScript seguente:
<script type=“text/javascript”>
function controlla()
{
6a lezione
x=document.form_email
at=x.email.value.indexOf(“@”)
if (at == -1)
{
alert(“Indirizzo e-mail non
valido.”)
return false
}
}
</script>
Cosa abbiamo scritto? In primo luogo abbiamo denominato
controlla() la funzione che effettua la validazione dell’indirizzo e-mail. Una volta invocata
tale funzione, JavaScript memorizza nella variabile x il contenuto del form form_email.
L’istruzione successiva recupera, prima, il valore del
campo denominato email
(x.email.value), quindi applica
il metodo indexOf.
Tale metodo restituisce la
posizione della prima occorrenza della stringa specificata
all’interno di un’altra stringa.
Se la stringa indicata tra parentesi tonde non viene trovata, il
metodo restituisce il valore -1.
Per fare un esempio concreto, supponiamo di assegnare
ad una variabile x la stringa
“La mia rivista preferita è PC
Open”:
x=“La mia rivista preferita è PC
Open”
pos=x.indexOf(“PC Open”)
document.write(pos)
Invocando il metodo indexOf(“PC Open”), lo script
cercherà la prima occorrenza
della stringa PC Open all’interno della frase La mia rivista
preferita è PC Open.
La variabile pos assumerà, in
JavaScript risulta un’ottima soluzione per la validazione dei dati direttamente sul personal
computer dell’utente che visita il nostro sito, evitando così di “caricare” il server del sito
questo caso, il valore 27 (la
stringa PC Open è stata trovata
in corrispondenza del ventisettesimo carattere). Provate a sostituire la seconda istruzione
con la seguente:
pos=x.indexOf(“La gazzetta”)
In questo caso, il metodo indexOf restituirà il valore -1
(non è stata trovata alcuna occorrenza de La gazzetta).
Analogamente, nel nostro
esempio, indexOf permette di
ricercare il simbolo “@”, all’interno della stringa specificata
dall’utente nel campo e-mail; il
valore restituito viene memorizzato nella variabile at. A questo punto utilizziamo l’istruzione condizionale if…else per
controllare il valore assunto
dalla variabile at: se il valore è 1 (non è stata trovata alcuna
occorrenza di “@”) viene mostrato il messaggio d’errore “Indirizzo e-mail non valido” inoltre, la funzione controlla() assumerà il valore false (return
false). Ora inseriamo, nel codi-
ce HTML che consente la visualizzazione del form, l’invocazione della funzione controlla(): aggiungiamo, nella tag
<FORM> un riferimento all’evento onSubmit (ciò significa
che non appena l’utente agirà
sul pulsante Invia (Submit),
verrà eseguita la funzione JavaScript appena illustrata).
L’argomento dell’evento onSubmit è return controlla(). Il return che precede la chiamata
della funzione controlla(), permetterà di annullare l’invio del
contenuto del form alla pagina
form_ok.html (specificata col
parametro action) se la funzione restituisce il valore false (come abbiamo visto, tale valore
viene assunto solo nel caso in
cui @ non sia presente, ossia
qualora l’indirizzo e-mail non
sia valido).
Se invece la funzione controlla() restituisce un valore diverso, l’invio dei dati del form
verrà consentito.
La validazione dei dati (ossia
il controllo della loro corret-
tezza) sul lato client (ossia direttamente sul personal computer dell’utente che visita il
nostro sito Web), permetterà di
evitare di sovraccaricare il server Web che ospita il sito di un
lavoro aggiuntivo. JavaScript
rappresenta, quindi, la migliore
soluzione per la realizzazione
di questo tipo di controlli.
Il codice HTML e lo script JavaScript sono contenuti all’interno del file form_email.html
nel CD ROM.
L’esempio form_focus.html
(disponibile nel CD ROM di PC
Open) presenta, invece, l’utilizzo del metodo focus() per selezionare un campo specifico facente parte di un qualsiasi modulo HTML presente nella pagina Web.
L’istruzione document.forms
[0].campo1.focus(), consente
di selezionare (impostare il
“focus”) sull’elemento denominato campo1, contenuto nel
primo modulo HTML (forms
[0]) posizionato nella pagina
Web (document). In questo caso infatti, non avendo assegnato alcun nome al form (servendoci del parametro name), possiamo interfacciarci ricorrendo all’array forms[0].
Qualora avessimo attribuito
al modulo HTML il nome
“mioform” (<FORM name=
“mioform”>...</FORM>),
avremmo potuto utilizzare l’istruzione document.mioform.
campo1.focus() in luogo di document.forms[0].campo1.focus() (com’è possibile verificare visionando il file form_focus_2.html).
9 Interazione tra JavaScript e frame
avaScript risulta molto utile
anche quando si debba gestire una struttura a frame.
I frame sono infatti strutture
ampiamente utilizzate in numerosi siti Web perché permettono di suddividere la finestra del browser Internet in più
sottoaree. Ciascuna di esse
può gestire i suoi contenuti in
modo del tutto autonomo, senza dipendere dalle altre. In questo modo è possibile pensare
di tenere fissa una porzione del
documento evitando che il
browser debba ricaricare, ad
ogni refresh, l’intera pagina.
JavaScript offre tutta una se-
J
68/88
rie di strumenti che permettono di interfacciarsi con i frame
HTML e quindi di facilitarne la
gestione.
Vediamo, ad esempio, come
è possibile aggiornare due frame diversi con un solo clic del
mouse.
In primo luogo, creiamo un
normale file HTML. Tale file
non avrà bisogno dell’aggiunta
di alcun codice JavaScript: al
suo interno porremo solo alcuni conosciuti tag HTML che
consentiranno di attribuire alla
nostra pagina Web una struttura a frame. Creiamo un nuovo
file HTML attribuendogli il no-
me frame.html. Incolliamo,
quindi, al suo interno, il codice
HTML che segue:
<html>
<frameset rows=“30%,*”
frameborder=“1”>
<frame name=“frame_sup”
src=“frame_superiore.html”>
<frame name=“frame_inf”
src=“frame_inferiore.html”>
</frameset>
</html>
La pagina Web sarà suddivisa in due sezioni: la prima,
quella superiore, occuperà il
30% dello spazio a disposizione
sull’asse verticale ed ospiterà il
file frame_superiore.html; la seconda, l’area più in basso, lo
spazio restante (al suo interno
verrà collocato il contenuto del
file frame_inferiore.html).
I nomi assegnati ai file che
ospitano il contenuto dei frame
non sono importanti mentre lo
sono i parametri name indicati
in ciascun tag <frame>: si tratta
infatti di apposite “etichette”
che debbono essere ricordate
se si vuole interagire correttamente con i frame da JavaScript. Mentre nel file frame_superiore.html abbiamo inserito
semplicemente il codice HTML
6a lezione
Per documentarvi ulteriormente sull’utilizzo dei frame
HTML, vi consigliamo di visitare la pagina seguente: www.
w3.org/TR/REC-html40/pre
sent/frames.html (in inglese).
Linee guida
per la programmazione
Sopra: la funzione JavaScript per la modifica del contenuto dei frame. Sotto: La
funzione debugger che ci segnala gli errori commessi in fase di programmazione
per la visualizzazione del logo
della rivista, frame_inferiore
.html contiene una funzione JavaScript che abbiamo denominato modifica_frame.
function modifica_frame()
{parent.frame_sup.location.href=“f
rame_superiore_2.html”
parent.frame_inf.location.href=“fra
me_inferiore_2.html” }
Le due istruzioni JavaScript
stabiliscono quali file HTML
devono essere caricati in ciascun frame. Notare che nel frame di nome frame_sup viene inserito il contenuto del file frame_superiore_2.html, mentre in
frame_inf il codice HTML di frame_inferiore_2.html.
La funzione JavaScript per la
modifica del contenuto dei frame viene invocata mediante l’evento Onclick, associato al pulsante Modifica contenuto frame.
Quando programmate con
JavaScript, per evitare di incorrere in fastidiosi errori,
spesso difficili da individuare,
è bene ricordarsi di seguire alcune semplici linee guida.
• JavaScript è un linguaggio
“case sensitive”. In informatica,
quando un linguaggio o un sistema operativo viene definito
“case sensitive” significa che
questo fa differenza tra comandi e istruzioni scritti in
maiuscolo od in lettere minuscole.
Per JavaScript una funzione
denominata MiaFunzione è differente da un’altra chiamata
miafunzione. Accertatevi, quindi, di riferirvi in un modo univoco a funzioni e variabili.
• Gli spazi vengono ignorati.
JavaScript ignora gli spazi presenti all’interno di una istruzione. Ad esempio, l’istruzione
di assegnamento citta=“Milano” (senza spazi) equivale a citta = “Milano” (con gli spazi).
• Non dimenticate di chiudere le parentesi.
Qualsiasi parentesi (tonda,
graffa o quadra) venga aperta
in uno script deve essere successivamente chiusa. Per
esempio, se avete aperto una
parentesi graffa per delimitare
le istruzioni che compongono
una certa funzione, ricordatevi
di chiuderla.
• Se all’interno di una stringa
desiderate utilizzare simboli
speciali come “ ’ ; e &, anteponete ad essi la barra rovesciata. Esempio: document.write
(“L\’uno e l\’altro”).
E se si commettono errori?
Errare è umano e durante lo
sviluppo in JavaScript o in qualunque altro linguaggio di programmazione di errori è naturale commetterne molti.
Anche i più esperti incapperanno certamente in sviste comuni come la mancata chiusura di una parentesi, delle virgolette, la dimenticanza di un
punto e virgola.
In tutti questi casi (e comunque in presenza di un qualunque altro tipo di errore), il vostro script non funzionerà.
Tutti i browser Internet incorporano un debugger ossia
uno strumento in grado di rilevare gli errori commessi in fase
di programmazione.
Internet Explorer, per esempio, visualizzerà nella barra di
stato, in basso a sinistra, un’icona raffigurante un piccolo
triangolo a fondo giallo.
Facendovi doppio clic si otterranno le informazioni dettagliate circa l’errore riscontrato.
Nel nostro caso, com’è possibile verificare in figura, ci siamo dimenticati di chiudere
una parentesi tonda (il debugger ci segnala riga e carattere
ove è stato individuato l’errore, all’interno della pagina
HTML).
Per approfondire...
All’indirizzo www.jsdir.com,
sito Web realizzato e curato da
un team italiano, trovate una
valanga di informazioni sulla
programmazione JavaScript:
tutorial passo-passo, guide online, suggerimenti, esempi pratici, le risposte alle domande
più frequenti (FAQ), guidano
gli aspiranti webmaster alla
scoperta di JavaScript.
Altri esempi pratici possono
essere reperiti all’indirizzo
www.html.it/javascript/tuto
rial/.
10 DHTML: sempre più dinamici
HTML è un linguaggio che
permette di attribuire
maggiore dinamicità alle
pagine Web: la “D” iniziale sta
per Dynamic HTML a sottolineare che DHTML non è solo
un linguaggio puramente descrittivo (così come HTML) ma
la visione di un Web maggiormente “interattivo”.
D
69/88
Con DHTML è possibile modificare ogni elemento che
compone le nostre pagine
Web, introducendo effetti speciali, animazioni e la gestione
di ogni singola immagine.
Durante la vostra “navigazione” in Rete vi sarete certamente imbattuti in menu animati (spesso menù a cascata
che si aprono non appena si
sposta il puntatore del mouse
sopra di essi): spesso è proprio DHTML che ne consente
la visualizzazione.
DHTML si avvale di un insieme di tecnologie. Per raggiungere lo scopo di attribuire
maggiore dinamicità alle pagine Web, questo linguaggio ri-
corre infatti all’utilizzo di tre
componenti tecnici: i linguaggi
di script come JavaScript (ma
anche il VBScript di Microsoft), i fogli di stile (CSS, Cascading Style Sheets) - già illustrati nella quarta lezione del
nostro corso - ed infine, ovviamente, HTML.
Il punto debole di DHTML è,
6a lezione
Il codice JavaScript va inserito nell’intestazione della pagina e permette di stabilire
quale browser Internet si sta utilizzando
però, la compatibilità tra browser. Sia Netscape che Microsoft
hanno da sempre cercato di
imporre la loro visione: talvolta può accadere, quindi, che
una pagina dinamica DHTML
sia visualizzata correttamente
con Internet Explorer ma non
con Netscape (o viceversa).
È quindi necessario assicurarsi di produrre pagine
DHTML che siano perfettamente compatibili con tutti i
browser Internet (che siano,
cioè, cross-browser): qualora
non si provvedesse ad effettuare gli opportuni controlli, si
rischierebbe di perdere numerosi visitatori infastiditi dall’impossibilità di visualizzare
correttamente il vostro sito.
Qualora non si riuscisse a rendere cross-browser la propria
pagina DHTML, si può pensare
di creare due differenti versioni del sito Internet: una, per
esempio, destinata agli utilizzatori di Internet Explorer, l’altra agli utenti di Netscape.
Va tenuto comunque presente che il DHTML è supportato solo a partire dalla versione 4 di Internet Explorer e Netscape: se prevedete di servirvi
di DHTML nelle vostre pagine
Web, è bene indicare i requisiti minimi per una corretta visualizzazione del sito.
Il DHTML si basa sulla struttura DOM (Document Object
Model): si tratta di un modello
che considera qualsiasi documento (pagina Web) come un
oggetto. Ciò significa che ogni
documento viene suddiviso in
elementi più semplici sui quali
è possibile operare secondo le
70/88
specifiche della programmazione orientata agli oggetti.
Qualunque oggetto che fa
parte di una pagina Web definito con le classiche tag HTML
- per esempio una qualsiasi immagine <IMG> o un link <A>
(àncora di collegamento, anchor) - è accessibile da DHTML
servendosi proprio della struttura DOM e di un linguaggio di
scripting come JavaScript.
Il DOM agisce, quindi, da interfaccia tra il documento
HTML ed il linguaggio di scripting: esso interpreta, infatti,
ogni elemento costitutivo della
pagina Web ed offre i metodi
per accedervi.
Per modificare un elemento
presente nella vostra pagina
Web, è sufficiente attribuirgli
un nome. Ad esempio:
<img src=“pcopen.gif” id=“logopcopen”>
In questo caso abbiamo assegnato all’immagine pcopen.gif, inserita nel codice della pagina Web mediante l’apposito tag <IMG>, il nome logopcopen: tale identificativo ci
servirà, in seguito, per modificare le proprietà dell’immagine. In alternativa, è possibile
utilizzare anche il modello
strutturale. Se l’immagine da
modificare è la terza che compare nella nostra pagina Web,
si potrà usare il codice seguente:
document.images[3]
Il codice indica che stiamo
facendo riferimento alla terza
immagine della “collezione”
images, contenuta nell’oggetto document (la pagina Web).
DHTML consente di spostare gli elementi costitutivi di
una pagina Web senza la necessità di dover ricaricare la
stessa. A tal proposito, è suggerito l’utilizzo dei tag <DIV> e
<SPAN>, caratteristici dei fogli
di stile (e già incontrati a pag.
38 nella quarta lezione del nostro corso) in quanto sono pienamente supportati sia da Internet Explorer che da Netscape. Utilizzando <DIV> e <SPAN>
avrete la possibilità, servendovi di DHTML, di spostare “al
volo” qualsiasi blocco che costituisca la vostra pagina (colonne, paragrafi, riquadri di testo,…) senza ricorrere all’impiego di tabelle nidificate.
DHTML permetterà di agire
sulle dimensioni e sulla posizione di ciascun blocco <DIV>
e <SPAN> offrendovi un metodo più semplice e veloce per
creare il layout delle vostre pagine Web. L’uso dei fogli di stile consentirà, poi, di intervenire sulla scelta dei caratteri (stile, dimensioni,…), sulla formattazione dei collegamenti
ipertestuali, sull’impostazione
dei margini e così via.
Un esempio: creare un menu
a tendina con DHTML
Cimentiamoci subito su di
un esempio pratico: proviamo
a creare un menu “a tendina”
per la nostra pagina Web: non
Un esempio pratico: creare un menù a tendina per il nostro sito utilizzando DHTML
appena il puntatore del mouse
verrà posizionato su una voce
del menu, dovranno esserne
immediatamente visualizzate
le relative voci. Prima di tutto
creiamo il codice base della
nostra pagina HTML:
<HTML>
<HEAD>
<TITLE>PC Open - Un menu a
tendina con DHTML</TITLE>
</HEAD>
<BODY BGCOLOR=“white”>
<CENTER><IMG
SRC=“logo_PCOPEN.gif”>
<BR><BR>
</CENTER>
</BODY>
</HTML>
Definiamo, quindi, tra le tag
<HEAD> e </HEAD> (intestazione della pagina HTML), servendoci di un foglio di stile,
quali debbano essere le caratteristiche dei collegamenti
ipertestuali (tag <A>, anchor)
presenti nella pagina Web:
<STYLE>
A:Hover {color:red; textdecoration:none; fontweight:bold }
A {color:black; textdecoration:none; font-size:
10pt; font-family:
Tahoma,Verdana,Arial }
</STYLE>
Il codice JavaScript evidenziato nell’immagine a lato, va
inserito sempre nell’intestazione della pagina e consente
di stabilire, in primo luogo,
quale browser Internet si sta
utilizzando.
Come già anticipato in precedenza, Internet Explorer e
Netscape utilizzano diverse
sintassi per interagire con i
layer ossia i livelli definiti con
DHTML (i blocchi delimitati
con <DIV> e <SPAN>). Lo script
permette di individuare la versione del browser in uso ed
usare document.layers[layerid]
nel caso di Netscape, document.all[layerid] nel caso di
Internet Explorer.
Nel corpo della pagina
HTML (<BODY></BODY>), abbiamo inserito una serie di livelli <DIV>. A ciascun blocco
<DIV> è stato assegnato un nome identificativo. Si è poi fatto
uso delle funzioni apri_tendina
e chiudi_tendina, opportunamente invocate dagli eventi
Onmouseover e Onmouseout
per visualizzare o nascondere,
all’occorrenza, le tendine dei
vari menu dinamici, a seconda
della posizione del puntatore
del mouse.
7a lezione
A scuola con PC Open
Progetto
Web Master
di Michele Nasi
1 Il server Web
a produzione di un sito statico, a cui questo corso è dedicato, richiede talvolta l'inserimento di componenti dinamici o comunque di componenti esterni alla pagina che avete
costruito staticamente. Pensiamo ad esempio a un sito che offra consigli di viaggio e che includa previsioni del tempo costantemente aggiornate, attingendo a risorse esterne. Benché
la struttura della pagina che
contiene tali previsioni possa
essere statica, cioè invariabile,
le informazioni in costante aggiornamento richiedono che al-
L
meno una sua porzione sia dinamica, ossia venga generata
nel momento in cui il navigatore
la richiede, utilizzando informazioni fresche. Situazioni analoghe si verificano anche quando
il sito chiede una certa interazione ai propri navigatori come
nel caso della compilazione di
inchieste o di votazioni, della
firma del libro degli ospiti (guest book) oppure della ricerca di
pagine all'interno del sito oppure sul Web. Si tratta di operazioni che non possono essere eseguite mediante le funzioni di
programmazione di JavaScript,
viste nella scorsa lezione e
orientate a creare pagine che diventano interattive quando arrivano sul computer del navigatore. Qui la decisione di cosa inserire o visualizzare nella pagina deve essere fatta prima che
la pagina stessa sia spedita sul
Web e perciò l'interazione deve
svolgersi necessariamente sul
server. Avremo quindi pagine
costruite solo in parte, all'interno delle quali il server aggiungerà informazioni provenienti
da altre fonti oppure che sono il
risultato di un'elaborazione interna. Tali pagine verranno ge-
nerate unendo la parte statica e
la parte variabile ogni volta che
un nuovo navigatore le richiederà, il che imporrà un certo carico elaborativo sul server, ma
consentirà di avere contenuti
sempre freschi oppure adatti al
contesto. Ciò non significa, tuttavia, che si è creato un vero e
proprio sito dinamico, la cui definizione prevede che le pagine
vengano generate dinamicamente nella loro interezza a partire da informazioni registrate in
un database, tema che sarà
l'argomento di un prossimo corso.
IL CALENDARIO DELLE LEZIONI
Lezione 4:
Lezione 6:
Competenze e strumenti
HTML 4.01 e CSS
Siti interattivi
(disponibile integralmente
sul CD)
(disponibile integralmente sul CD)
• Stile e struttura: usare i tag HTML nativi
• Il deprecato tag font
• I marcatori per formattare il testo
• Gestire gli spazi nel testo
• CSS e HTML 4.01
• Cosa si può fare con i fogli stile
• Quattro tipi di CSS
• I colori del Web
• Gestire le immagini
• Esercizi
• Ereditarietà e innesco a cascata
• Proprietà di trasferimento
dei parametri
• Regole di ereditarietà
• Selettori di classe
• Websafe palette
(disponibile integralmente sul CD)
• I linguaggi di programmazione
• La programmazione orientata agli oggetti
• Oggetti e priorità
• Eventi e funzioni
• Variabili e stringhe
• Gli operatori in JavaScript
• Istruzioni condizionali
• Interazione tra JavaScript e form HTML
• Interazione tra JavaScript e frame
• DHTML
Lezione 1:
Lezione 2:
Siti statici e linguaggio
HTML
il corso
è sul CD
n. 71
(disponibile integralmente
sul CD)
Lezione 3:
Modelli di pagina e tabelle
(disponibile integralmente sul CD)
• La tabella come elemento
strutturale
• Progettare layout fluidi e statici
• Costruire template con le tabelle
di layout
• NamoWeb Editor5: per siti statici
professionali
• Dimensionare tabelle e celle fluide,
dimensionare tabelle con celle miste,
allineamento spontaneo delle tabelle
consecutive
• Template con struttura complessa
• Template con tabelle nidificate
• Esercizi
71/88
Lezione 5:
Design e multimedialità
(disponibile integralmente sul CD)
• Elementi di design per il Web
• La ruota colore
• Grafica e formati di immagini per Internet
• Link ipertestuali
• Tabelle d’immagini
• Mappe immagine
• Audio e video
Lezione 7:
Interazione sul server
• Il server Web
• I form: la porta per l’utilizzo degli script
CGI
• Installare e configurare un server Web
• Configurazione del sito Web predefinito
in Windows XP Professional
• Installare e configurare Apache sotto
Windows
L’ultima puntata
Lezione 8:
Promuovere il sito
7a lezione
Che cos’è un server Web
Per capire come attivare questo genere d'interazione dobbiamo anche capire che cosa è
un server Web. Si tratta di un
computer dotato di uno speciale software capace di ricevere
richieste via protocollo HTTP
(Hypertext Markup Protocol) e rispondere mediante l'invio della
pagina che corrisponde all'indirizzo indicato dal navigatore
per mezzo del suo browser.
Il server raccoglie tutti gli elementi necessari alla composizione della pagina e li manda al
browser remoto il quale costruisce la pagina vera e propria
sul video. Nel caso di una pagina statica, avremo il file HTML
che la compone, le immagini
collegate ed eventuali oggetti
creati con programmi esterni
(suoni, animazioni, eccetera).
Nel caso di una pagina composita (in parte statica e in parte
dinamica) avremo il file HTML
che contiene gli elementi fissi, le
immagini e gli elementi variabili da calcolare o da prelevare
dall'esterno e inserire al momento della spedizione.
Giusto per chiarire le differenze tra l'interazione lato
client, che abbiamo visto nella
scorsa lezione con JavaScript e
Dynamic HTML, e l'interazione
lato server, che descriviamo in
questa lezione, diciamo che la
prima inizia nel momento in cui
la pagina arriva al browser del
navigatore e continua da quel
momento in poi, la seconda si
verifica sul server nell'istante in
cui la pagina viene richiesta e si
esaurisce non appena gli elementi che la compongono sono
partiti in direzione del navigatore. Perciò comprendiamo che
l'interazione lato client dipende
fortemente dal tipo di browser
utilizzato e ne deve tenere conto, mentre l'interazione lato server è invece completamente
svincolata dal browser, ma deve
invece risultare compatibile
con le funzioni e i servizi previsti dal server che intendiamo
utilizzare.
I Server Side Include
Il metodo più semplice per
inserire elementi variabili all'interno di una pagina consiste nel
collocare nella giusta riga del listato HTML un "segnaposto"
che indichi il nome e la posizione del file esterno che va inserito in quel punto. È una tecnica
che consente di ripetere in più
pagine parti comuni che posso-
72/88
no quindi essere modificate
agendo su un singolo documento (come ad esempio elementi
di navigazione) oppure per innestare nella nostra pagina parti di una pagina esterna o il risultato dell'elaborazione di un
programma interno. Il server
Web non deve far altro che scorrere la pagina prima di spedirla,
notare la presenza di eventuali
istruzioni di inclusione e allegare la parte indicata. Non è richiesta nessuna elaborazione
dei contenuti perciò l'operazione non appesantisce il server.
È una tecnica che si dimostra
efficace quando gran parte della pagina è di tipo statico e l'elemento variabile costituisce una
frazione del contenuto. Il tipo di
include consentito cambia a seconda del server impiegato. Nel
caso di Apache, il più diffuso tra
i server Web in ambito Linux e
disponibile gratuitamente anche per Windows, si parla di XSSI, ossia Extended Server Side Includes. Si tratta di una serie di
comandi che consentono d'inserire nella pagina corrente un
file esterno con la possibilità
anche di scegliere soluzioni diverse al verificarsi di situazioni
diverse. Microsoft prevede una
soluzione analoga nel suo linguaggio ASP (Active Server Pages), che vedremo brevemente
più avanti.
I Server Side Include o gli XSSI
offrono numerosi vantaggi: sono facili da imparare, vengono
supportati da numerosi server,
consentono d'inserire informazioni aggiornate in pagine che
altrimenti sarebbero completamente statiche, non dipendono
dal tipo di browser impiegato, i
comandi non compaiono nel
browser perciò all'esterno non
si sa da dove provengono le nostre informazioni, consumano
poca potenza di elaborazione.
Ci sono naturalmente anche
svantaggi: il server deve comunque farsi carico di un minimo di attività elaborativa e perciò risponde alle richieste con
un leggero ritardo rispetto alla
spedizione di pagine completamente statiche; inoltre l'attivazione degli SSI può comportare
problemi di sicurezza, non gravi, e perciò alcuni provider possono impedirne l'uso, infine la
loro funzionalità è fortemente
influenzata dalla configurazione del server. Diventa perciò indispensabile contattare il proprio amministratore di sistema
prima di pianificarne l'impiego.
Come si presenta un SSI
Alla pari di ciò che accade in
JavaScript, un comando SSI viene inserito nella pagina HTML
sotto forma di commento, cioè
viene preceduto dai simboli <!-e seguito dai simboli -->>.
In tal modo, qualora il server
non riconoscesse il comando e
questo rimanesse all'interno
della pagina che viene spedita
al navigatore, il browser ne
ometterebbe la visualizzazione
considerandolo alla stregua di
un normale commento. In caso
contrario, il riconoscimento del
comando comporta l'eliminazione dello stesso dal listato
della pagina che viene inviata al
navigatore e la sua sostituzione
con l'elemento da inserire. Il comando in sostanza funge da segnaposto e cede il proprio spazio all'elemento da innestare
(include). Molto semplice e molto pratico.
Per un'analisi dei vari co-
mandi e della relativa sintassi rimandiamo alla documentazione dei diversi tipi di server. Affinché vengano riconosciuti e il
server ne esegua l'esplorazione
(parsing) per identificare cosa
inserire e dove, i file che contengono SSI vanno contrassegnati con un suffisso particolare. Spesso si usa il suffisso
SHTML, ma il server può essere
configurato per accettare qualsiasi altro suffisso (tale discorso
naturalmente non si applica ai
file generati con ASP o PHP, che
vengono comunque tutti elaborati prima di essere inviati, compresa la gestione di eventuali include lato server).
La Common Gateway
Interface
Il secondo passo, più impegnativo, nella produzione di pagine con contenuto dinamico
consiste nell'affiancare al server Web uno o più programmi Due file per ogni esempio
Nel CD ROM di PC Open trovate (a meno che non sia specificato
diversamente) due file per ciascuno script di esempio. Il primo è un
file in formato HTML, il secondo è lo script CGI-Perl vero e proprio
(da memorizzare sul proprio server nella cartella cgi-bin).
Tutti gli script CGI-Perl (facilmente riconoscibili per l’estensione .PL
a loro assegnata) sono richiamati dalle pagine HTML facendo
riferimento al sito www.openmaster.info/cgi-bin: abbiamo infatti
provveduto a memorizzarli nella cartella cgi-bin del server Web
dedicato al nostro progetto “OpenMaster”.
Chi intendesse utilizzare gli script presentati in questa lezione sui
propri server, dovrà aver cura di modificare l’attributo action,
contenuto nella tag <FORM> di ciascun file HTML, con l’indirizzo
completo della cartella cgi-bin presente sul proprio server seguito
dal CGI che si desidera richiamare.
Gli script CGI che si invocano dovranno ovviamente essere caricati
sul proprio spazio Web nella cartella cgi-bin.
Ad esempio, se si è interessati ad utilizzare, sul proprio server
Web, il guestbook, caricate nella vostra cartella cgi-bin il file
guest.cgi quindi modificate l’attributo action contenuto nella tag
<FORM> del file guest.html.
7a lezione
che elaborino contenuti in base
alle selezioni e alle richieste del
navigatore. In questo caso non
si tratta semplicemente d'inserire contenuti esterni, aggiornati di frequente, come nel caso
degli SSI, ma di costruirli sulla
base di quel che il navigatore
chiede o fa. Tali contenuti possono provenire da fonti esterne,
dal navigatore che risponde a
quesiti posti su pagine precedenti oppure da altri programmi presenti nel sito. Qualunque
ne sia la fonte, tali informazioni
non possono essere visualizzate direttamente, ma richiedono
trattamento, eseguito mediante
uno dei tanti linguaggi di programmazione che possono funzionare sul vostro server Web
oppure su un altro server che
lavori in parallelo.
L'approccio CGI comporta un
carico di lavoro maggiore rispetto ai semplici SSI perciò
può essere necessario allestire
una macchina di appoggio oppure sfruttare le risorse di un sito remoto, come nel caso dei
motori di ricerca che offrono la
possibilità di eseguire ricerche
anche nel nostro sito.
CGI è l’acronimo di Common
Gateway Interface: si tratta di un
metodo che consente di mettere in comunicazione diversi
programmi presenti sullo stesso server o su server differenti.
I programmi possono essere
scritti in uno qualsiasi dei linguaggi compatibili con CGI: VisualBasic, C, C++, tcl, Perl e AppleScript per citare i più diffusi.
In particolare, il linguaggio
Perl (Practical Extraction and
Report Language) è il più usato
nell’ambito della programmazione CGI perché nasce con una
predisposizione per la gestione
delle informazioni, come si capisce anche dal nome. Ogni vol-
ta che dovete elaborare file di
testo (il che include naturalmente anche numeri, intesi come informazione), Perl è insuperabile. Inoltre è relativamente
facile da imparare.
Tornando al CGI, vediamo
che funge da interfaccia tra il
"mondo" legato al server Web e
quello che ruota intorno al PC
client che si collega al sito.
Il browser in uso sul computer client non deve conoscere i
vari linguaggi di programmazione: deve solamente interpretare
le informazioni CGI restituite dal
server cui è collegato.
In pratica, diventa possibile
creare pagine HTML basandosi
su dati residenti sul server, ma
disponibili direttamente all'utente. Ciò naturalmente pone
problemi di sicurezza superiori
rispetto a quelli legati all'uso
degli SSI e perciò solo alcuni
provider sono disponibili a consentire l'uso di CGI sui propri
server. Un esempio tipico nell'impiego di quest'ultimo è nella
compilazione di form (moduli
online) che raccolgono dati dall'utente e gli restituiscono risposte. I form servono agli impieghi più disparati: registrazione dei nuovi utenti, compilazione di questionari, votazioni su
sondaggi, acquisto di prodotti,
raccolta dei parametri per una
ricerca, e via dicendo. Spesso si
usa CGI anche per allestire guestbook (libro degli ospiti) dove i
visitatori possano inserire il loro nome e un breve commento
sul sito oppure per costruire un
modulo per la ricerca rapida di
informazioni.
Nella descrizione di un sito
statico, abbiamo visto che ogni
volta che digitiamo un URL
qualsiasi nella barra degli indirizzi del browser Internet, il nostro computer (client) contatta
Schema di funzionamento dell’applicazione CGI
Form compilato da navigatore
e inviato al server
Informazioni contenute nel form
passate ad applicazione tramite CGI
Form
Web
Applicazione
con interfaccia
CGI
Browser
SERVER
Risposta inviata al navigatore
73/88
Risposta dell'applicazionevia CGI
il server Web sul quale "risiede"
il sito, indicandogli la pagina
desiderata. Il server Web cerca
il file corrispondente e lo trasmette al browser Internet che
lo interpreta e lo mostra a video. Nel caso di pagine dinamiche, il server esegue localmente
l'elaborazione necessaria, ossia
l'inserimento di un include oppure l'elaborazione di contenuti mediante CGI e trasmette al
browser del navigatore solo il risultato.
Molti di voi avranno visto siti con il classico contatore degli
accessi. Si tratta di un contenuto dinamico che incrementa automaticamente a ogni nuova visita. Bene, il contatore costituisce un classico esempio di file
generato mediante uno script
CGI eseguito direttamente sul
server. Uno script, lo ricordiamo, è un file che contiene una
serie di righe di codice che vengono interpretate, una per una,
dall'interprete del linguaggio in
cui sono state scritte e convertite in comandi eseguibili dal
server. Tale file, una volta eseguito (in questo caso all’atto
dell’ingresso nel sito Web di un
nuovo visitatore), legge l’ultimo
valore assunto dal contatore (e
memorizzato sul disco fisso del
server Web), lo incrementa di
uno quindi “spedisce” al client
l’output (in questo caso il valore del contatore sotto forma di
testo o d'immagine gif).
Gli script CGI sono facili da
comporre e hanno dimensioni
ridotte. Bisogna memorizzarli
in una cartella all’interno della
quale il server possa localizzarli. Se avete acquistato un servizio di hosting per il vostro sito
Internet presso un qualsiasi
provider Internet, verificate che
lo spazio Web a vostra disposizione vi permetta di eseguire
anche script CGI: accedete via
FTP (potete utilizzare, a tale
scopo, il programma SmartFTP,
presentato nel numero di marzo
2003 di PC Open a pagina 148) al
server sul quale avete acquistato il vostro spazio Web e cercate una cartella denominata cgibin. L’identificazione della cartella cgi-bin e delle modalità per
l’accesso alla stessa costituiscono le prime operazioni da
compiere: proprio (e solo) da
questa cartella, infatti, potranno essere eseguiti i vostri script
CGI. Non tutti gli amministratori consentono l’utilizzo di CGI,
solitamente per motivi di sicurezza. Se possibile, è quindi
sempre bene chiedere al proprio provider se abiliti le funzioni CGI e se offra la compatibilità con i linguaggi che intendiamo utilizzare.
Più avanti, sempre con lo
scopo di testare i nostri script
CGI prima di caricarli sul server
Web, vedremo come configurare Apache e Microsoft IIS (i server Web più utilizzati in tutto il
mondo) per eseguirli in locale. Il
collaudo in locale offrirà numerosi vantaggi evitando la necessità di tenere sempre attiva la
connessione Internet e d'impegnarsi in continui upload tramite protocollo FTP.
Perl, gratuito e "testuale"
Abbiamo già evidenziato come i CGI possano essere scritti
in vari linguaggi: abbiamo scelto per voi Perl, il più utilizzato.
È completamente gratuito e supera qualsiasi altro linguaggio
nelle sue funzioni di elaborazioni dei testi. Sono molte le caratteristiche che rendono il Perl un
linguaggio assai interessante e
“piacevole” da utilizzare: distingue automaticamente tra
stringhe di testo e numeri a seconda dell’operatore utilizzato
(quindi non è necessario perdere tempo e sprecare risorse per
la conversione di un numero in
stringa o viceversa); permette
di separare rapidamente i caratteri in campi ed in dati che
possono poi essere utilizzati
dallo script CGI-Perl in vari modi; facilita il trasporto (porting)
degli script sviluppati su piattaforme diverse (ad esempio da
Windows a Linux e viceversa).
Per la stesura del codice Perl
o per la visualizzazione di
script, suggeriamo l’utilizzo di
un normale editor di testo. Per
programmare uno script CGI,
così come per JavaScript, può
andar bene il Blocco Note di
Windows.
Ci sentiamo tuttavia di caldeggiare l’adozione di un editor
testuale più evoluto: ad esempio, TextPad (www.textpad.
com) oppure HTML-Kit già presentato nelle precedenti lezioni
del nostro corso. Una volta realizzato lo script Perl sul proprio
personal computer, si dovrà
quindi provvedere a caricarlo
(via FTP) nella cartella cgi-bin,
all’interno dello spazio Web
messo a disposizione dal provider Internet.
In questo modo lo script potrà essere richiamato e mandato in esecuzione.
7a lezione
2 I form: la porta per l’utilizzo degli script CGI
ella scorsa lezione abbiamo già illustrato, brevemente, cosa sono e a che
cosa servono i moduli HTML (o
form): essi sono una sorta di
questionari compilabili on line
da parte dei visitatori di un sito
Web. Inizialmente il loro utilizzo era limitato: si adottavano
esclusivamente per raccogliere
informazioni sulle opinioni e
sulle preferenze degli utenti.
I moduli compilati venivano
infatti poi automaticamente inviati ad un indirizzo e-mail (ad
esempio, quello del webmaster
del sito Internet). Oggi, le possibilità di utilizzo dei form si sono enormemente ampliate:
vengono utilizzati, su un sempre maggior numero di siti, per
interagire con l’utente.
Nella lezione precedente abbiamo visto com’è possibile interagire con un form HTML, direttamente sul personal computer client, tramite JavaScript.
Questa volta aggiungiamo un
altro tassello: ci proponiamo
di illustrare come gli script CGI
possano interagire con i form.
La differenza è abissale: mentre
nella scorsa lezione ci siamo
occupati dell’aspetto client, qui
spostiamo l’attenzione sull’ambiente server ricorrendo proprio all’utilizzo di CGI-Perl. I
N
form HTML sono i migliori candidati per l’acquisizione di
informazioni da parte dell’utente che visita il sito Web: sono quindi gli strumenti più
adatti per interagire con i visitatori.
Nella figura 1 potete notare
tutti gli elementi caratteristici
di un classico form.
In primo luogo, ricordiamo
che qualsiasi form HTML deve
essere racchiuso entro le apposite tag <FORM> e </FORM>.
La tag iniziale <FORM> contiene anche due importanti parametri (method e action), oltre al
nome attribuito al form (indicato col parametro name): il loro significato sarà presto chiaro. La restante struttura del
form deve essere composta seguendo le specifiche HTML che
consentono l’inserimento di
caselle di testo, checkbox, option box, pulsanti e così via.
Per approfondire l’utilizzo
dei form HTML e scoprire tutte
le possibilità che questi offrono, vi consigliamo di fare riferimento all’indirizzo Internet
www.w3.org/TR/REC-html40/
interact/forms.html (in lingua
inglese).
Le tag <INPUT>, specificate
all’interno del corpo del form,
consentono di porre, sulla pa-
1
gina HTML, campi per l’inserimento del testo (se il parametro type è impostato a text), caselle di tipo checkbox (che
possono essere o meno spuntate; se il parametro type è impostato a checkbox), option box
(se il parametro type è impostato a radio), pulsanti di invio
(con il parametro type impostato a submit) e di reset (annullamento) dei dati (con type
impostato a reset).
La parte più importante del
form risulta essere comunque
proprio la tag <FORM>: l’attributo method segnala al browser Internet che i dati inseriti
dall’utente all’interno del form
debbono essere trasmessi al
server con la modalità post o
get; l’attributo action indica invece che, dopo la pressione del
pulsante di invio dei dati deve
essere raggiunto ed invocato lo
script CGI specificato (nell’esempio http://www.openma
ster.info/cgi-bin/guest.cgi).
La prima applicazione CGI
Per verificare che gli script
Perl, memorizzati nella cartella
cgi-bin del vostro server Web,
vengano correttamente eseguiti, provate a creare con un
qualsiasi editor di testo (va bene anche il Blocco Note di Windows) un file contenente quanto segue:
#!/usr/local/bin/perl
#Questa riga indica dove è
localizzato l’interprete Perl
print "Content-type:
text/html\n\n";
#Questa linea consente di
stabilire che tipo di
contenuto deve essere visualizzato
print "Ecco la mia prima
applicazione CGI!";
#Questa linea imposta il
testo che dovrà essere visualizzato sulla pagina Web
1. L’attributo “method” indica che i dati inseriti nel form devono essere trasmessi con
la modalità “post”.
2. “Action” indica lo script CGI che deve essere avviato dopo la pressione del pulsante
“Submit” (Invia).
3. Le tag <INPUT type=”text”> permettono di inserire altrettanti campi per
l’inserimento di testo.
4. La tag <TEXTAREA> consente l’inserimento di un testo lungo (la casella per
l’inserimento del testo occupa, in questo caso, 5 righe e 50 colonne).
5. I pulsanti “Submit” e “Reset” permettono, rispettivamente, la trasmissione al server
Web delle informazioni inserite e la pulizia del contenuto del form.
74/88
Memorizzate il file con il nome di test.pl e caricatelo nella
cartella cgi-bin del vostro server. Provate quindi ad inserire
nella barra degli indirizzi del
browser Internet, il seguente
URL: http://www.openmaster.
info/cgi-bin/test.pl (sostituite,
ovviamente, www.openma
ster.info con l’indirizzo del vostro server Web).
Se, sulla pagina Internet,
verrà mostrato il messaggio
“Ecco la mia prima applicazione CGI”… congratulazioni!
Avrete eseguito il vostro primo
script CGI.
In definitiva, il file test.pl consente di verificare che gli script
Perl siano correttamente supportati.
Fondamenti di
programmazione in Perl
Perl è il linguaggio più popolare per la stesura di script Perl.
Così come nel caso di JavaScript, parliamo di script e non
di programmi. È bene infatti
sottolineare la differenza che
esiste tra i due termini: gli
script sono righe di codice che
indicano le azioni che devono
essere compiute da parte del
computer sul quale sono eseguiti; ogni riga viene interpretata (nel caso di JavaScript dal
browser Internet, nel caso di
Perl dal software residente sul
server). I programmi sono invece preventivamente compilati, in modo da risultare più
veloci da eseguire (seppur decisamente più “ingombranti”
degli script).
Per programmare in Perl
non serve nulla di particolare:
è sufficiente un normale editor
testuale come il Blocco Note di
Windows oppure - meglio TextPad, 1st Page 2000 o
software similari. Chi lavora su
Linux può orientarsi sull’utilizzo di Emacs o di Vi (riconosce
molti linguaggi ed è in grado di
colorare opportunamente comandi, funzioni e parole chiave) - disponibile anche nella
più recente versione grafica denominata “GVim” -.
Le variabili e i tipi
Già dalla precedente lezione
sapete cosa sono le variabili.
Si tratta di appositi “contenitori” (porzioni della memoria)
all’interno dei quali è possibile
memorizzare ogni tipo di dato.
In Perl è necessario anteporre
al nome della variabile un’indicazione che permette di stabilire il tipo di dato che verrà in
essa memorizzato.
Se si intende salvare in una 7a lezione
variabile un tipo di dato scala-
re cioè un numero, una stringa
(un testo) o una costante, è indispensabile anteporre, al nome della variabile, il simbolo
del dollaro ($). Ad esempio,
$nome è una variabile di tipo
scalare che potrà essere utilizzata per memorizzare una
stringa di testo.
Oltre agli scalari, esistono in
Perl altri tipi di variabili.
Anteponendo il carattere @
(at o chiocciolina) al nome della variabile, è possibile inizializzarla come variabile di tipo
array (chiamati anche matrici).
Gli array sono dei gruppi di
scalari: ciò significa che all’interno di una variabile di tipo array è possibile memorizzare un
insieme di valori (stringhe di
testo, numeri, costanti). Un array può contenere da zero elementi sino a quanti sono consentiti dal quantitativo di memoria in uso.
Un esempio di array è il seguente:
@redazione = ($direttore,
$caporedattore,$caposervizio,”
Gruppo Editoriale Agepe”,$impiegati)
Com’è possibile notare, l’array “Redazione” è formato da
cinque elementi ordinati: quattro stringhe (direttore, caporedattore, caposervizio e impiegati) ed una costante di tipo
stringa opportunamente delimitata (com’è obbligatorio) tra
apici.
Esiste, poi, un tipo denominato hash (o array associativo):
questo permette di abbinare,
in un’unica variabile, un insieme di scalari. Le variabili hash
devono essere precedute dal
simbolo % (percento). Un
esempio di hash è il seguente:
%libro =
(“Titolo:”,$titolo_libro,”Codice:”,
$codice,”Autore:”,$autore)
Con l’esperienza ci si accorgerà che gli hash possono rappresentare un ottimo strumento: essi infatti consentono di
correlare, in un’unica variabile
immediatamente accessibile,
un nome ed il relativo valore.
L’istruzione “print”
e il codice HTML
Nel primo esempio di script
CGI abbiamo utilizzato un’unica istruzione Perl: si tratta di
print. Analogamente a document.write di JavaScript, consente di “stampare”, sulla pagina Web, una stringa di testo.
Bisogna sempre ricordare,
se si vuole visualizzare qualco-
75/88
sa su una pagina Web, di porre
inizialmente l’istruzione print
"Content-type: text/html\n\n";.
In questo modo si comunicherà al browser Internet che
dovrà aspettarsi l’arrivo di una
pagina in formato HTML.
Tramite l’istruzione print, si
può stampare sulla pagina Web
anche del codice HTML. Verificate, per esempio, come lo
script Perl creahtml.pl crei una
pagina Web direttamente dallo
script CGI.
3
Passaggio dei dati a script
CGI: metodi POST e GET
Abbiamo già evidenziato come gli script CGI consentano di
interagire con l’utente che visita il nostro sito. Tale interazione si concretizza con l’uso di
script CGI “collegati” a normali
form HTML. Uno degli accorgimenti più importanti per ricevere dati, consiste nel contrassegnare ogni campo che costituisce il form con un nome
identificativo. L’operazione è
del tutto analoga a quanto già
visto nella scorsa lezione con il
JavaScript: è sufficiente aggiungere, all’interno dei marcatori <INPUT>, <SELECT>, <TEXTAREA> l’attributo name.
Provate ad analizzare il codice HTML del file guest.html: ciascun campo che costituisce il
form per l’inserimento dei dati
del “libro degli ospiti” è identificato con un attributo name.
Lo script CGI acquisirà i dati
inseriti dall’utente in ciascun
campo del form proprio riferendosi agli attributi name:
scegliete, quindi, per ciascun
campo, un identificativo adatto
(fig. 2).
Ma come vengono passati i
dati allo script CGI che deve riceverli eD elaborarli? L’attributo action, da inserire nella tag
<FORM>, permette di specificare lo script CGI che dovrà ac2
quisire le informazioni inserite
nel form HTML mentre l’attributo method consente di stabilire la modalità di passaggio
dei dati.
I possibili valori assegnabili
all’attributo method sono POST
e GET. Il primo consente di inviare allo script CGI, memorizzato sul server Web, una quantità illimitata di dati.
Proprio per questo motivo è
il metodo più utilizzato. Quando si utilizza il metodo POST,
inoltre, sulla barra degli indirizzi non vengono visualizzate
informazioni sui dati che vengono trasmessi al CGI.
Il metodo GET è quindi scarsamente utilizzato quando si
vogliono acquisire dei dati da
un normale form HTML.
È bene però precisare che i
form non rappresentano l’unico modo per trasmettere dati
ad uno script CGI: è infatti possibile inviarli anche tramite un
normale link HTML del tipo <A
HREF>. Ad esempio il link seguente, permette di inviare allo
script libro.pl, le informazioni
indicate dopo il simbolo ?
(punto interrogativo):
<a href=”http://www.open
master.info/cgi-bin/libro.pl?au
tore=rossi&tipo=informatica&a
nno=2002”>Trova i libri di infor
matica scritti dal Sig. Rossi nel
l’anno 2002</a>
In questo caso, per il passaggio dei dati, viene utilizzato
il metodo GET.
Osservate il formato da utilizzare per l’invio dei dati: dopo
il punto interrogativo deve seguire il nome del dato, il simbolo di uguaglianza quindi il
valore. Qualora si debbano inviare più dati è necessario separarli con l’utilizzo del simbolo & (fig. 3).
Le variabili d’ambiente contengono il gruppo di dati che
viene inviato allo script CGI residente sul server Web e sono
memorizzate in una variabile di
tipo hash denominata %ENV.
La variabile ambiente REQUEST_METHOD consente di
stabilire con quale metodo sono stati passati i dati allo script
CGI mentre QUERY_STRING
permette di visualizzare il valore ricevuto tramite il metodo
GET.
Lo script libro.pl che viene
invocato dal link HTML (ved. file libro.html) offre la possibilità
di verificare l’uso delle variabili d’ambiente.
Notate che l’argomento della
variabile $ENV deve essere
racchiuso tra parentesi graffe
7a lezione
ed apici. Esistono altre variabili d’ambiente: CONTENT_
LENGTH consente di stabilire la
lunghezza dei dati trasmessi
col metodo POST; HTTP_USER_
AGENT di recuperare le informazioni sul browser e sul sistema operativo utilizzati dall’utente; HTTP_REFERER di ottenere l’indirizzo della pagina
Web che ha richiamato l’esecuzione dello script CGI.
Il CGI variabili_ambiente.pl
permette di ottenere la lista
completa dei valori assunti da
tutte le variabili d’ambiente al
momento della sua esecuzione.
Proviamo ora a cimentarci
con l’utilizzo del metodo POST.
Immaginiamo di aver creato
una pagina Web (ved. il file sondaggio.html) contenente, al suo
interno, il seguente codice per
la visualizzazione di un form
(listato 1):
Al solito, l’attributo action
consente di indicare lo script
CGI cui devono essere passati i
dati inseriti nel form; method
stabilisce la modalità di invio
degli stessi.
Com’è possibile sviluppare
uno script CGI che acquisisca
le informazioni trasmessegli
dal form con l’utilizzo del metodo POST?
Non ci dilungheremo qui in
una trattazione dettagliata del
problema perché meriterebbe
un’analisi piuttosto approfondita. Abbiamo comunque già
visto come, quando un utente
clicca sul pulsante di invio, i
dati del form vengano trasmessi al server.
Tali informazioni, però, per
poter essere utilizzabili, devono essere “confezionate” in un
formato correttamente leggibile da parte del vostro script
CGI.
I visitatori del vostro sito
Web si aspettano che, inserendo dei dati in un form, venga restituito loro un risultato: talvolta può trattarsi di una cosa
semplice – come l’invio di un
messaggio -, altre volte si devono gestire funzionalità più
complesse come l’inoltro di un
ordine di acquisto.
In ogni caso, lo script CGI
che deve elaborare le informazioni inserite nel form ha bisogno di quei dati. Abbiamo già
visto come i dati possano provenire da fonti diverse: da normali form HTML, da link, da variabili d’ambiente.
Quando un utente invia i dati inseriti nel form cliccando
sull’apposito pulsante submit,
o quando clicca su un link (come quello che invocava lo
script libro.pl), il server riceve i
dati sotto forma di coppie nome-valore, in un unico blocco
continuo.
Lo script CGI, per poter far
uso di tali informazioni, deve
necessariamente scomporle in
pezzetti più piccoli: il processo
prende il nome di parsing.
Nel nostro esempio, dopo
LISTATO 1
<form name="form_sondaggio" method="post" action="http://www.openmaster.info/cgi-bin/sondaggio.pl">
Nome:<br><input type="text" name="txt_nome" size="30"><br>
Età:<br><input type="text" name="txt_eta" size="3"><br>
<br>Giudizio attribuito al nostro sito:<br>
<input name="risp1" type="radio" value="eccellente">Eccellente<br>
<input name="risp1" type="radio" value="buono">Buono<br>
<input name="risp1" type="radio" value="sufficiente">Sufficiente<br>
<input name="risp1" type="radio" value="insufficiente">Insufficiente<br>
<input name="risp1" type="radio" value="mediocre">Mediocre<br>
Messaggio:<br><textarea name="txt_messaggio" rows="5" cols="50"></textarea><br>
<input type="submit" value="Invia">
<input type="reset" value="Annulla">
</form>
che l’utente avrà cliccato sul
pulsante Invia, i dati trasmessi
allo script sondaggio.pl assumeranno una forma simile alla seguente: txt_nome=Mario+ Rossi&Eta=30&risp1=buono.
Il parsing dei dati permette
di scomporre le informazioni
ricevute nella forma che lo
script CGI si aspetta.
Il blocco racchiuso tra i commenti #inizio_parsing e #fine_parsing nello script sondaggio.pl effettua proprio il parsing dei dati ricevuti dal form
HTML contenuto in sondaggio.html.
Esempi e risorse
per approfondire
Chi volesse approfondire l’argomento programmazione CGIPerl, estremamente vasto e sfaccettato, può fare riferimento ai
siti
Web
www.perl.com,
www.perl.org ed al newsgroup
italiano it.comp.www.cgi (consultabile anche via Web all’indirizzo http://groups.google.com/
groups?hl=it&lr=&ie=UTF-8&
group=it.comp.www.cgi).
Chi invece fosse interessato
all’utilizzo di script CGI che consentano la visualizzazione di
contatori grafici e testuali per il
proprio sito Web, guestbook,
piccoli motori di ricerca, carrelli della spesa, mailing list e così
via, può fare riferimento al sito
http://cgipoint.html.it: è possibile reperire qui un’ampia raccolta di link verso siti Web che
offrono materiale in modo del
tutto gratuito.
3 Installare e configurare un server Web
bbiamo già anticipato come Apache e Microsoft IIS
siano i server Web più utilizzati nel mondo e come i CGI
rappresentino un primo esempio di script server-side: essi
vengono eseguiti direttamente
sul server; il risultato dell’operazione viene quindi trasmesso al browser (client) dell’utente che sta visitando il sito
Web. Nel caso di JavaScript, invece, così come abbiamo avuto modo di apprendere nella
scorsa lezione, gli script contenenti le operazioni da effettuare vengono trasmessi in chiaro
- “così come sono” - al browser
Internet, interpretati ed ese-
A
76/88
guiti su ciascun computer
client.
L’obiettivo di questa lezione
non è quello di improvvisare
sistemisti i nostri lettori ma
vuole rappresentare un punto
di partenza per tutti coloro
che desiderano approfondire
le tematiche relative alla programmazione lato server.
Comprendere come operano Apache o IIS consentirà,
dapprima, di “convertire” - a
mero scopo didattico - un personal computer di casa o dell’ufficio a server Web: potrete
effettuare qui le vostre prime
prove di configurazione.
Una volta che il sistema ri-
sulterà adeguatamente configurato, potrete utilizzarlo per
testare le vostre pagine Web facenti uso di tecniche di programmazione che implicano
l’interazione con il server, prima ancora di caricarle sullo
spazio Web messovi a disposizione dal vostro provider Internet.
Chi sviluppa siti Web dinamici, infatti, è bene allestisca a casa propria o nel proprio ufficio - uno o più server Web in
modo tale da verificare il perfetto funzionamento delle pagine realizzate prima ancora
di porle online.
I più volenterosi ed i più in-
teressati all’argomento, potranno raffinare le stesse conoscenze con l’obiettivo di allestire un vero e proprio server Web personale. Chi dispone di connessioni Internet a
larga banda (ADSL o fibra ottica) può provare a rendere uno
o più siti Web accessibili al
mondo intero direttamente da
uno dei propri computer di casa o dell’ufficio. Chi possiede
una rete locale può pensare alla realizzazione di servizi di
gestione della propria attività
basati su Intranet.
Il lettore avrà quindi già
compreso come la conoscenza
del funzionamento del server 7a lezione
Web apra enormi possibilità.
Va sottolineato che la realizzazione di progetti complessi implicherà la necessità di misurarsi immediatamente con problematiche assai importanti
come quella della sicurezza.
Se non si vuole vedere il proprio server Web violato dall’esterno, attraverso la Rete, da
parte di hacker e malintenzionati, si dovrà imparare ad applicare patch e severe policy di
sicurezza. Queste tematiche,
che necessiterebbero una trattazione ampia ed articolata, saranno oggetto di servizi futuri.
Server Web professionali
Al giorno d’oggi sono disponibili numerosi server Web
(gratuiti o meno): alcuni di essi sono liberamente prelevabili da Internet in modo che possano esserne saggiate tutte le
caratteristiche.
L’indagine che Netcraft effettua mensilmente (www.net
craft.com) suggerisce quali
siano, al momento, i server
Web più utilizzati in tutto il
mondo. Secondo le statistiche
disponibili all’indirizzo www.
netcraft.com/survey/, nel mese di marzo 2003, Apache risultava in uso sul 62,5% dei
server totali a livello mondiale
mentre Microsoft IIS sul 27%.
Gli aspetti che vanno considerati prima della “messa in
opera” di un server Web sono
la facilità d’installazione e di
configurazione, le possibilità
di personalizzazione, le sue
caratteristiche peculiari, le
sue dimensioni, le performance garantite ed il consumo di
risorse macchina, il supporto
di transazioni sicure, la disponibilità del codice sorgente, la
puntualità con cui vengono rilasciati aggiornamenti, eventuali patch e nuove versioni, il
supporto tecnico, il supporto
di più piattaforme hardwaresoftware, la disponibilità di
versioni gratuite. I server Web
disponibili oggi non consentono solo di restituire pagine statiche ai personal computer
che si collegano con un certo
sito ma supportano tutti i più
recenti linguaggi di scripting.
I tempi in cui il Web era concepito come un insieme di pagine statiche collegate da semplici collegamenti ipertestuali
(link) sono ormai remoti.
Gli sviluppatori di pagine
Web hanno sentito infatti, da
subito, l’esigenza di svincolar-
77/88
si dalla staticità dell’HTML.
Nacquero, quindi, i primi linguaggi server-side: l’intento era
quello di garantire una maggiore interattività delle pagine
Internet, restituendo all’utente
solo le informazioni cui egli
era effettivamente interessato.
CGI è proprio una delle prime tecnologie che vennero offerte agli sviluppatori per rendere maggiormente dinamici i
propri progetti sul Web.
Dopo CGI hanno preso ampiamente piede ASP, PHP,
ColdFusion e JSP mentre sta
cominciando a fare capolino il
nuovo Microsoft .NET.
Il denominatore comune dei
linguaggi di scripting “server-side” consiste nel fatto che il codice viene eseguito e interpretato direttamente sul server
che ospita il sito Internet (una
situazione inversa rispetto a
quanto accade nel caso di JavaScript).
In questo modo è possibile
acquisire dall’utente la lista
delle informazioni alle quali
egli è interessato, ricercarle
sul server quindi proporgliele
sotto forma di una normale
pagina HTML, preparata “al volo” direttamente sul server
Web. Il processo è del tutto
trasparente agli occhi dell’utente.
Linguaggi come ASP e PHP
hanno aperto scenari fantastici, impensabili all’epoca in cui
tutto il Web era immobile, condizionato dalla staticità dell’HTML: si pensi, a mero titolo
esemplificativo, che è oggi
possibile generare automaticamente pagine HTML riversando, al loro interno, il contenuto di un database. In pratica, immaginate di poter memorizzare tutte le informazioni che dovranno essere inserite nel vostro sito Web (ad
esempio, il catalogo dei vostri
prodotti con nome, descrizione ed altri dati caratterizzanti)
in unico database. Grazie all’utilizzo di script “server-side”
il server Web sarà in grado di
attingere dal database solo le
informazioni alle quali il visitatore è interessato, comporre
una normale pagina HTML, inserirvi all’interno i dati richiesti e proporre il tutto all’utente. Nel caso di un catalogo memorizzato all’interno di un database (per esempio, in formato Microsoft Access), si dovrà esclusivamente realizzare
IIS, le differenze in Windows XP
Pro e 2000/2003 Server
Sia la versione Professional di Windows XP (così come Windows
2000 Professional), sia la versione Server di Windows
2000/2003, mettono a disposizione Internet Information
Services (IIS).
Le differenze tra le due versioni, sebbene siano molto simili per
ciò che concerne l’interfaccia grafica di amministrazione, sono
piuttosto marcate. La versione di IIS inclusa in Windows XP
Professional è assai limitata: il webmaster o il programmatore può
farne uso con il solo scopo di testing delle pagine Internet
sviluppate.
Una volta verificata la corretta visualizzazione di tutte le pagine
Internet su una tranquilla workstation locale dotata di Windows XP
Professional e IIS, una volta soddisfatti del proprio lavoro, si potrà
procedere alla “pubblicazione” del sito sul server della società o
del provider Internet sul quale sarà in esecuzione Windows 2000
Server e IIS oppure, se più fortunati, Windows 2003 Server, molto
superiore rispetto a Windows 2000 Server in termini di affidabilità
e di prestazioni.
La versione di IIS di Windows XP Professional non permette infatti,
di creare veri e propri siti Internet, raggiungibili dall’esterno nella
forma http://www.nomedelsito.com ma semplicemente di creare
una serie di directory virtuali: in ciascuna di esse si potranno
memorizzare le pagine costituenti un unico sito.
Ciascun sito “virtuale” sarà però raggiungibile nella forma
http://123.45.67.89/nome_sito ove 123.45.67.89 è l’indirizzo IP
associato in quel momento alla macchina dotata di Windows
2000 Professional e IIS; nome_sito è il nome della directory
virtuale contenente le pagine Web da visualizzare.
Sebbene questo tipo di struttura possa essere adeguata per
piccole realtà aziendali che utilizzano reti locali per offrire ai propri
dipendenti servizi Intranet (ad esempio, la possibilità di accedere
a determinati dati, di acquisire ordini dai clienti, di gestire la
contabilità dell’azienda semplicemente da un’interfaccia Web),
non è pensabile adottare questa soluzione nel caso in cui, dalla
medesima macchina, si desideri rendere accessibili numerosi siti
Internet nella forma www.ilmiosito.it o www.ilsuosito.com.
lo script in grado di recuperare
le informazioni e di generare la
pagina Web.
In questo modo si eviterà di
sprecare tempo e risorse nello
sviluppo di una pagina HTML
statica per ciascun prodotto
che si vuole mettere in Rete.
Eventuali modifiche (grafiche
e non) dovranno essere inoltre
applicate solo allo script server-side e non ad ogni singola
pagina HTML! Presenteremo
linguaggi come ASP e PHP nel
prossimo futuro.
Installare e configurare IIS
Internet Information Services
(IIS) è il server Web che Microsoft mette a disposizione
nelle versioni Professional e
Server di Windows 2000 ed in
Windows XP Professional (di
Windows 2003 Server, in test
presso diverse aziende già da
un paio di anni, è atteso per i
primi di maggio). Le differenze
tra l’IIS incluso nelle versioni
Server e quello che viene fornito con le versioni Professional sono notevoli (a tal proposito, fate riferimento al box di
approfondimento qui sopra).
Sostanzialmente, la versione di IIS inclusa in Windows
XP Professional può essere
utilizzata con il solo scopo di
sviluppare e testare a fondo i
siti Web che si stanno realizzando, prima ancora di “pubblicarli” on line (sul server
Web messo a disposizione dal
proprio provider Internet). Tale versione di IIS è infatti assolutamente inadatta se si vuole
allestire un server professionale.
La versione di IIS inclusa in
Windows XP Professional è la
stessa che viene fornita insieme con Windows 2000 Professional (cambia solo il numero
della versione: IIS 5.1 in luogo
di 5.0). In Windows XP Professional, l’installazione di IIS deve essere avviata manualmen-
7a lezione
4
te accedendo al Pannello di
controllo di Windows, cliccando su Installazione applicazioni quindi su Installazione componenti di Windows.
Dalla lista dei componenti
installabili, selezionate la voce
Internet Information Service
(IIS) quindi cliccate sul pulsante Dettagli. Qualora siate
interessati ad allestire solo un
server Web, potete limitarvi a
spuntare le caselle File comuni, Servizio Web, Snap-in Inter-
net Information Services.
Cliccando su OK vi verrà richiesto di inserire il CD ROM
di installazione di Windows
XP.
Al termine della fase di setup, che procederà in modo
automatico, consigliamo di
riavviare il sistema operativo
(fig. 4). Per controllare che IIS
sia installato e funzionante, avviate il browser Internet quindi digitate, nella barra degli
indirizzi, http://localhost (localhost è detto anche indirizzo
di loopback ed identifica il vostro stesso computer).
Il server Web (IIS) dovrebbe
rispondere alla vostra richiesta mostrandovi la pagina di
default.
Se il computer è connesso
in rete locale, provate ad accedere alla visualizzazione
della pagina HTML di default
di IIS da un client qualsiasi.
Per far ciò eseguite Internet
Explorer (o il browser installato) e digitate, come URL,
http:// seguito dal nome del
computer sul quale è in esecuzione IIS (per esempio:
http://michelesrv).
Per verificare il nome assegnato al computer sul quale
avete provveduto ad installare
IIS, accedete al Pannello di controllo, fate doppio clic sull’icona Sistema, cliccate sulla
scheda Nome computer.
Il pulsante Cambia… permette di modificare a proprio
piacimento il nome della macchina (fig. 5). In alternativa,
potete provare a raggiungere
la macchina IIS facendo riferimento al suo indirizzo IP.
Supponiamo che all’interno
della rete locale gli sia stato
assegnato l’IP 192.168.0.4: provate a digitare http://
192.168.0.4 da un qualsiasi
5
personal computer della LAN
per accedere alla pagina predefinita proposta da IIS.
Se poi il computer è collegato ad Internet dovrebbe essere possibile raggiungerlo
dall’esterno indicando l’IP assegnato dal provider al momento della connessione. 4 Configurazione del sito Web predefinito
in Windows XP Professional
ccedendo al Pannello di
controllo di Windows XP
Professional e facendo
doppio clic sull’icona Strumenti di amministrazione quindi su
Internet Information Services, si
accederà alla finestra di configurazione del server IIS. Da
questa finestra è possibile gestire siti Web, funzionalità FTP
e SMTP.
Dopo l’installazione di IIS,
viene automaticamente creato
un sito Web predefinito contenente, essenzialmente, i riferimenti ai file della guida di Internet Information Services.
È opportuno considerare le
varie opzioni per la configurazione di un sito Web da un punto di vista gerarchico: maggiore è il livello gerarchico dell’elemento sul quale si stanno apportando delle modifiche,
maggiore sarà l’impatto globale degli stessi interventi.
Molte schede per la configurazione compaiono a più livelli gerarchici: ciò significa che
effettuando una modifica al livello più alto verrà influenzato
un maggior numero di oggetti
componenti il sito.
Fate clic con il tasto destro
A
78/88
del mouse sulla voce Sito predefinito quindi scegliete Proprietà. La prima parte della finestra contiene le informazioni necessarie per l’identificazione del sito, compresi nome
e indirizzo. Vi sono poi due voci relative alle porte da utilizzare: la prima, per gli accessi
anonimi dal server, la seconda
per l’accesso SSL. Una delle limitazioni che Windows XP Professional impone consiste nel
fatto di mettere a disposizione
l’utilizzo, per le connessioni
SSL, di un’unica porta: la 443.
L’altra grossa limitazione
della versione di IIS contenuta
in Windows XP Professional,
consiste nel fatto che il numero di connessioni che possono
essere effettuate è limitato a
10. Questa restrizione rende
Windows XP Professional assolutamente inadatto per la gestione di un normale sito Web
che preveda un numero di accessi contemporanei superiore.
Il campo Timeout connessione permette di stabilire il tempo massimo (in secondi) durante il quale un utente inattivo - che non “naviga” cioè al-
l’interno del sito - può restare
collegato al server IIS.
Poiché l’utilizzo della versione di IIS inclusa in Windows
XP Professional è consigliato
pressoché esclusivamente all’interno di una rete locale Intranet, suggeriamo di ridurre il
valore impostato nel campo Timeout connessione in modo da
agevolare l’ingresso di utenti
in attesa e di accelerare le prestazioni del sistema.
Suggeriamo, inoltre, di attivare la casella Abilita keep-alive HTTP: è possibile così migliorare le prestazioni del server permettendo ad ogni client
di mantenere attiva la connessione con IIS anziché crearne
una nuova ad ogni richiesta di
accesso.
La sezione Consenti registrazione attività permette di configurare le impostazioni relative alla creazione dei file di log
ossia dei file testuali che registrano tutti i tentativi di accesso al server IIS. Se si prevede
di utilizzare IIS solo all’interno
della propria Intranet, è possibile disattivare la casella Consenti registrazione attività in
modo da evitare l’occupazione
di spazio su disco. In caso contrario, se si prevede che la
macchina sulla quale è installato IIS debba essere raggiungibile anche dalla Rete Internet, è bene attivare l’utilizzo
dei file di log in modo da rilevare anche eventuali tentativi
di intrusione. Il formato più diffuso per la creazione dei file di
log è il W3C Extended Log File
Format che costituisce lo standard per la maggior parte dei
server Web ed è supportato
anche dagli sviluppatori di
strumenti di analisi e gestione
(fig. 6).
6
7a lezione
A questo livello non ci sembra opportuno dilungarci sui
filtri ISAPI: basti sapere che essi consentono di eseguire controlli in background sul sito
Web. Vi sono diversi tipi di filtri: alcuni soddisfano esigenze
relative alla sicurezza, altri la
mappatura degli URL e l’elaborazione delle intestazioni richieste.
La scheda Home Directory
permette invece di specificare
dove debbono essere reperiti i
file che compongono il sito
Web che si sta configurando in
IIS. Le scelte possibili sono tre:
Directory situata in questo computer, Directory condivisa situata in un altro computer e
Reindirizzamento a un URL.
La scheda può assumere diverse forme a seconda che si
sia selezionata una directory,
una directory virtuale o un file
(fig.7). La sezione sottostante
della finestra permette di impostare le tipologie di accesso
consentite.
Accesso origine script, se selezionato, e se sono impostati i
premessi di lettura e/o scrittura, permette l'accesso al codice sorgente degli script; Lettura
consente l'accesso alla risorsa
in sola lettura; Scrittura permette l'accesso alla risorsa in
lettura/scrittura; Esplorazione
directory se selezionato, visua7
8
79/88
lizza in formato ipertestuale il
contenuto di una cartella non
virtuale. Per visualizzare il
contenuto di queste ultime bisognerà conoscerne l'alias associato. Se l'opzione non è abilitata e l'utente specifica all'interno dell'URL un percorso ad
una risorsa inesistente, il server Web risponderà con un
messaggio di errore (accesso
negato); Registra visite aggiunge la risorsa a quelle da monitorare per mezzo dei file di log;
Indicizza questa risorsa se il
servizio di indicizzazione è attivo, aggiunge la risorsa a quelle da indicizzare.
Il menU a tendina Autorizzazioni di esecuzione permette di
indicare il livello di esecuzione
autorizzato sulla risorsa: solo
file HTML, script oppure script
ed eseguibili.
La scheda Documenti consente di impostare le pagine
che devono essere automaticamente proposte all’utente
qualora egli non specifichi il
nome di un file memorizzato
sul server.
Primi accorgimenti
e creazione di una
directory virtuale
Microsoft stessa, per motivi
di sicurezza, consiglia di eliminare i riferimenti ai file della
guida ed agli esempi installati
automaticamente insieme con
IIS (per ottenere la lista completa delle patch da installare e
delle politiche di sicurezza che
è consigliabile applicare, suggeriamo l’utilizzo del software
Microsoft Baseline Security
Analyzer (MBSA), già presentato nei numeri 78 (a pagina
61) e 79 (a pagina 69) di PC
Open.
Per far questo eliminate, dalla finestra di amministrazione
di IIS, tutte le directory virtuali create dopo l’installazione di
Internet Information Services
(cancellate le directory virtuali Scripts, IISAdmin, IISSamples,
MSADC, IISHelp, WebPub, Printers) e tutti i contenuti predefiniti (cancellate le cartelle inetsrv\iisadmin e inetsrv\iisadmpwd – entrambe contenute nella cartella \winnt\system32 -; cancellate anche le
cartelle \inetpub\wwwroot (o
\ftproot o \smtproot), inetpub\scripts, inetpub\iissamples, inetpub\adminscripts,
%systemroot%\help\iishelp\iis
e %systemroot%\web\printers.
A questo punto fate clic con
il tasto destro del mouse su Sito web predefinito, cliccate sulla scheda Home director y,
quindi eliminate wwwroot dalla
casella Percorso locale (dovrebbe restare solo c:\inetpub). Questa modifica vi permetterà di evitare un messaggio d’errore che informa sull’inesistenza della cartella specificata (fig. 8-9).
Dopo aver effettuato le regolazioni iniziali, sinora illustrate, è possibile passare alla
creazione di una directory virtuale. Nella versione di IIS inclusa in Windows XP Professional è immediato pensare di
creare una directory virtuale
per ogni sito Web che si sta sviluppando.
Destinando una directory
virtuale a ciascun sito su cui si
sta lavorando, è possibile simulare, sul proprio computer,
il comportamento del server
Web che lo ospiterà. È possibile visualizzare, quindi, pagine
Web statiche e dinamiche così
come appariranno successivamente dopo averle caricate sul
server. L’utilizzo delle directory virtuali permette di risolvere eventuali problemi prima
ancora di “pubblicare” i file sul
server Web del provider Internet consentendo di concentrarsi esclusivamente sulla
programmazione e sull’ottimizzazione del sito. La particolarità delle directory virtuali consiste nel fatto di fungere
da “puntatore” verso una cartella residente su un disco fisso locale o su un altro personal
computer in rete (fig. 10).
Per creare una nuova directory virtuale, è sufficiente fare
clic con il tasto destro del
mouse su Sito web predefinito
quindi seguire la procedura
passo-passo che viene presentata.
La finestra immediatamente
successiva a quella di presentazione, richiede di specificare
un alias per la directory virtuale che si sta crean10
do.
L’alias è l’identificativo che dovrà digitare, nella barra degli indirizzi del browser Internet, chiunque vorrà
accedere al contenuto
della directory virtuale. Ad esempio, supponiamo di inserire
pcopen come alias: ciò
significa che se dal
browser Internet si
9
vuole accedere alla directory
virtuale di PC Open, creata sul
nostro computer, dovremo digitare, nella barra degli indirizzi http://localhost/pcopen.
Per accedere alla stessa directory virtuale, un utente della nostra LAN dovrà digitare, in
luogo di localhost, l’indirizzo IP
associato alla nostra macchina
oppure il nome della stessa: ad
esempio, http://paperino/pcopen.
Tenete presente che è possibile accedere alle directory
virtuali configurate su un personal computer dotato di Windows XP Professional e IIS anche dalla Rete Internet specificando, al posto di localhost,
l’indirizzo IP associato in quel
momento alla macchina (per
stabilire l’indirizzo IP associato al proprio computer all’atto
della connessione Internet, fate doppio clic sull’icona raffigurante due piccoli computer,
nella traybar in basso a destra,
cliccate sulla scheda Dettagli
quindi fate riferimento al valore Indirizzo IP del client).
Per evitare l’accesso ai siti
configurati su IIS è necessario
applicare alcune politiche di
sicurezza sugli account utente
o configurare un firewall in modo tale che respinga i tentativi
di accedere al server IIS dalla
Rete Internet (a tal proposito,
fate riferimento al box dedicato ad Outpost Firewall) fig. 11.
7a lezione
11
13
Dopo l’impostazione dell’alias, è necessario indicare la
cartella che deve essere puntata ossia la directory su disco
che contiene (o all’interno della quale si intende memorizzare) i file che costituiscono il sito Web. Il nostro consiglio è
quello di effettuare una prova
copiando i file d’esempio che
trovate nel CD ROM allegato a
questo numero di PC Open in
una cartella sul vostro disco
fisso. Ad esempio, se decidete
di porre tali file in una cartella
denominata C:\PCOpen_esempi, specificate qui la stessa directory (servendovi del pulsante Sfoglia…) (fig. 12).
Come ultimo passo, è necessario specificare le autorizzazioni che si desiderano impostare per la directory virtuale
in corso di creazione. Suggeriamo di attivare solo le caselle Lettura ed Esecuzione script.
Cliccando sul pulsante Avanti
quindi su Fine, si concluderà la
procedura guidata.
Come risultato, vedrete
comparire all’interno del ramo
Sito web predefinito, una nuova
12
80/88
voce, corrispondente all’alias
da voi scelto per la directory
virtuale.
Cliccando con il tasto destro del mouse sulla directory
virtuale pcopen appena creata
quindi scegliendo Proprietà,
avrete accesso alla finestra
delle proprietà, molto simile a
quella già vista in precedenza
per il Sito Web predefinito
(fig. 13).
Sono due gli aspetti che, a
questo livello, è bene sottolineare. Il primo riguarda la gestione della sicurezza. La scheda Protezione directory permette di stabilire le modalità
con le quali un utente può accedere alla directory virtuale.
Diversamente dalla versione server di IIS, in Windows XP
Professional non è possibile
controllare l’accesso in base
all’indirizzo IP.
Facendo clic sul pulsante
Modifica, viene visualizzata la
finestra Metodi di autenticazione: selezionando la casella Accesso anonimo è possibile fare
in modo che chiunque possa
accedere alla directory (pur
consentendo di mantenere il controllo sulle sottodirectory e sui
singoli file).
Nonostante l’accesso
sia “anonimo”, l’utente
verrà registrato nel sistema per mezzo di un
account “ad hoc” (generalmente denominato IUSR_nomecomputer, ove nomecomputer è il nome associato
al computer sul quale
è in esecuzione IIS).
Gli utenti anonimi non
dovranno inserire alcun nome
utente identificativo né alcuna
password per accedere ad una
directory virtuale sul vostro
computer. Se su un server Web
di solito si deve consentire
l’accesso ad un sito senza digitare alcun nome utente e password, sul vostro computer locale sarebbe bene inibire, per
ragioni di sicurezza, qualsiasi
forma di accesso anonimo.
Gli altri tre livelli di accesso
richiedono l’identificazione
dell’utente prima di consentire
l’accesso alla directory.
Attivando la casella Autenticazione di base vengono richiesti il nome e la password
dell’utente. L’unico problema è
che tali informazioni vengono
trasmesse in chiaro e possono
essere quindi intercettate consentendo ad utenti malintenzionati di accedere al sistema
in modo non autorizzato.
L’intercettazione può avvenire tramite un software (o un
hardware) denominato sniffer,
in grado di analizzare il contenuto di ogni pacchetto inviato
e ricevuto.
Le due opzioni successive
sono utilizzabili in Windows
2000 Professional solo
se la macchina è colle- 14
gata ad un server di
dominio.
L’opzione Autenticazione integrata di Windows sfrutta invece un
metodo completamente diverso per l’identificazione dell’utente:
in questo caso il sistema operativo effettua
uno scambio di dati
crittografati con il
browser dell’utente
grazie ad un metodo
di certificazione digi-
tale installato sul personal
computer client insieme con il
browser Internet.
Il secondo aspetto da evidenziare riguarda la priorità
con la quale vengono visualizzati i documenti contenuti in
una directory virtuale.
Nella scheda Documenti, è
possibile indicare quali file devono essere mostrati se l’utente non richiede la visualizzazione di uno specifico file.
Digitando, nella barra degli
indirizzi del browser, l’URL
http://localhost/pcopen, verrà
dapprima cercato il file default.htm, se questo non viene
trovato, IIS passa alla ricerca di
default.asp. Se anche il file default.asp non è presente nella
cartella, IIS ricerca iisstart.asp;
se anche tale file risulta irreperibile, viene visualizzato un
messaggio d’errore che segnala all’utente l’impossibilità di
accedere alla directory. La lista
dei documenti predefiniti è liberamente personalizzabile
(fig. 14). Nel nostro esempio,
digitando nel browser l’URL
http://localhost/pcopen, verrà
infatti visualizzata automaticamente la pagina default.htm. 7a lezione
5 Installare e configurare Apache sotto Windows
pache è il server Web attualmente più utilizzato al
mondo, nato per funzionare come processo “stand alone”
ossia senza richiedere l’appoggio di altre applicazioni o di altri
componenti software.
Si tratta di un prodotto solido, performante e supercollaudato: è il frutto (completamente
gratuito) del lavoro di un team
di volontari, noto come “Apache Group”.
Apache è un software estremamente aperto (sono addirittura reperibili sul sito www.apa
che.org i sorgenti veri e propri)
che offre anche la possibilità ad
altre aziende di crearsi un business mediante lo sviluppo di
plug-in, aggiunte varie, strumenti di configurazione, tool di
supporto e così via.
Il server Web Apache, nato in
ambiente Linux, è disponibile
per tutte le piattaforme Unix, incluso Mac OSX e, più di recente,
è stato portato anche in Windows.
Apache differisce da IIS per il
fatto di essere completamente
gratuito e di mettere a disposizione tutte le funzionalità di un
server Web avanzato. Tra l’altro
Apache può essere impiegato
su una qualunque versione di
Windows (Windows 9x compreso).
L’ultima versione di Apache
disponibile al momento della
stesura di questo servizio, è la
2.0.44: sul sito dedicato a questo server Web (http://httpd.
apache.org/) è possibile reperire le informazioni relative all’installazione, alla configurazione
ed all’aggiornamento dello stesso. L’Apache Group è poi solito
pubblicare tempestivamente,
proprio in questo sito Web, le
patch risolutive per eventuali
bug di sicurezza scoperti con il
passare del tempo.
A
15
81/88
Per avviare l’installazione di
Apache, fate doppio clic sul file
apache_2.0.44-win32-x86no_ssl.msi (prelevabile gratuitamente all’indirizzo http://na
goya.apache.org/mirror/httpd/
binaries/win32/apache_2.0.44win32-x86-no_ssl.msi).
Dopo l’accettazione dei termini della licenza d’uso (che
consigliamo di leggere con attenzione) e delle note generali
sull’installazione (Read This First) sarà necessario inserire alcune informazioni riguardo al
server Web che si sta configurando. Se state installando Apache per la prima volta, con lo
scopo di saggiarne le principali
funzionalità, digitate localhost
nel campo Server Name ed inserite la vostra e-mail nel campo
Administrator’s email address.
Lasciate attiva l’opzione for All
users, on Port 80, as a service
(fig. 15).
Nella finestra successiva selezionate Typical quale modalità di installazione quindi inserite la cartella ove desiderate
che Apache venga collocato.
Cliccando sul pulsante Install
verrà avviata la fase di setup
che si concluderà in pochi
istanti. Al termine della procedura, all’interno della traybar
(ossia l’area situata in basso a
destra, accanto all’orologio di
Windows), dovrebbe comparire
l’icona di Apache, a segnalare
che il Web server è già in esecuzione (fig 16).
Ad installazione conclusa
provate ad avviare Internet Explorer o il browser in uso e digitate http://localhost. Se il server
Web vi risponderà con la finestra visualizzata in figura avrete
installato correttamente Apache. I file componenti il sito
Web (HTML, PHP,…) andranno
posti nella sottodirectory denominata htdocs. All’interno della
stessa cartella, potete creare
sottodirectory in modo che il loro contenuto possa essere richiamato, dal browser Internet,
nella forma http://localhost/nomesottodirectory/nomefile.html.
Se l’utente non specifica alcun
file ma si limita a digitare un
URL del tipo http://localhost/nomesottodirectory, il primo file
che verrà automaticamente richiamato sarà index.html.
Così come in Linux, anche in
Windows il file che consente la
16
configurazione dell’intero server Web è httpd.conf contenuto
nella cartella \Apache\conf.
Ricorrendo all’utilizzo di Risorse del computer (o Gestione
risorse), portatevi all’interno
della cartella ove avete installato Apache quindi fate doppio
clic sulla directory denominata
Conf.
L’analisi delle varie opzioni di
configurazione di Apache, effettuabili agendo sul file httpd.conf,
va oltre gli obiettivi di questa lezione. Suggeriamo di fare riferimento alla pagina http://httpd.
apache.org/docs-2.0/mod/
quickreference.html per ottenere una lista completa delle regolazioni (direttive) applicabili.
Per rendere la configurazione di
Apache più semplice ed intuitiva – evitando, così, di dover intervenire direttamente sul file di
testo httpd.conf – sono nati dei
tool basati su interfaccia grafica. A titolo d’esempio citiamo
ApacheConf (a pagamento) prelevabile all’indirizzo http://
www.apache-gui.com/.
ActivePerl su Windows
ActivePerl è un software gratuito che contiene la più recente versione di Perl per ambiente
Windows. Il produttore, ActiveState, ne offre anche una versione per Linux così da non modificare il proprio lavoro nel caso lo si traghettasse nell'altro
ambiente. Trattandosi di un linguaggio interpretato, che viene
quindi tradotto in linguaggio
macchina al momento dell'esecuzione, è necessario disporre
di un interprete ad hoc per ciascuna delle piattaforme su cui
lo s'intende utilizzare.
ActivePerl è semplicissimo
da installare e configurare in en-
trambi i mondi: servendosene
si potrà provare tutti gli script
CGI Perl sul proprio personal
computer.
La versione Windows è disponibile sul CD guida allegato
per concessione di Active State
che detiene il copyright su Active Perl e Perlscript.
L’installazione di ActivePerl
per Windows è avviabile facendo doppio clic sul file ActivePerl5.8.0.805-MSWin32-x86.msi. Dopo la schermata iniziale, per prima cosa si dovrà accettare il
contratto di licenza d’uso (da
leggere attentamente) quindi
scegliere la cartella all’interno
della quale si desidera installare
il pacchetto software (fig. 17).
ActivePerl si compone di di-
Apache sotto Linux
Alcune distribuzioni Linux
contengono già il server Web
Apache e ne offrono
l’installazione. Se si desidera
comunque utilizzare l’ultima
versione disponibile, è
sufficiente collegarsi con il sito
www.apache.org e scaricare il
file d’installazione per Linux
(httpd-2.0.44.tar.gz).
Portatevi alla riga di comando
Linux, accedete alla cartella
ove avete scaricato il file
d’installazione in formato
.tar.gz quindi seguite
scrupolosamente i comandi
che trovate elencati nella
documentazione di Apache
circa l’installazione del Web
server in ambiente Linux,
consultabile in qualunque
momento all’indirizzo
seguente:
http://httpd.apache.org/
docs-2.0/install.html.
17
elementi. Quello che ci insa in questo momento è il
n ISAPI per il server Web:
tta di un componente che
erfaccia con IIS e che condi elaborare script CGI.
nstallarlo, in fase di setup ci
ve assicurare di attivare le
le Create IIS script mapping
erl e Create IIS script mapfor Perl ISAPI. Di solito, l’inzione di ActivePerl abilita
ro server Web all’esecudei CGI (da qualsiasi sito
configurato, da qualunque
tory virtuale e da qualsiasi
18
82/88
cartella). Nel caso in cui si dovesse configurare un server
Web reale – non un computer
destinato esclusivamente al test in locale dei propri script – sarebbe bene, per motivi di sicurezza, restringere l’esecuzione
degli script CGI solo alle cartelle in cui ciò risulti effettivamente necessario. Una volta terminato il setup di ActivePerl, accedete quindi alla finestra Gestione Servizio Internet Microsoft dal
Pannello di controllo, cliccate
con il tasto destro del mouse
sul nome del server e scegliete
la voce Proprietà, selezionate la
voce Servizio WWW quindi cliccate sul pulsante Modifica (fig.
18).
Provate a copiare lo script test.pl che trovate nel CD ROM di
PC Open nella cartella cgi-bin
della directory virtuale pcopen,
creata in precedenza in IIS. Aprite Internet Explorer e digitate,
nella barra degli indirizzi
http://localhost/pcopen/cgibin/test.pl: il browser Internet
visualizzerà semplicemente il
codice Perl che compone lo
script CGI ma questo non verrà
eseguito.
Selezionate, a questo punto,
la cartella Home directory, cliccate sul pulsante Configurazione: la procedura di installazione
di ActivePerl dovrebbe aver inserito, nell’elenco contenuto
nella scheda Mapping applicazioni, le voci Perl %s %s e PerlIS.dll. In questo modo gli script
Perl saranno eseguibili nell’intero server Web.
Avviando ora Internet Explorer e digitando nuovamente
http://localhost/pcopen/cgibin/test.pl, lo script CGI test.pl
verrà correttamente eseguito
visualizzando la frase Ecco il
mio primo script CGI! (fig. 19).
Per provare gli script Perl
contenuti nel nostro CD, direttamente sul vostro computer, è
quindi sufficiente copiare i file
con estensione .pl (Perl) nella
cartella cgi-bin.
ActivePerl offre anche la possibilità di controllare la sintassi
di uno script Perl da voi sviluppato. È sufficiente accedere al
prompt di MS DOS, portarsi nella cartella dove avete memorizzato il vostro file Perl, quindi digitare perl –c nomefile.pl (sostituendo a nomefile.pl il nome del
vostro script Perl): ActivePerl vi
segnalerà eventuali errori di sintassi facendovi risparmiare
molto tempo. ActivePerl offrirà
il supporto per l’esecuzione degli script Perl anche se decidete
di montare il server Web Apache in versione Windows. Ad installazione di Apache conclusa
è sufficiente provvedere al setup di ActivePerl, seguendo le linee guida appena illustrate,
quindi copiare gli script con
estensione .pl che trovate nel
CD allegato a PC Open nella cartella cgi-bin. Tenete presente
che, nel caso di Apache, la cartella cgi-bin viene automaticamente all’interno della directory di installazione del server
Web. Memorizzate, quindi, nella
cartella cgi-bin tutti i file Perl da
voi creati (o quelli d’esempio
che trovate nel CD di PC Open).
Supponiamo che abbiate copiato, nella cartella cgi-bin, lo script
test.pl. Avviate Internet Explorer
e digitate, nella barra degli indirizzi, l’URL http://localhost/cgibin/test.pl. Qualora vi venisse
19
restituito un Internal server error, aprite con un normale editor di testo tutti i file con estensione .pl che avete posizionato
nella cartella cgi-bin e modificate la prima riga da #!/usr/local/bin/perl
a
#!c:/Perl/
bin/Perl.exe (supponendo di
aver installato ActivePerl nella
cartella c:\Perl). Adesso, digitando http://localhost/cgibin/test.pl nel browser Internet,
dovrebbe venire correttamente
visualizzata la frase Ecco la mia
prima
applicazione
CGI!
(fig. 20). Per chi volesse approfondire ulteriormente le modalità di utilizzo, le potenzialità
e la configurazione di ActivePerl, suggeriamo di consultare
l’ottima guida, disponibile in
formato HTML, ed installata insieme con il programma vero e
proprio. Per accedervi, cliccate
su Start, Programmi, ActiveState
ActivePerl quindi su Documentation.
20
8a lezione
A scuola con PC Open
Progetto
Web Master
di Roberto e Alessandro Abbate
Promuovere il proprio sito Web
siamo così arrivati all’ultima puntata del nostro corso per diventare WebMaster. Ricominceremo dopo l’estate con un nuovo appuntamento dedicato a chi è interessato ad acquisire competenze
da Web designer
In questa ultima puntata, dopo aver analizzato le tecniche e
i segreti per la creazione di un
sito Internet, ci occuperemo
della sua promozione.
Tutto l'impegno e il tempo finora dedicato alla realizzazione del sito Web ha avuto un
unico grande scopo: mostrare
E
al popolo della Rete di quanto
siamo stati capaci.
Indipendemente dal risultato raggiunto, dalle conoscenze
accumulate e dall'esperienza
maturata, la creazione di un sito ha un solo grande obiettivo:
quello di essere visto da altri.
È in quest'ottica che si ragiona nel momento in cui si
inizia a parlare di “promozione
di un sito Internet”.
Con il termine promozione,
è nostro intento raccogliere
tutte quelle attività per far conoscere un Web site al popolo
di Internet.
La promozione di un sito si
divide in due parti ben distinte: il raggiungimento degli
utenti e la loro fidelizzazione.
Cosa significa tutto ciò? Possiamo spiegare meglio il concetto con una similitudine: Internet è un mare, i navigatori
sono i pesci e il nostro sito
Web è la rete da pesca, a questo punto, il lettore diventato
ormai WebMaster è ovviamente il pescatore.
Se siamo abbastanza capaci
di lanciare la nostra rete da pesca tanto lontano da raccogliere molti pesci, dobbiamo
essere altrettanto capaci di far
sì che nessuno poi scappi dalla rete.
Fuor di metafora, tutte le attività rivolte alla promozione
del nostro sito Web, dovranno
essere così efficaci che gli
utenti che raccoglieremo dovranno rimanere all'interno
del sito e, ancora meglio, dovranno ricordarsi di tornarci a
visitarlo.
Come è possibile raggiungere un obiettivo tanto importante? La risposta naturalmente, la troverete nelle prossime
pagine.
IL CALENDARIO DELLE LEZIONI
Lezione 1:
Competenze e strumenti
(disponibile integralmente
sul CD)
Lezione 2:
Siti statici e linguaggio
HTML
il corso
è sul CD
guida
(disponibile integralmente
sul CD)
Lezione 3:
Modelli di pagina e tabelle
(disponibile integralmente sul CD)
Lezione 4:
HTML 4.01 e CSS
(disponibile integralmente sul CD)
• Stile e struttura: usare i tag HTML nativi
• Il deprecato tag font
• I marcatori per formattare il testo
• Gestire gli spazi nel testo
• CSS e HTML 4.01
• Cosa si può fare con i fogli stile
• Quattro tipi di CSS
• I colori del Web
• Gestire le immagini
83/88
• Esercizi
• Ereditarietà e innesco a cascata
• Proprietà di trasferimento
dei parametri
• Regole di ereditarietà
• Selettori di classe
• Websafe palette
• Istruzioni condizionali
• Interazione tra JavaScript e form HTML
• Interazione tra JavaScript e frame
• DHTML
Lezione 7:
Interazione sul server
Lezione 5:
Design e multimedialità
(disponibile integralmente sul CD)
• Elementi di design per il Web
• La ruota colore
• Grafica e formati di immagini
per Internet
• Link ipertestuali
• Tabelle d’immagini
• Mappe immagine
• Audio e video
Lezione 6:
Siti interattivi
(disponibile integralmente sul CD)
• I linguaggi di programmazione
• La programmazione orientata agli oggetti
• Oggetti e priorità
• Eventi e funzioni
• Variabili e stringhe
• Gli operatori in JavaScript
(disponibile integralmente sul CD)
• Il server Web
• I form: la porta per l’utilizzo degli script
CGI
• Installare e configurare un server Web
• Configurazione del sito Web predefinito
in Windows XP Professional
• Installare e configurare Apache sotto
Windows
Lezione 8:
Promuovere il sito
• Tecniche di promozione:
cosa fare e cosa evitare
• I motori di ricerca: vietato mancare
• Come ottimizzare il proprio sito
• Cross promotion: ovvero la pubblicità
gratuita
• Per chi vuole approfondire: libri e siti
consigliati
8a lezione
1 Tecniche di promozione: cosa fare e cosa evitare
ono state sprecate pagine, parole, convegni e incontri per spiegare quali
sono le tecniche per fidelizzare
l'utente: ovvero per far sì che
torni su un sito Web.
S
Cosa fare
A nostro modo di vedere
però, di tutte le pratiche e tecniche che si possono applicare,
ne esistono alcune che meritano di essere sottolineate:
1 - Innanzitutto il sito deve avere dei contenuti interessanti. È impossibile spiegare
quando un sito Web è interessante, infatti lo diventa
quando ci sono utenti che lo
ritengono tale.
Il miglior sistema per raggiungere questo primo, essenziale obiettivo, è quello
di pubblicare con una certa
continuità, contenuti e argomenti che a nostro modo di
vedere possono attirare l'attenzione. Nel vastissimo
mondo di Internet infatti, ci
sarà certamente qualcun altro che condivide il nostro
pensiero e avrà quindi interesse a visitare il sito da noi
creato.
2 - Cercate sempre l'interazione con i vostri utenti. È essenziale che i visitatori del
vostro sito possano interagire con il WebMaster del sito: innanzitutto potranno
farvi avere le loro opinioni
ed il loro parere (il cosiddetto feedback). Questo
sarà per voi oro colato:
niente è più importante delle sensazioni dei vostri visitatori: saranno loro infatti a
indirizzarvi verso le scelte
migliori e a farvi notare gli
errori da voi commessi. È
grazie al loro aiuto che potrete migliorare il vostro sito. Se poi capitasse di intrecciare nuove conoscenze, la cosa non potrà che
farvi piacere.
3 - Dovrete tenere presenti due
parole importantissime in
Internet: leggerezza e semplicità. Essere leggeri significa creare immagini e documenti che possano essere
navigati velocemente dal
vostro visitatore. Ci sono
moltissime persone infatti
che possiedono ancora un
collegamento a 56 Kpbs via
modem e non saranno certo
entusiasti di aspettare trop-
po tempo per visitare una
pagina Web. Per l'attesa, il
tempo massimo è di 10 secondi, mentre per quanto riguarda il peso, fate in modo
che la pagina con tutti gli
elementi (immagini, eventuali suoni e così via) non
superi i 70 KB.
4- Al punto precedente abbiamo parlato anche di semplicità: con ciò vogliamo dire
che è meglio evitare sfondi
troppo colorati, o riempire
la pagina di immagini animate. Il vostro visitatore dovrà poter leggere le vostre
pagine senza fare fatica: non
deve quindi affaticare la vista con contrasti di colore
poco chiari o elementi che
ne distraggano la lettura.
La migliore soluzione è quella di usare sfondi chiari e testo scuro. I link è bene lasciarli sottolineati o se proprio volete cambiarli, fate in
modo che siano sempre ben
distinti dal resto del testo
normale. Assolutamente da
evitare sfondi animati o colori poco contrastanti (come arancione su nero, o giallo su rosso).
Il buon senso vi guiderà ver-
so le scelte più adatte: leggete con attenzione le vostre pagine Web e con una
certa dose di autocritica.
Cosa evitare
Per esclusione, le prime cose da evitare corrispondono a
tutto ciò che si contrappone
con quanto abbiamo scritto
precedentemente.
Per il resto, abbiamo raccolto le pratiche da non seguire all'interno del box sulla netiquette più in là nel’articolo.
Si tratta delle azioni che assolutamente devono essere evitate per promuovere con successo un sito Web. Quando si
inizia infatti, è facile incappare
in errori a dir poco evitabili:
troppa “foga” nella promozione.
Ricordiamoci che i visitatori hanno sempre un ottimo
motivo per non navigare il nostro sito Web: dovremo essere
noi che, con discrezione e perseveranza, gli offriremo il pretesto per accedere al sito da
noi creato.
Dovremo quindi stuzzicare
la loro curiosità e nello stesso
tempo guadagnarci il loro rispetto.
2 I motori di ricerca: vietato mancare
desso che sappiamo quali
sono le pratiche consigliate per promuovere un sito
Web e quali quelle da evitare,
possiamo iniziare con le prime, piccole attività di marketing, o meglio, Web marketing.
Ma da dove si comincia?
Se lo chiedono tutti. Tante
ore investite nella creazione di
un sito Web e poi, una volta
messo on line, la dura realtà:
nessuno (a parte noi e la nostra
ristretta cerchia di amici) lo visita. Come rimediare? Come
iniziare a promuoverlo?
La risposta è semplicissima:
noi, da utenti, quando cerchiamo qualcosa, dove andiamo?
Dove iniziano le nostre navigazioni?
La risposta può essere una
ed una soltanto: i motori di ricerca.
A
84/88
È da lì quindi che inizieremo
il nostro viaggio alla scoperta
dei migliori trucchi per far conoscere il nostro sito Web.
Come per tutti gli strumenti,
per usarli al meglio è necessario conoscerli in maniera approfondita. Innanzitutto cos'è
un motore di ricerca e come
funziona? Quali sono i più diffusi e utili?
Un motore di ricerca è un
servizio che consente di cercare informazioni all'interno di
Internet. Con informazioni non
intendiamo solo pagine Web,
ma anche file di ogni tipo: immagini, documenti di altra natura (ad esempio i PDF di Acrobat), tracce audio (MP3, WAV),
video e così via.
Ad essere corretti, questi
motori non cercano in tutta Internet, o in tutto il World Wide
Web, semplicemente eseguono
una ricerca all'interno del loro
database, che si compone di
tutti quei file che i loro spider
rintracciano. Prima parola magica: spider, per chi conosce
l'inglese, spider significa ragno.
Questo perché i software di cui
si avvalgono i motori di ricerca,
scandagliano il Web proprio
come fanno i ragni all'interno
delle ragnatele.
Ogni motore di ricerca ha
uno o più spider (chiamati anche bot) che periodicamente
navigano il Web e schedulano i
contenuti all'interno dei loro
database. Questo tutto automaticamente.
Il nostro primo obiettivo
sarà quello di rientrare tra i
percorsi dei bot.
Non tutti però fanno uso degli spider. O meglio, esistono
dei siti Internet che spesso
vengono accumunati ai motori
di ricerca ma che in realtà non
lo sono e per questo, non fanno
uso di software come gli spider.
Motori di ricerca
Un motore di ricerca è appunto un sito che scandaglia e
scheda il Web con l'utilizzo di
software automatici. I principali motori di ricerca italiani sono
il Trovatore, raggiungibile all'indirizzo http://www.iltrovato
re.it e Arianna, reperibile su
http://arianna.iol.it. All'estero, il
più famoso e conosciuto è Google (http://www.google. com, in
versione italiana su http://
www.google.it) ma ne sistono
altri come Altavista (http://
www.altavista.com, disponibile
in Italia su http://www.altavi
sta.it), MSN http://www.msn. 8a lezione
com, in italiano su http://
www.msn.it).
Directory
Le directory sono servizi
che raccolgono e catalogano i
siti in base al loro contenuto. In
Italia, il più conosciuto sito di
questo tipo è Virgilio (http://
www.virgilio.it) ma anche all'estero ce ne sono molte, tra cui
lo storico Yahoo! (http://www.
yahoo.com e in italiano su
http://www.yahoo.it) e Dmoz
(o Open Directory Project:
http://www.dmoz.org, la cui localizzazione italiana è reperibile all'indirizzo http://www.
dmoz.org/World/Italiano). Un
altro esempio di directory di
successo è 100Links (http://
www.100links.it), nata per raccogliere i siti recensiti all'interno della sua mailing list che
suggerisce 25 siti a settimana
(da qui il nome, 100 links al mese) è ora la directory su cui si
appoggia l'intero network di
Dada con il sito SuperEva
(http://www.supereva.it).
In questo campo, le directory specializzate sono tantissime: esistono siti che catalogano solo pagine in una determinata lingua oppure che trattano un solo argomento. Ad
esempio esiste TuttoGratis
(http://www.tuttogratis.it) che
raccoglie solo siti che offrono
servizi gratuiti, stesso compito
svolto
da
FreeOnLine
(http://www.freeonline.it). Insomma, le strade da percorrere
sono tante, si tratta solo di seguirle tutte.
Metamotori
Trattiamo questo argomento
solo per completezza delle
informazioni. I metamotori infatti sono motori di ricerca che
restituiscono i risultati delle ricerche interrogando altri motori. Si può quindi fare ben poco per apparire in questi: sarà
infatti sufficiente comparire tra
i principali motori di ricerca
per essere inseriti anche in
questi. Alcuni esempi sono Metacrawler (http://www. meta
crawler.com), DogPile (http://
www.dogpile.com) e WebCrawler
(http://www.web
crawler.com).
Queste differenze, spesso si
assottigliano con accordi di
marketing tra le società che gestiscono i motori di ricerca e le
directory. Ad esempio Virgilio e
Yahoo! sfruttano anche il database di Google per offrire i mi-
85/88
gliori risultati. Google stesso,
per la propria directory
(http://directory.google.com)
fa uso di Dmoz e gli accordi
strategici ovviamente non si
fermano qui.
Una volta raggiunto un motore di ricerca, ciò che dovremo fare è trovare un link del tipo Aggiungi URL o in inglese
Add URL. Da qui poi, sarà necessario specificare l'indirizzo
del nostro sito e poi, compilare
gli altri campi che potrebbero
esserci stati richiesti: come titolo della pagina, descrizione,
keywords (ovvero le parole
chiave) e via dicendo. Se non
sapete che parole chiave usare,
pensate semplicemente con
quali termini volete che i navigatori di Internet possano trovare il vostro sito; evitate però
parole troppo generiche: rischiereste di trovarvi assieme
a qualche migliaio di siti che
sicuramente non agevoleranno
l'utente nel cliccare sul vostro.
Google il più utilizzato
dal popolo della Rete
È ovvio che il motore di ricerca più usato sia quello capace di portare più utenti. È altrettanto ovvio quindi, che il
motore di ricerca da tenere in
maggiore considerazione sia
proprio quello più utilizzato. In
Italia e nel mondo, quello più
usato è Google. Anche nei siti
con maggiore traffico, un posizionamento ben studiato su
Google può portare ad avere il
50% dell'utenza referente portata da questo motore di ricerca. Con il termine referente, intendiamo tutti quei visitatori
che cliccando su altri link arrivano al nostro sito.
Sul totale degli utenti arrivati dai motori di ricerca, Google
è capace di segnare, da solo, un
80% sul totale.
Balza subito in mente quindi, quale sia il motore di ricerca
da studiare per apparire in testa alle sue ricerche.
Google “dà il voto” alle
pagine Web
Quando lo spider di Google
(che prende il nome di GoogleBot) scheda una pagina Web, le
assegna un voto: questo voto è
dato da una lunga equazione
matematica i cui termini sono
ovviamente coperti da segreto
e nessuno, a parte gli ideatori e
gli sviluppatori di Google, ne
conosce gli estremi.
A ciò che è dato sapere agli
esperti del settore, una voce in
capitolo molto “pesante” nel
calcolo del voto sono i link verso una determinata pagina
Web. La regola di base è: più
link da siti esterni portano verso le nostre pagine, maggiore
sarà il nostro Page Rank.
Un'altro valore che farà aumentare il nostro Page Rank
(PR) è il voto dato da Google alla pagina che ci linka. Detto in
parole semplici, se la nostra
Home page ha un PR di 5, se ci
linka una pagina con PR 7, è
possibile che il nostro Page
Rank salga.
Per aumentare quindi il voto
che Google assegna al nostro
sito, è necessario instaurare
degli scambi link tra noi e altri
siti. Meglio se il nome del collegamento ipertestuale conterrà
delle parole chiave: ad esempio se il nostro sito tratta di
modellismo statico, sarebbe
bene che i nostri siti partner ci
richiamassero con un codice
simile:
<a href=”http://www.indirizzo-deltuo-sito.com” title=”Modellismo
statico”>Modellismo statico</a>
Per maggiori informazioni
sui collegamenti ipertestuali,
fate riferimento a Pc Open di
Marzo a pagina 25 o alla relativa lezione sul CD.
Per conoscere quale sia il
Page Rank di un sito, è possibile scaricare e installare la Google Toolbar (http://toolbar.google.com), una banda che si aggiunge al browser Microsoft Internet Explorer e che riporta
appunto il Page Rank.
Questo comunque non è l'unico parametro che Google valuta per visualizzare i risultati
di una ricerca. Ne esistono altri
che tratteremo nel capitolo
“Ottimizzazione del proprio sito”.
Software per l'inserimento
dei siti Internet nei motori
di ricerca
Esistono software studiati
appositamente per gestire i
motori di ricerca. Questi programmi, nati all'inizio solo per
inserire il proprio sito nei motori di ricerca, sono ora delle
vere e proprie suite per capire
quanto stia funzionando il lavoro di segnalazione del proprio sito. È infatti possibile, oltre al classico inserimento automatico su più motori, rilevare il proprio ranking, e applica-
re quindi le migliori strategie
per risultare in testa ai risultati. Ma cosa è questo ranking?
È un termine inglese che indica la posizione con cui il nostro sito appare nei risultati di
una ricerca in base ad una determinata parola chiave.
Ad esempio, se il nostro sito
tratta di modellismo (magari
statico) e se digitando su Google i termini modellismo statico
il nostro sito apparisse in
180esima posizione, è ovvio
che il nostro ranking sarebbe
troppo basso e che sarebbe
ora di studiare qualche piccolo
trucco per migliorare la propria posizione.
Si ottengono vantaggi reali
nell'utilizzo di questi software?
È inutile negare che la strategia migliore sia quella di effettuare la segnalazione a mano. Questo perché potremo via
via ottimizzare le tecniche che
impareremo nel prosieguo dell'articolo in base al motore di
ricerca che ci troviamo di fronte. Un software con una segnalazione “selvaggia” del nostro
sito, non potrebbe ottenere lo
stesso risultato: avremo risparmiato tempo ma certo non
potremmo godere degli stessi
risultati.
Questi software infatti, vengono usati da quei WebMaster
che devono gestire decine di siti e devono quindi curarne la
loro posizione nei motori di ricerca. Con numeri simili, è meglio avere dei risultati minori
ma poter avere in ogni momento il polso dell'intera situazione
sotto mano: al massimo, i siti di
punta possono essere seguiti
in maniera manuale.
I software più diffusi
sul mercato
L'inserimento manuale del
proprio sito nelle directory e
motori di ricerca è obiettivamente la soluzione migliore per
ottenere i risultati più soddisfacenti.
Per chi non avesse comunque il tempo, le capacità oppure avesse in gestione diversi siti Web da inserire e ottimizzare
nei motori di ricerca, i software
creati ad hoc per il posizionamento, automatizzano il tutto e
sostituiscono completamente
il lavoro manuale del WebMaster.
Ne esistono di diversi, gratuiti o a pagamento, ognuno
con le proprie caratteristiche
8a lezione
interessanti. Quasi tutti questi
tool inoltre, forniscono strumenti avanzati quali ad esempio la verifica del posizionamento del sito tra centinaia di
motori di ricerca ed il miglioramento delle pagine (ad esempio Meta Tags e frasi chiave),
per ottenere i migliori risultati
nelle ricerche.
Un solo consiglio, non abusatene, anche perché potreste
ottenere l'effetto contrario, essere cancellati dai database
per uso illecito nelle segnalazioni.
AddWeb Web Site Promoter 6.0
http://www.addweb.it
Costo: 69 euro. Lingua: inglese
Uno dei più completi software di promozione Web disponibile sul mercato.
È possibile prelevare e provare AddWeb in versioni successivamente registrabili per
valutarne le potenti funzionalità. La versione trial è disponibile nel nostro CD Guida.
Ecco le funzionalità di maggior interesse di AddWeb Web
Site Promoter:
• Analizza le pagine per ottenere il migliore posizionamento
• Costruisce pagine Web ottimizzate per determinate parole
o frasi chiave.
• Inserisce il sito nei principali
motori di ricerca nazionali e
internazionali e in altre migliaia
risorse di ricerca.
• Monitorizza di continuo la
posizione acquisita nei motori
di ricerca.
• Monitorizza in maniera dettagliata l'accesso alle pagine
Web con SiteStatsLive.
• Aumenta la Link Popularity
con Linktrader.
SubmitWolf IT v5.0
www.trellian.com/it/submitwolfit
Prezzo: 165 dollari. Lingua: italiana
Pacchetto
software professionale, ma
di facile utilizzo, progettato
specificamente per la promozione di siti
Web. Ha anche una versione
gratuita con forti limitazioni rispetto alla release ufficiale, che
ha raggiunto 1.500.000 copie
scaricate. Si può quindi tranquillamente definire il prodotto
più diffuso attualmente sul
mercato.
Tra le caratteristiche principali segnaliamo:
• Registra la tua pagina ad oltre
1000 motori di ricerca in pochi
minuti.
• più di 280 motori Italiani.
• Aggiungi il tuo link a più di
500.000 pagine di link.
• Registra quanti URL vuoi senza costi addizionali.
• Registrazione Prioritaria a Pagamento in 48 ore su Altavista,
HotBot, Inktomi, LookSmart,
MSN, Overture, Slider, whatUseek e molti altri siti.
• Analizza come si classificano
le vostre pagine nei motori di
ricerca.
• Ottimizza la tua pagina Web
per migliorare il posizionamento.
• Creati specificamente per i
siti Web italiani, con l'enfasi sui
motori italiani.
regole di segnalazione del sito
(ad esempio su Google non effettuerà giornalmente la richiesta di inserimento, per non rischiare la cancellazione dell'URL per motivi di spamming).
Web Position Gold 2
www.webposition.com/product.htm
Prezzo: 149 dollari; Lingua: inglese
Active WebTraffic 5.0
www.myrasoft.com/activewebtraffic
Prezzo: 119 dollari. Lingua: inglese
Active WebTraffic è una
nuova generazione
di
software per
la promozione
di siti Web in
grado di sottoporre automaticamente il vostro sito a
300.000 motori di ricerca, directories, mezzi di informazione e liste di Web site. Myrasoft,
il produttore, certo della qualità del suo sistema di promozione, offre una versione trial.
Active WebTraffic ha ricevuto numerosi premi come il
software di promozione Web
più potente su Internet.
In breve le peculiarità del
programma:
• Facile da imparare ed utilizzare
• Possibilità di aggiungere i vostri motori di ricerca preferiti
al datababase dei presenti
• Ricerca automatica dei motori di ricerca.
• Report dettagliati sui risultati ottenuti.
• Imposta automaticamente le
Web Position
Gold 2 è uno dei più
apprezzati software
per l'indicizzaziosul CD
ne, l'ottimizzazione
delle pagine Web
Guida di
ed il controllo del
PC Open
posizionamento
dei siti sui motori di ricerca rispetto alle parole chiave selezionate. Il produttore di Web
Position Gold 2 offre agli utenti
anche una versione trial, (disponibile per l’installazione all’interno del CD guida allegato
alla rivista).
Le principali caratteristiche
del programma sono:
• Registrazione in più di 94 motori di ricerca internazionali
(compresi gli italiani Iol, Lycos,
MSN, SuperEva, Tiscali, Virgilio
e Yahoo Directory).
• Analisi delle pagine Web in
funzione del posizionamento.
• Creazione di pagine ottimizzate per il posizionamento.
• Download delle pagine sul
proprio server.
• Registrazione sui motori di ricerca.
• Analisi dettagliata del posizionamento.
3 Ottimizzazione del proprio sito
vvero come far sì che il
nostro sito sia strutturato
in maniera tale da piacere
ai motori di ricerca.
La prima regola è molto semplice: fare in modo che tutte le
pagine che dovranno figurare
nei risultati di una ricerca, siano linkate tra loro. Ciò non significa che le pagine devono
contenere un link verso tutti gli
altri documenti, ma è bene che
ogni pagina contenga un richiamo per tornare alla home
page e un menu che riporti almeno verso le sezioni princi-
O
86/88
pali. Dalla Home page poi, dovremo richiamare quelle sezioni che per noi sono più importanti. I bot dei motori di ricerca
infatti, sono in grado di passare
da un link ad un altro in maniera automatica ed è quindi essenziale che riescano a rintracciare e quindi schedare tutte le
pagine del nostro sito.
I trucchi degli esperti
Gli sviluppatori Web più
esperti, quando si trovano di
fronte alla creazione di siti Internet, seguono delle re- STRUTTURA
DEL SITO
Nell'immagine
abbiamo
abbozzato una
possibile
struttura del
sito: dalla
Home page è
possibile
raggiungere le
principali
sezioni. Ogni
pagina poi,
dovrà
contenere un
link per tornare
alla Home page
e un menu per
raggiungere le
altre sezioni
8a lezione
gole che saranno loro utili nel
momento in cui dovranno segnalare il sito ai vari motori di
ricerca.
<title>Modellismo statico: le foto
delle creazioni di Mario
Rossi<title>
Gli headings
I meta tags
Una buona abitudine, è quella di inserire in ogni pagina del
proprio sito i meta tags description e keywords. Questi
sono dei marcatori che raccolgono la descrizione del sito e le
parole chiavi. Tornando all'esempio del modellismo statico,
questi due marcatori andrebbero definiti come segue:
<meta name=”description”
content=”Le fotografie delle mie
realizzazioni di modellismo statico:
dalle moto da corsa alle auto di
Formula 1, passando per gli aerei
civili e i paesaggi.”>
<meta name=”keywords”
content=”modellismo, statico,
aerei, moto, corsa, corse, auto,
formula, uno, 1, paesaggio,
paesaggi, foto, fotografie”>
Per personalizzare questi
marcatori, è bene non superare
i 500 caratteri nel campo description e keywords.
Questi marcatori, seppur ormai ignorati da molti motori di
ricerca, è bene inserirli sempre
e comunque in tutte le pagine
del nostro sito. Nei casi in cui
ce ne fosse bisogno, potremmo
anche modificarli in base al
contenuto del documento.
Il marcatore <title>
Esistono poi altre regole di
primaria importanza. Ad esempio il tag <title>, che assegna un
titolo alla pagina e conseguentemente alla finestra del browser. All'interno di questo marcatore è bene definire poche
parole, ma che noi riteniamo di
primaria importanza. I termini
segnalati all'interno di questo
tag infatti, vengono presi in
considerazione con particolare
importanza. Ecco come:
Gli headings sono quei tag
<h#> dove # rappresenta una cifra da 1 a 6 e servono per gestire i titoli dei vari paragrafi. Per
chi li avesse dimenticati, può
fare riferimento a PC Open di
Febbraio e alle lezioni del CD.
I motori di ricerca danno
particolare importanza ai termini presenti in questi marcatori, perché spesso raccolgono
in poche parole l'intera pagina.
È per questo che è indispensabile inserirli e usarli al meglio.
I tags per la formattazione
Sono i cosidetti inline elements, analizzati su questo
stesso corso nel numero di
Febbraio. Molti di questi assumono una particolare importanza rispetto al resto del testo. Ad esempio, quando ci troviamo di fronte a una parola
chiave per il nostro sito, sarebbe bene enfatizzarla, cosicché i
motori di ricerca siano in grado
di capire che quel determinato
termine ha una rilevanza maggiore.
Ad esempio, in un sito di modellismo, sarebbe utile applicare il tag <b> (bold, ovvero
grassetto) o <em> (emphatized,
ovvero enfatizzato) alle parole
più importanti, come appunto
modellismo, statico, auto, moto, e così via. Attenzione ad applicare queste formattazioni
solo al testo che verrà stampato nella pagina, e non quindi alle parole presenti nei meta tags
appena analizzati, nel <title> e
in generale agli elementi che
non visualizzano nulla nel documento.
L'unico problema, è che ogni
qual volta venisse applicato un
tag per la formattazione, il te-
sto viene appunto formattato
seguendo le istruzioni assegnate.
Ad esempio, un testo simile:
Questo è il sito di
<b>modellismo</b> di <b>Mario
Rossi</b>, all'interno del quale
potrai trovare <b>foto</b> di ogni
tipo sulle mie <b>creazioni</b>:
<b>formula 1</b>, <b>moto da
corsa</b>, <b>aerei civili</b>
ecc.
Verrebbe stampato a video
come segue:
Questo è il sito di modellismo di Mario Rossi, all'interno
del quale potrai trovare foto di
ogni tipo sulle mie creazioni:
formula 1, moto da corsa, aerei civili ecc.
Onde evitare il continuo accumularsi di testo in grassetto,
è possibile applicare un piccolo trucco. Dove realmente non
si vuole aumentare il peso di
una parola ma la si vuole comunque rendere più importante per i motori di ricerca, possiamo racchiuderla tra i tag
<strong> e </strong> e poi applicarci un foglio di stile che annulli la formattazione, ma non
intacchi l'importanza datagli
per i motori di ricerca. Ecco un
esempio molto semplice:
<html>
<head>
<title>Modellismo statico: le foto
delle creazioni di Mario
Rossi</title>
<meta name=”description”
content=”Le fotografie delle mie
realizzazioni di modellismo statico:
dalle moto da corsa alle auto di
Formula 1, passando per gli aerei
civili e i paesaggi.”>
<meta name=”keywords”
content=”modellismo, statico,
aerei, moto, corsa, corse, auto,
formula, uno, 1, paesaggio,
paesaggi, foto, fotografie”>
<style type=”text/css”>
<!-strong {
font-weight: normal;
}
-->
</style>
</head>
<body>
Questo è il sito di
<b>modellismo</b> di <b>Mario
Rossi</b>, all'interno del quale
potrai trovare
<strong>foto</strong> di ogni tipo
sulle mie
<strong>creazioni</strong>:
<strong>formula 1</strong>,
<strong>moto da corsa</strong>,
<strong>aerei civili</strong> ecc.
</body>
</html>
Il risultato è pubblicato nell'immagine in basso. L'unica
raccomandazione, è quella di
non abusare del trucco: i motori di ricerca più avanzati potrebbero rilevare la continua
apertura e chiusura del tag
<strong> e rilevare questo espediente come un trucco per falsare i suoi risultati. Insomma,
facciamo i furbi ma facciamolo
bene.
Dall'immagine è possibile vedere che il foglio di stile associato alla pagina ha
annullato la formattazione del tag <strong>, senza cancellare fisicamente il marcatore.
In questo modo, i motori di ricerca interpreteranno quelle parole come dei termini con
maggiore rilevanza rispetto al resto del testo
4 Cross promotion: ovvero pubblicità gratuita
uando abbiamo parlato
del Page Rank di Google, è
stato spiegato che è importante avere dei link verso le
proprie pagine. Un buon metodo per iniziare è quello di instaurare uno scambio link con
piccoli siti che trattano lo stesso argomento. In questo modo,
Q
87/88
gli utenti che visitano un determinato sito, potranno visitare
un altro sito in tema: il vantaggio è ovvio... quando i due siti
hanno un numero di utenti pressocché simile, entrambi potranno aumentare gli accessi.
Cosa non importante poi,
quando lo spider dei motori di
ricerca passerà da uno dei due
siti, automaticamente schederà anche l'altro, il che non fa
altro che aumentare i vantaggi.
Esistono poi dei servizi che
mettono a disposizione dei sistemi per aumentare gli accessi
di un sito: questi sono gli scambi banner, scambi link e così via.
Ce ne sono davvero di tutti i gusti e Internet, in questo senso, è
una fonte inesauribile di informazioni. Maggiori informazioni
su questi sistemi di promozione
sono reperibili agli indirizzi:
http://www.risorse.net/gratis
http://www.tuttogratis.it
http://www.freeonline.it
8a lezione
5 Per chi vuole approfondire: i libri consigliati
Risorse sull'argomento
Un libro per chi vuole investire nella
pubblicità e pensa che Internet possa
ancora produrre risultati. Una storia
della comunicazione su Internet
abbinata a dati oggettivi e
suggerimenti per creare un mix
intelligente
Hops, 399 pagine, 19,90 euro
Uno dei più famosi esperti italiani di
promozione di siti attraverso i motori
di ricerca, spiega le strategie e le
regole fondamentali per muoversi in
questo ambito. Una buona lettura
per affacciarsi a questo mondo.
Apogeo, 159 pagine, 13,43 euro
Saldatura tra management e
marketing nella conduzione di un sito
Web aziendale. L’autore propone un
approccio molto sistematico alla
valutazione di efficienza del proprio
sito e alla sua gestione.
Apogeo, 346 pagine, 21,69 euro
Come puntare ai profitti nella
creazione di un sito, visto da un’ottica
americana. Il testo è una guida alle
attività essenziali di Web marketing,
depurate dai fallimenti e orientate su
casi che hanno raggiunto profittabilità.
Apogeo, 334 pagine, 21,69 euro
La promozione di un sito Web è un argomento caro a molti siti e come
avevamo anticipato, in molti si sono concentrati su questo
argomento. Grazie a ciò, le risorse disponibili sono davvero tante.
Iniziamo con un libro dal titolo Guadagnare con Internet
edito da Jackson Libri e scritto da Luigi Manzo, responsabile del sito
Internet Manuali.net. All'interno del testo, si trovano poco più di 150
pagine con le principali tecniche per la promozione di un sito Internet
e perché no, i servizi che permettono di guadagnare qualche euro
facendo pubblicità.
Su Internet invece, oltre ai link già segnalati, possiamo riportare
qualche sito specializzato sui motori di ricerca, come l'ottimo
Submission (http://www.submission.it),
lo storico MotoriDiRicerca (http://www.motoridiricerca.it)
e il giovane MotoRicerca (http://www.motoricerca.info).
Un po’ di netiquette
All'interno dell'articolo, quando abbiamo presentato le pratiche di
promozione da fare e da non fare, abbiamo accennato agli errori in
cui può incappare chi inizia a far pubblicità al proprio sito Web.
Innanzitutto è fondamentale guadagnarsi il rispetto degli utenti: è
importante quindi evitare accuratamente quelle pratiche che i
navigatori ravvisano come una mancanza di rispetto nei loro confronti.
Quindi attenzione allo spam.
Una volta che abbiamo aperto il nostro sito Internet, nessuno ci vieta
di scrivere un bel messaggio di posta elettronica per avvisare i nostri
amici più cari del lavoro appena svolto.
Attenzione però a segnalare la nascita del sito solo ed
esclusivamente ai nostri amici e non a tutte quelle persone che
abbiamo in rubrica o con le quali magari abbiamo appena scambiato
due chiacchiere e delle quali abbiamo il loro indirizzo di posta senza
neanche ricordarci il perché.
Quando invece andremo ad attivare i servizi di scambio banner,
scambi link e così via, attenzione a distinguere la pubblicità dai
contenuti del sito e ancora più importante, non inondare le pagine di
pubblicità: massimo due banner a pagina (uno sopra e uno in fondo)
e possibilmente, evitate tutti quei servizi che vi aprono nuove
finestre del browser in maniera automatica. I visitatori vi
ringrazieranno.
In esclusiva per i lettori: dominio scontatissimo e uno spazio di hosting gratis!
Avete trovato interessante il nostro corso e volete prepararvi a mettere alla prova le competenze acquisite? Per farlo
avrete bisogno di uno spazio vostro sul Web, dove potervi esercitare nello sviluppo di siti campione su server reali.
Ecco quindi la nostra iniziativa, che nasce
in collaborazione con Register.it, il più
importante registrar in Italia: nei prossimi
mesi avrete a disposizione gratuitamente
per un mese l’uso di uno spazio di hosting
dedicato, oltre ad una serie di altri servizi
supplementari.
In più, dal momento che per poter usare
lo spazio di hosting è necessario disporre
di un dominio, i lettori di PC Open in
esclusiva potranno acquistare da subito
88/88
il proprio dominio presso
Register ad un prezzo
scontatissimo (40% in meno,
lo sconto più alto oggi disponibile
sul mercato).
Il metodo è semplicissimo:
dovrete collegarvi al sito Internet
www.register.it/pcopen,
inserire il codice seguente: 2c7A4s
nel box all’interno della pagina
e a questo punto verrete inviati alla home
page del sito di Register, da dove le
registrazioni verranno scontate in automatico
del 40%.
Le registrazioni saranno comprensive di tutto
quanto è indicato all’indirizzo
http://we.register.it
/domains/allincluded.html.
Per il servizio di supporto inviare le e-mail
all’indirizzo [email protected]
Scarica