Progettazione e realizzazione di un portale per la

annuncio pubblicitario
Università Politecnica delle Marche
Dipartimento di Ingegneria Informatica,
Gestionale e dell’Automazione
Corso di Laurea in Ingegneria Informatica e dell’Automazione
Progettazione e realizzazione
di un portale per la gestione
di vetrine aziendali
Relatore:
Candidato:
Prof. Alessandro Cucchiarelli
Massimo Lupi
Anno accademico 2004/2005
INDICE
1. INTRODUZIONE
2. PANORAMICA ATTUALE SU INTERNET
2.1 L’E-COMMERCE E LA PUBBLICITÀ ON-LINE
2.2 I PORTALI
2.2.1 DEFINIZIONE E TIPOLOGIA DEI PORTALI
2.2.2 STRUTTURA E CARATTERISTICA DEI PORTALI
2.2.3 SCOPO DEI PORTALI
2.2.4 VALENZA ECONOMICA DEI PORTALI
2.2.5 IL RUOLO STRATEGICO DELL’INTERFACCIA
2.2.6 I MAGGIORI PORTALI ITALIANI
2.2.7 CONSIDERAZIONI FINALI
2.3 LE TECNOLOGIE PIÙ UTILIZZATE
2.3.1 HTML E JAVASCRIPT
2.3.2 PHP
2.3.3 MYSQL
2.4 UNO SGUARDO AL FUTURO: INTERNET 2
3. PROGETTAZIONE E REALIZZAZIONE DEL PORTALE
3.1 INTRODUZIONE
3.2 LE SPECIFICHE
3.3 LA PROGETTAZIONE
3.3.1 IL DATABASE
3.3.2 ALCUNE QUERY
3.3.3 GLI STRUMENTI UTILIZZATI
3.4 LA REALIZZAZIONE
3.4.1 LA HOMEPAGE
3.4.2 IL MOTORE DI RICERCA INTERNO
3.4.3 L’AREA UTENTE
3.4.4 LA GESTIONE DEI BANNER
3.4.5 LE VETRINE DELLE OFFERTE E DELL’USATO
3.4.6 L’AREA AMMINISTRATORE
3.5 LA FASE DI TEST
3.6 LA PUBBLICAZIONE
4. CONCLUSIONI
4.1 PUBBLICITÀ DEL PORTALE
4.2 CONSIDERAZIONI FINALI
5. ALLEGATI
5.1 LE SCHERMATE PRINCIPALI DEL PORTALE
6. BIBLIOGRAFIA
7. GLOSSARIO
3
4
4
6
8
10
13
14
16
19
22
24
25
30
33
39
42
42
43
47
47
51
57
58
59
61
64
69
70
73
78
79
80
80
83
85
85
96
98
-2-
Se avessi creato il Web inc. avrei solo dato vita ad un nuovo standard
e la diffusione universale del WWW non si sarebbe mai verificata.
Perché esista qualcosa come il Web è necessario che tutto
il sistema si basi su standard aperti, pubblici.
Tim Berners-Lee
1. INTRODUZIONE
Il lavoro che mi appresto a svolgere è, come ben si evince dal titolo dell’elaborato, di
descrivere lo studio preliminare che viene fatto per realizzare un portale web, nello
specifico un sito per la gestione delle vetrine aziendali, e di descrivere come queste
conoscenze siano poi tradotte in qualcosa di concreto.
Nella prima parte della tesi, che potremmo definire come introduttiva al progetto,
sarà descritta la situazione attuale di internet e del commercio elettronico. Saranno
presentati i portali, che, come verrà meglio spiegato più avanti, non sono altro che
dei siti internet che offrono all’utente risorse e criteri di navigazione, fungendo da
punto di accesso privilegiato della rete e che hanno come scopo principale quello di
far guadagnare il più possibile i loro proprietari, iniziando da una definizione più
accurata fino ad arrivare ad illustrare in dettaglio le ragioni per cui essi vengono
creati. Verranno presentate le tecnologie più utilizzate nella realizzazione degli
stessi, e sarà brevemente accennata l’evoluzione che è in atto nella rete globale. Nella
seconda parte sarà presentato in ogni dettaglio il progetto, con un’accurata
descrizione delle specifiche e di come sono state messe in atto, fino ad arrivare alla
pubblicazione on-line del lavoro terminato. La terza parte conterrà le conclusioni a
cui arriveremo grazie a questo progetto, seguita da una galleria di schermate prese a
progetto ultimato, una bibliografia dei libri e siti consultati per redigere questo
elaborato ed un glossario dei termini più difficili.
-3-
Negli affari non ci sono amici, soltanto soci.
Alexandre Dumas – Il conte di Montecristo
2. PANORAMICA ATTUALE SU INTERNET
2.1 L’E-COMMERCE E LA PUBBLICITÀ ON-LINE
Prima della proliferazione di internet se volevo comprare un libro, un disco, un capo
di abbigliamento non avevo alternative, prendere la macchina e girare per i negozi
fino a quando non lo avessi trovato. Ora non è più così perché la rete ci offre il più
vasto mercato globale mai esistito, ho a disposizione un’ampia gamma di cataloghi
contenenti così tanti articoli, sia nuovi che usati, che è praticamente impossibile non
trovare ciò che si cerca e le modalità di acquisto sono molto semplici e i prezzi sono
abbastanza contenuti. Naturalmente gli acquisti via rete rappresentano l’alternativa
solo per alcune categorie di merce, ma, in alcuni settori, la comodità rappresentata
per l’utente è indubbia.
Qualunque transazione economica è una transazione informativa perché presuppone
l’acquisto e lo scambio di informazioni, in questo scenario internet si è trovato ad
essere il mezzo più adatto per ospitarle visto che è uno strumento estremamente
efficiente per la trasmissione e la condivisione a distanza di grandi quantità di
informazione. Riflettendo sulle transazioni commerciali esistenti ci accorgiamo che
possiamo dividerle in due grandi categorie: quelle che possono integralmente
risolversi in uno scambio di informazioni e quelle che richiedono sia uno scambio di
informazioni sia uno scambio di oggetti fisici.
Nel primo caso internet può costituire il vero e proprio spazio della transazione,
come avviene nel caso dell’internet banking o del trading on line: se desidero
consultare un estratto conto, acquistare delle azioni, posso farlo semplicemente
spostando informazione, senza che un reale spostamento di oggetti fisici avvenga in
quel momento.
Ma anche nel secondo caso internet può avere una parte molto importante fornendo
lo spazio nella quale avviene lo scambio di informazione che accompagna la
transazione fisica. La discussione del prezzo, la decisione delle modalità di
pagamento e di come scambiarsi la merce sono tutte operazioni possibili attraverso la
rete, mentre il trasferimento fisico del bene acquistato dovrà avvenire ovviamente,
-4-
per usare la fortunata metafora di Nicholas Negroponte, nel mondo degli atomi e non
in quella dei bit.
Se pensiamo ad una qualsiasi transazione economica che avviene nella rete possiamo
pensare che i protagonisti sono tre: chi compra, chi vende e il servizio o portale che li
mette in contatto. A meno che non si tratti esclusivamente di una transazione
informativa internet è di fatto lo strumento che mette in contatto i due soggetti
interessati, rappresentando così solamente un canale comunicativo. Ma se così fosse
sarebbe impossibile che i portali possano pensare a guadagni astronomici come
compenso per i servizi offerti, non sarebbe molto più logico dello sperare che
un’azienda telefonica possa arricchirsi mettendo una “tassa” specifica su ogni affare
concluso per telefono.
Fortunatamente per le previsioni economiche del settore i servizi in rete non offrono
solamente un canale di comunicazione ma offrono anche un servizio dotato di valore
aggiunto specificatamente informativo, come ad esempio la ricerca delle migliori
ditte per il prodotto di cui necessitiamo e i feedback lasciati dagli utenti che già
hanno avuto transazioni con le ditte in questione. Il valore di questi servizi è difficile
da stabilire, sia perché lo sviluppo e la diffusione sono ancora in uno stato
embrionale, sia perché è sicuramente più facile dare valore ad un bene fisico che non
ad un bene puramente informativo. Ma è sicuramente in quest’ambito che i servizi di
intermediazione offerti dalla rete dovranno muoversi se vorranno soddisfare almeno
in parte le aspettative di tutti coloro che hanno investito parecchio denaro nella
aziende del settore.
Ed è per questo che l’utente finale, a cui la rete fornisce alta libertà di movimento e
un abbattimento deciso dei costi di intermediazione tradizionalmente associati al
settore della vendita, può permettersi di pagare una quota di ricarico sulla
intermediazione offerta dalla rete ed è sempre lui il destinatario naturale delle
campagne pubblicitarie in rete, una delle poche fonti di ricavo in un mondo, quello di
internet, le cui molte promesse di redditività sono state raramente mantenute.
-5-
Ma la questione è raccogliere i particolari.
Dammi i tuoi particolari e, senza spostarmi dalla poltrona, ti darò l’eccellente parere di un esperto.
Ma correre qua e là, interrogare la polizia ferroviaria,stendermi per terra con una lente…
non è il mio métier. No, sei tu quello che può chiarire la faccenda.
Conan Doyle – L’ultimo saluto di Sherlock Holmes
2.2 I PORTALI
Il termine portale è ormai divenuto di uso comune per tutti coloro che fanno uso
abituale della rete, e tutti i maggiori protagonisti italiani delle telecomunicazioni, dei
media e della tecnologia tendono ormai a definire il proprio sito come un portale.
Le origini del termine portale risale al 1997 quando ai primi protagonisti dell’allora
nascente Web economy si poneva un interrogativo di non facile soluzione, come
sfruttare quel caotico mondo che è internet. Compresero subito che il modello di
business da seguire fosse un modello già ampliamente affermato nel mondo dei mass
media: il modello pubblicitario, offrire qualsiasi tipo di servizio gratuitamente,
finanziandosi con gli introiti derivanti dagli spazi pubblicitari offerti. L’idea era in
astratto molto semplice, creare un sito che attirasse quotidianamente milioni di
visitatori e inserirvi dei messaggi pubblicitari il cui valore sarebbe stato tanto più
elevato quanto più numerosi sarebbero stati i visitatori.
Fu allora che si pose il problema su cosa inserire in questo portale per attrarre il
maggior numero di utenti possibile, e si
trattava di un problema non indifferente
vista la sterminata mole di informazioni e
servizi già presenti nella rete. Già in
Uno dei motori di ricerca più usati al Mondo.
quegli anni era ben noto che i siti che
riscuotevano maggiori visite erano i siti che permettevano di cercare e organizzare le
informazioni presenti all’interno della rete. Il web, infatti, è uno strumento
informativo non strutturato, se non caotico: è vero che al suo interno c’è di tutto, ma
è altrettanto vero che trovare ciò che ci interessa è un’impresa molto complicata.
Oltre a questi, un altro genere di siti molto visitato erano i siti dei provider, ovvero
dei fornitori di accesso alla rete. Offrendo all’utente una connessione, in genere
gratuita, facevano scaricare un programma che configurava il loro browser a puntare
automaticamente al loro sito ogni qual volta si connettevano, ottenendo così una gran
mole di traffico automatico, in più offrendo servizi come la posta via web, accesso a
-6-
banche dati o altro, si assicuravano che gli utenti visitassero il proprio sito con un
certa frequenza.
La posta via web offerta da Libero
Una terza tipologia di siti web che riscuoteva parecchio successo era i siti che
fornivano informazioni giornalistiche e notiziari, sia di carattere generale, sia su temi
e argomenti più specifici. Sebbene questi servizi offerti a pagamento non avevano
praticamente riscosso successo, attiravano parecchio l’attenzione dell’utente quando
erano gratuiti soprattutto se realizzati da fonti considerati attendibili, come le testate
giornalistiche tradizionali o della stampa e della televisione.
Infine, un gran numero di contatti era realizzato da quei siti facente parte delle
cosiddette “comunità virtuali”, ovvero quei siti che offrivano tutti quegli strumenti
come chat, newsgroup, forum, mailing list e pubblicazione di pagine personali
riuscendo, oltre ad ottenere migliaia di visitatori, a creare un rapporto stabile e
duraturo con essi.
Il sito di informazioni per antonomasia:il sito dell’ANSA
-7-
Il modello editoriale del portale ha origine proprio da tutto questo, sia dal punto di
vista storico sia dal punto di vista strutturale. Infatti, posti di fronte all’esigenza di
creare un prodotto editoriale
on-line
che
riuscisse
ad
attirare il maggior numero di
utenti per un periodo duraturo
e continuato, e che dunque
potesse essere appetibile per il
mercato pubblicitario, alcuni
La schermata di una chat
dei pionieri economici della
rete pensarono di integrare in un unico sito le funzioni di motore di ricerca, sito di
informazione e contenuti, comunità virtuale e sito di servizi avanzati, affiancandovi
un servizio di accesso alla rete. Un tale prodotto editoriale sarebbe diventato un
punto di accesso preferenziale e un punto di riferimento costante per gli utenti del
web durante le loro navigazioni: un portale, appunto.
I primi a muoversi in questa direzione furono i motori di ricerca che già disponevano
dell’elemento principale di un portale, e che già godevano di un alto livello di
traffico. Ma ben presto sull’arena dei portali si affacciarono altri soggetti, dai
provider di accesso alle grandi aziende dell’industria informatica e dei media.
2.2.1 DEFINIZIONE E TIPOLOGIA DEI PORTALI
Tutto quello che è stato introdotto nel paragrafo precedente ci permette, finalmente,
di dare una definizione di portale. Possiamo dire che un portale è un prodotto
editoriale on-line che svolge la funzione di punto privilegiato di accesso al Web per
gli utenti e che fornisce loro risorse informative, servizi di comunicazione personale,
e strumenti con cui localizzare e raggiungere i contenuti e i servizi on-line di cui
hanno comunemente bisogno.
Ma è stata proprio la larga diffusione a creare sia un arricchimento che una
diversificazione dal modello originale ed oggi, sotto questo nome, si raccolgono una
vasta tipologia di siti e servizi on-line, le cui caratteristiche sono a volte
completamente differenti dalla definizione data in precedenza. L’unico punto fermo è
che il portale, più che da un certo genere di contenuti o di un campo di interessi
-8-
circoscritto e riconoscibile, viene definito soprattutto dal suo obiettivo primario:
diventare il punto di partenza di ogni navigazione, offrendo, più che informazioni su
un argomento specifico, tutta una serie di servizi costantemente aggiornati che siano
interessanti per la più vasta gamma di utenti possibili. Tutto quello che è stato detto
finora, però, non riguarda tutti i portali, ma solo quelli orizzontali. Esistono anche
una miriade di portali verticali, che hanno comunque funzioni e struttura molto
simile a quelli orizzontali, ma sono completamente differenti.
I portali orizzontali sono stati creati per qualsiasi utente riportando notizie di tipo
generalista, presentando strumenti di ricerca, servizi e contenuti ad ampio spettro
tematico. Per citarne qualcuno, in Italia i più famosi sono Virgilio, Tiscali, Supereva,
Libero, ecc…
Questi grandi portali all’inizio avevano la maggior parte dei loro servizi costituiti da
risorse distribuite sulla rete, risorse che mettevano a disposizione tramite una serie di
finestre che richiamavano il sito sul quale si affacciavano, ma l’obbiettivo di
aumentare il tempo di stazionamento dell’utente all’interno delle loro pagine li ha
portati a diventare direttamente loro i fornitori di contenuti, in modo da poter anche
aumentare le pagine e di conseguenza gli spazi pubblicitari. Ed è per questo che i
grandi portali orizzontali sono diventati vere e proprie città virtuali che forniscono
all’utente tutto ciò di cui ha bisogno piuttosto che fornirgli immediati punti di
accesso a risorse esterne.
Per contro i portali verticali, o portali tematici, invece di essere aperti a 360 gradi su
tutto lo scibile, focalizzano l’offerta su settori specifici, inseguendo i territori più
disparati: sport, cinema, informatica, commercio, ecc. e rivolti ad un ben determinato
tipo di utente.
In questi ultimi anni si sono diffusi sempre di più, perché essendo indirizzati ad
un’utenza fortemente caratterizzata conoscono con precisione gli stili di vita e i
bisogni che necessitano coloro che lo utilizzeranno. Anche se bisogna stare attenti a
tutti quei siti che si definiscono portali, ma in verità sono solo pagine tematiche che
non presentano nessuna delle caratteristiche che un portale deve avere.
-9-
2.2.2 STRUTTURA E CARATTERISTICA DEI PORTALI
Il numero di portali che si contendono l’attenzione degli utenti di internet è vasto, e
analizzandone la complessa architettura organizzativa si possono evidenziare degli
elementi ricorrenti. Tali elementi sono:
•
strumenti di ricerca
•
canali
•
risorse di contenuto e attualità informativa
•
servizi orientati al consumatore
•
strumenti di comunicazione e utilità personale
•
sistemi di accesso multicanale
•
sistemi di personalizzazione.
Gli strumenti di ricerca sono la parte principale di ogni portale, sia orizzontale che
verticale. Possono essere divisi in due categorie: motore di ricerca e cataloghi
sistematici. I primi permettono una ricerca su tutto il web per una parola o una
combinazione di parole inserite in un apposito campo, restituendo un elenco dei siti
che la contengono, con tutti i vantaggi e gli svantaggi che un sistema completamente
automatizzato può comportare, mentre i secondi lavorano su una sezione molto più
ristretta di siti ma la valutazione della pertinenza o meno di una determinata
informazione non sarà più meccanica, bensì il risultato di una decisione umana.
Le directory di Libero
I canali sono delle strutture intermedie tra le tradizionali directory e i contenuti veri e
propri. Ogni portale ne adotta una propria articolazione tematica e vi inserisce
elementi e contenuti diversi per questo possono essere considerati come guide
ragionate dedicate ad ambiti tematici differenti (come lavoro, moda, sport, cinema,
- 10 -
televisione, ecc.) che associano una selezione di siti e risorse esterne a recensioni,
notizie e articoli di approfondimento.
I canali di Libero
Le risorse di contenuto e attualità informativa possono essere a loro volta divise
nelle seguenti tipologie:
•
notizie giornalistiche
•
contenuti verticali
•
intrattenimento
•
informazioni di servizio.
Le notizie giornalistiche sono in genere tratte dai siti dei quotidiani in rete e in un
portale orizzontale sono, in genere, divise allo stesso modo in cui vengono adottate
dalle testate (attualità, cronaca, politica, esteri, economia e finanza, sport). Vengono
aggiornate continuamente ed in genere è presente anche una finestra che riporta le
notizie dell’ultima ora.
I contenuti verticali sono le notizie riguardanti precise tematiche, più o meno
approfondite, da portale a portale. I temi sono vastissimi: musica, sport, cinema, arte,
ecc.
Nella
categoria
dedicata
all’intrattenimento,
troviamo tutte quelle applicazioni interattive
spesso usate per proporre giochi on-line oppure
quegli elementi dal contenuto multimediale basati
su tecnologie di streaming video e audio come
Web radio, videoclip, trailer cinematografici e
tantissimi altri.
Infine, nelle informazioni di servizio, rientrano
La web radio di RDS
- 11 -
tutte quelle risorse ibride tra i contenuti veri e propri e i servizi come le previsioni
meteorologiche, l’oroscopo o gli annunci su manifestazioni e eventi culturali che si
svolgono nella città di residenza degli utenti, la programmazione cinematografica e
televisiva, ecc.
I servizi orientati al consumatore sono tutti quegli strumenti di utilità
specificatamente rivolti all’utente-consumatore. I principali sono i servizi di ecommerce, ma rientrano, sempre in questa categoria, anche i servizi di fornitura di
accesso alla rete.
Gli strumenti di comunicazione e utilità
personale sono tutti quei servizi che
permettono all’utente di comunicare in
maniera sincrona o asincrona con altri
utenti interni ed esterni al portale.
Rientrano in questa categoria le caselle di
posta
elettronica,
sia
consultabili
attraverso i tradizionali client autonomi
(Outlook, Eudora, Mozilla, ecc.) sia
attraverso i webmail, che permettono di
Modulo per inviare SMS dal sito della Vodafone
accedere alla posta direttamente dal web, lo spazio gratuito per la pubblicazioni di
siti personali, servizi di annunci personali e invio di cartoline, forum e gruppi di
discussione sia pubblici che privati, strumenti di interazione in tempo reale come le
chat, i software di instant messaging e in alcuni casi i sistemi di videoconferenza e
strumenti per inviare SMS e MMS tramite il web.
I sistemi di accesso multicanale sono quei sistemi che permettono la distribuzione di
contenuti digitali per più piattaforme di accesso, come telefoni cellulari, grazie alla
tecnologia WAP o semplici pagine html visualizzabili dai telefonini GPRS o UMTS.
Con la diffusione delle tecnologie su fibra ottica e wireless questi elementi
assumeranno, in un portale, importanza sempre maggiore.
I sistemi di personalizzazione sono uno degli aspetti più importanti di un portale
orizzontale perché dopo aver effettuato una registrazione, in genere gratuita,
permettono di personalizzare l’interfaccia del portale definendo quali sono i servizi
di maggior interesse. Si va da una semplice personalizzazione di servizi fino al
- 12 -
controllo dei contenuti e del layout e della grafica della pagina. Naturalmente questa
flessibilità presenta un costo rappresentato dalle informazioni personali date al
proprietario del portale sia esplicitamente, all’atto della registrazione, sia
implicitamente, mediante l’analisi del comportamento dell’utente all’interno del
portale, dunque, è sempre bene leggere con attenzione le norme di tutela della
privacy adottate dal sito in cui ci registriamo per essere consci dell’uso che
potrebbero fare dei nostri dati.
Tutto questo vale, naturalmente, per i portali generalisti. Diverso è il caso dei portali
verticali, dove la differenziazione di offerti e contenuti possono variare anche in
maniera radicale, a seconda dei temi di cui il portale si occupa.
2.2.3 SCOPO DEI PORTALI
Ogni portale ha lo scopo di comunicarci qualcosa e, come ogni discorso ha le sue
regole per avere un senso compiuto, anche la costruzione di un sito web deve seguire
certe regole per poter raggiungere le sue funzioni. Per poter analizzare queste regole,
dobbiamo in primis capire che gli scopi che regolano la progettazione e la
costruzione di un portale sono duplici: vuole sì comunicare dei contenuti, ma ciò che
più gli interessa è catturare l’attenzione dell’utente per il tempo più lungo possibile,
convogliandolo verso destinazioni specifiche, quelle che possono essere,
direttamente o indirettamente, valorizzate dal punto di vista economico. Ed è per
questo che la scelta dei contenuti e la loro disposizione sono determinati con molta
attenzione.
In secondo luogo, anche se internet e l’ipertesto sono un genere di comunicazione
aperta, il portale cerca, in ogni modo, di tenere un discorso chiuso in se stesso.
Poiché l’obiettivo di chi costruisce i portali è mantenere il controllo sull’attenzione
degli utenti, i collegamenti realizzati verso risorse interne del portale (o quelle ad
esso collegate da accordi commerciali) sono in numero prevalente e maggiormente
evidenziati rispetto ai collegamenti esterni. E’ inutile affermare che la struttura
ipertestuale del web permette completa autonomia all’utente poiché può scegliere se
e quali collegamenti seguire, se si pensa che i collegamenti sono stati in ogni caso
previsti da chi ha progettato la pagina web ed è molto semplice evidenziarne alcuni e
rendere meno fruibili gli altri.
- 13 -
Un altro esempio sono le sezioni del portale chiamate directory e i canali, che
dovrebbero essere uno strumento di accesso esaustivo e neutrale all’universo
informativo del web, mentre sono, in realtà, il frutto di una scelta ben studiata in
precedenza rispecchiando una visione della rete che non è assolutamente oggettiva.
Tutto questo, e tutto quello di cui si potrebbe ancora parlare, serve a sottolineare
come le scelte comunicative di un portale sono ampliamente basate su strategie di
marketing, atte a far guadagnare il più possibile i creatori del portale.
2.2.4 VALENZA ECONOMICA DEI PORTALI
Appurato che lo scopo principale dei portali è di
far guadagnare i creatori il più possibile,
analizziamo ora quali sono i modi in cui questo
avviene. Il modello di business maggiormente
diffuso nel web, almeno fino ad oggi, è quello
della vendita di spazi pubblicitari e della
fidelizzazione di un gruppo di utenti più vasto
possibile. Tra tutti i metodi conosciuti di
pubblicità on-line il più diffuso è, sicuramente,
Esempio di finestra di pop-up
il classico banner che non è altro che un’immagine fissa, o in movimento, collocata
in punti strategici della pagina web e collegata direttamente al sito dell’azienda
inserzionista. Oltre a questo esistono vari tipi di pubblicità invasiva come pagine o
finestre di pop-up che vengono aperte automaticamente quando l’utente seleziona un
link, prima di arrivare alla vera destinazione del link stesso.
La valutazione di tutti questi tipi di pubblicità avviene in molti modi, quella più
diffusa si basa sul numero di esposizioni (exposure) del banner, cioè dal numero di
volte che la pagina contenente la pubblicità viene scaricata dall’utente. Tuttavia
l’efficacia di questo metodo di valutazione è parecchio discutibile perché a differenza
dello spettatore televisivo, l’utente di un sito web ha un ruolo molto attivo e opera
una forte selezione delle informazioni veicolate da una schermata. Secondo alcune
ricerche la maggior parte degli utenti è solita concentrarsi direttamente sulle
informazioni che gli interessano, ed è attratta più dal testo che dalle immagini.
Naturalmente l’efficacia di un banner è tanto maggiore quanto ciò che reclamizza è
- 14 -
vicino al contesto in cui è presentato, ad esempio, la pubblicità di un libro attrae
sicuramente più attenzione all’interno di una pagina culturale che all’interno di una
pagina di sport.
Banner pubblicitari nella homepage di Tiscali
Un altro metodo di valutazione di queste forme di pubblicità, è la cosiddetta clickthrough che consiste nel calcolare il numero di volte che un banner viene
effettivamente cliccato dall’utente per accedere al sito dell’inserzionista.
Esistono anche altre tecniche basate sull’effettiva transazione commerciale da parte
di un utente che arriva ad un sito tramite il banner.
Nonostante si sia cercato in tutti i modi di aumentare l’efficacia operativa dei banner
e di sperimentare nuovi servizi di vendita degli spazi, il clima di entusiasmo iniziale
della pubblicità nel web si è sempre più raffreddato, rimanendo comunque uno degli
elementi fondamentali dell’economia della rete.
Questo raffreddamento ha spinto i portali a buttarsi su un altro tipo di business: il
commercio elettronico, una frontiera a cui tutti guardano con molta fiducia. Per
questo la maggior parte dei portali, si è dotata di servizi di e-commerce, sviluppati
internamente o in accordo con altri siti specializzati. L’unione di contenuti, servizi, e
distribuzione potrebbe rivelarsi una carta vincente: un qualsiasi utente che sta
navigando in un canale dedicato ai viaggi può facilmente essere invogliato
all’acquisto di una vacanza in qualche esotica isola tropicale, magari a prezzi scontati
perché utente registrato del portale.
Un’altra fonte di reddito per i portali consiste nella vendita di servizi e contenuti ad
alto valore aggiunto. Se è vero che il tentativo di vendere contenuti informativi da
parte di testate giornalistiche, solo qualche anno fa, si è rivelato completamente
fallimentare, è anche vero che gli unici esempi di successo sono stati quelli in cui si
- 15 -
vendevano contenuti altamente qualificati e rivolti a fasce di utenza ben definite. E la
sempre più larga diffusione di internet a larga banda permetterà di fornire contenuti
audio e soprattutto video di altissima qualità, permettendo la nascita di un mercato in
grado di generare utili.
E se tutto questo porterà ad una inevitabile diminuzione dei portali orizzontali,
poiché l’offerta in questo settore è sovrabbondante e il sempre maggior grado di
conoscenza della rete da parte degli utenti renderà alcuni dei loro servizi obsoleti,
avremo sicuramente una maggiore diffusione di quei portali verticali che saranno in
grado di offrire contenuti e risorse di alto livello qualitativo e sapranno collocarsi con
sufficiente rapidità e intelligenza nel mercato dei nuovi servizi di rete possibili grazie
alle connessioni a larga banda.
Quando le persone hanno dei problemi a usare un’interfaccia, non è perchè sono stupide.
E’ perchè l’interfaccia è troppo difficile.
Jakob Nielsen
2.2.5 IL RUOLO STRATEGICO DELL’INTERFACCIA
Per un portale è relativamente facile raggiungere un elevato numero di accessi con
una massiccia campagna pubblicitaria. Se l’utente, però, dopo aver dato uno sguardo
alla homepage, torna indietro deluso perché non riesce a trovare ciò che cerca o ha
problemi ad utilizzare il sito, non è assolutamente un successo. L’unico criterio reale
per la valutazione di un sito web è il traffico generato dagli utenti che, dopo aver
visitato il sito una prima volta, tornano successivamente generando una comunità
virtuale di appassionati. Ed è per questo motivo che l’attenzione verso l’usabilità
dell’interfaccia è cresciuta drasticamente negli ultimi anni: solo se l’utente vive
un’esperienza positiva alla sua prima visita ritornerà e genererà un valore.
Per far sì che tutto questo si verifichi è bene seguire dieci piccole regole al momento
della realizzazione di un’interfaccia:
1. Spiegare chiaramente e semplicemente di cosa tratta il sito. Spesso non
basta uno slogan accattivante. Non bisogna avere paura di essere troppo
didascalici nello spiegare ad un visitatore a cosa serve il nostro sito web.
Chiarezza e semplicità prima di tutto.
2. Raggruppare tutte le informazioni in aree distinte. Un sito tratta in genere
molti argomenti e molti sviluppatori temono di sovraccaricare l’utente con
- 16 -
una massa di informazioni che confondano e distraggano dallo scopo
principale del sito. E’ bene sapere che invece dare tante informazioni è
sempre la cosa migliore. Buona regola è scrivere tanto e bene e soprattutto di
raccogliere queste informazioni in aree ben distinte, per quanto comunicanti.
3. Andare dritto al cuore. Allo stesso tempo, molti nuovi utenti possono non
essere interessati affatto ad approfondire le informazioni che il sito offre e
questo per i motivi più diversi. Un utente affezionato sa già dove andare e
cosa fare, quindi non deve essere obbligato ad attraversare le zone
informative per i nuovi utenti. In sostanza, bisogna far sì che il sito soddisfi
sia chi ha bisogno di leggere e di approfondire prima di agire sia chi non ne
ha bisogno.
4. Inserire link brevi, chiari e standard. Quando un utente cerca rapidamente
ciò che più lo interessa all’interno del sito, non deve essere distratto da link
“anomali”. Per quanto il web sia ancora giovanissimo rispetto ad altri media,
possiamo già parlare di un glossario standard: l’immagine del carrello per
l’acquisto on-line, la busta o la scritta “contatti” o “scrivici” per ottenere
ulteriori informazioni, ecc., sono entrati, ormai, nella semantica di tutti i
navigatori, anche i meno esperti. Cercare di allontanarsi da questi standard è
molto rischioso e di fatto non porta nessun vantaggio, se non una fittizia
originalità.
5. Deep link = good link. Appurato che la homepage è importantissima per un
sito, ciò non toglie che spesso sia conveniente indicizzare direttamente le
pagine interne. E’ stato calcolato che il 27% dei mancati acquisti (o meglio,
di potenziali clienti che non diventano clienti reali) è dovuto alla difficoltà di
arrivare alla pagina desiderata dalla homepage.
6. Inserire la possibilità di ricerca veloce all’interno del sito. Per quanto un
sito sia ben strutturato, è evidente che, nel caso in cui gli argomenti trattati
siano molti, risulta spesso difficile trovare quello che si desidera. E’ quindi
sempre consigliabile l’inserimento di un motore di ricerca interno, che sia
accessibile da qualsiasi pagina del sito: una classica mascherina di ricerca
dove sia possibile inserire parole da cercare, anche in combinazione.
Consigliabile è anche l’inserimento di una maschera per la ricerca nel web. E’
- 17 -
ingenuo pensare che l’utente esca dal sito più facilmente se gli viene offerto
un link o una finestra sul web. E’ inoltre ormai dimostrato che chi esce da un
sito lo fa per rivolgersi ad un motore di ricerca. Il meccanismo è semplice:
non ho trovato quello che cercavo, oppure l’ho trovato ed ora desidero
cercare altre cose, quindi mi rivolgo ad un motore di ricerca. Inserire un
motore di ricerca nel proprio sito significa offrire un servizio in più, un
servizio utile e sempre apprezzato.
7. Aumentare la fidelizzazione con i link verso l’esterno. Sembrerebbe
paradossale ma, i link ai siti esterni, sono sempre una buona cosa e per due
motivi: in primis, un link ad un sito utile aumenta l’interesse verso il sito che
lo mette a disposizione. Inoltre i link esterni significano sempre un guadagno.
Spesso si può essere pagati per portare traffico ad altri siti, ma ancora più
spesso si può fare scambio di visibilità: io ti presto i “miei” utenti e tu i
“tuoi”. Scambiare i propri utenti con gli altri significa inserirsi in un circolo
virtuoso.
8. Mostrare clienti soddisfatti. Per quanto questo appartenga più ai siti di
shopping on-line, esso può essere esteso anche ad altre tipologie di sito. La
questione è semplice: se nessuno che conosciamo ci ha mai consigliato il sito
che stiamo visitando è evidente che un qualche influsso positivo può derivare
dalla testimonianza di chi è rimasto soddisfatto e lo dichiara apertamente,
esponendosi in prima persona (come singolo o, meglio ancora, come
rappresentante di una società rispettata). Il sistema funziona, sempre.
9. Tenere un legame costante con il passato prossimo. Molto spesso apriamo
l’homepage di un sito che conosciamo, cercando quell’informazione o quel
link che adesso non vediamo più. Certo, nel caso sia presente un motore di
ricerca interno possiamo usare quello, ma la cosa migliore è quella di inserire
una sezione, ben visibile, dei link e delle informazioni recentemente tolte
dalla posizione predominante nella homepage e adesso inserite all’interno del
sito. Questo legame col passato recente aumenta senza dubbio la navigabilità
del sito.
10. Ricordare che non è bello ciò che è bello, ma ciò che funziona. Nonostante
spesso i grafici siano frustati per questo, è vero il fatto che spesso una bella
- 18 -
immagine, una scritta multicolore, ecc., non sono l’ideale per rendere un sito
navigabile. Il testo deve essere semplice per quanto non trascurato nella sua
realizzazione. Un sito deve essere ben curato graficamente ma la semplicità è
sempre la carta vincente. Inoltre, l’eccessivo utilizzo di immagini non
permette la distribuzione di una grande quantità di link e riferimenti in
homepage e pagine interne.
2.2.6 I MAGGIORI PORTALI ITALIANI
Dopo aver teorizzato intorno al fenomeno portale, focalizziamo la nostra attenzione
sui più importanti portali italiani. La scelta di limitarci ad un campo “locale” dipende
da tre considerazioni: la vasta offerta globale non ci permetterebbe di prenderne in
considerazione tutti i più importanti; gli utenti utilizzano maggiormente risorse
collegate al proprio ambito linguistico e geografico; ed infine la maggior parte dei
più diffusi portali mondiali hanno sviluppato delle versioni localizzate rivolte a
singoli mercati nazionali (basti pensare alle versioni italiane di MSN, Yahoo!, ecc.).
Per i portali specificatamente italiani, la loro storia (con poche eccezioni tra le quali
spicca Virgilio) è legata strettamente al fenomeno dell’offerta di accesso gratuito
residenziale alla rete a partire dal 1998. Chiunque ricorderà Tiscali, il primo in
assoluto, seguito da Tin e Infostrada, e poi dalle maggiori società di
telecomunicazioni come Wind, Dada e British Telecom e gruppi editoriali come
l’Espresso-la Repubblica, Mediaset, la Stampa/Fiat. La scelta di fornire i servizi di
accesso in forma gratuita ha spostato l’onere di produrre valore sui rispettivi portali,
stimolandone sia lo sviluppo qualitativo che quantitativo.
Per quanto riguarda il numero di utenti raccolti, esiste una società denominata
Audiweb, nata con lo scopo di fornire informazioni “super partes” al mercato, di
carattere qualitativo e quantitativo, che attraverso opportuni strumenti di rilevazione,
sui siti internet che aderiscono all’iniziativa, calcola mensilmente il numero dei
visitatori e le pagine aperte rilevate sul sito di ogni singolo editore, secondo
parametri omogenei e concordanti e mette a disposizione di chiunque ne sia
interessato i risultati sul proprio sito web.
- 19 -
Vediamo, a titolo di esempio, i dati riferiti ai maggiori portali italiani nel mese di
Maggio 2005.
Pagine viste
Visite
Tempo
medio per
pagina (min.)
Durata
visita
(min.)
RedSheriff 17.292.986
982.434.533
83.818.166
00:40
07:53
virgilio.it
RedSheriff 15.904.697
781.770.291
79.293.677
00:51
08:19
tiscali.it
RedSheriff
7.779.795
264.613.257
26.920.718
00:59
09:54
repubblica.it
RedSheriff
4.141.874
179.398.030
24.570.526
01:45
12:42
corriere.it
RedSheriff
3.484.128
117.523.335
14.809.629
1:13
9:35
gazzetta.it
RedSheriff
2.758.199
74.673.771
11.109.597
1:24
9:22
Dada
supereva.com
RedSheriff
4.644.473
166.345.732
10.110.178
0:33
8:54
Kataweb
kataweb.it
RedSheriff
3.137.196
68.860.762
8.963.124
00:57
07:03
Property
Dominio
Wind
libero.it
Telecom Italia
Tiscali S.p.A.
Kataweb
RCS Media
Group
RCS Media
Group
Sistema di
misurazione
Server
Browser
Browser *
unici
GLOSSARIO:
Browser unici è il numero di browser diversi che, nel mese di maggio, hanno
effettuato una o più visite al sito.
Con pagine viste si intende una richiesta esplicita, fatta da un utente, depurata dalle
attività di robot, spider, ecc., e da eventuali codici di errore. Il tag di misurazione
deve essere posizionato alla fine della pagina in modo da considerare solo quella
interamente scaricata e vista dall’utente.
Le visite sono le richieste consecutive fatte dallo stesso visitatore all’interno del sito
con un tempo limite di inattività di 30min. Dopo si considera come se fosse una
seconda visita. Non devono essere considerate le attività di robot e spider.
Tempo medio per pagina è il tempo in minuti e secondi trascorsi nelle pagine.
Durata della visita è il tempo in minuti e secondi trascorso nel sito.
Dal grafico si evince che il sito maggiormente visitato è Libero con oltre 80 milioni
di visite mensili, seguito a ruota da Virgilio e, più in lontananza da Tiscali con “solo”
26 milioni di utenti. Ciò ci sottolinea come i portali più importanti sono quelli che
offrono il servizio gratuito di connessione alla rete e la possibilità di accedere alla
propria posta da web, insieme all’immancabile motore di ricerca.
- 20 -
Libero è il portale del gruppo Wind che, dopo l’acquisizione di Infostrada, ha deciso
di riunire sotto questo marchio il più importante dei portali storici italiani, Italia on
Line, il suo portale Inwind.it, e l’omonimo servizio di accesso alla rete Libero. Offre
una vastissima gamma di servizi che riscontrano sempre di più il favore del pubblico
rendendolo il portale più visitato, i principali sono:
•
il motore di ricerca di pagine web, immagini, audio, video, gruppi, blog,
news, prodotti e directory;
•
l’accesso ad internet gratuito e il servizio di posta da web;
•
la community con chat, newsgroup, forum, mailing list, ecc.;
•
i canali di informazione tematica;
•
i servizi di invio SMS e MMS ai telefonini e molto altro ancora.
L’interfaccia del portale è ben disegnata ed intuitiva, permettendo all’utente di
trovare subito ciò di cui è interessato.
Virgilio è un portale sviluppatosi dal primo servizio di ricerca di alto livello
qualitativo in Italia, senza trasformarsi direttamente in un provider. Nato nel 1996, ha
consolidato la propria struttura attraverso un paziente lavoro di accentramento di
contenuti e servizi. Il cuore di questo portale è il servizio di directory, completamente
gestita da una redazione “umana” che scandaglia giornalmente il web alla ricerca di
siti interessanti, a cui si affianca una serie di canali tematici ben strutturati. Bisogna
sottolineare che Virgilio offre le due maggiori comunità virtuali italiane: Atlantide,
che offre numerosi strumenti per la comunicazione personale (basti pensare a C6) e
Xoom che ospita migliaia di pagine web personali.
Tiscali è stato uno dei primi veri portali. E’ nato nel 1998 ed è rimasto il punto di
riferimento più importante per i navigatori abbonati allo storico servizio di
connessione gratuita per parecchi anni. Ha una struttura basata su un portale
principale e una serie di siti satellite-tematici, tra cui uno dedicato ai naviganti più
giovani. Il portale principale ha una struttura simile a quella di un magazine, basata
su canali tematici in cui prevalgono contenuti redazionali. Offre alcuni servizi
veramente originali nel panorama dei portali italiani tra cui spicca Voispring, il
primo servizio di telefonia gratuito da internet che permette di effettuare telefonate
- 21 -
dal proprio computer connesso ad un qualsiasi numero di telefonia fissa italiano e
Willage, un progetto che permette a chiunque di aprire un sito per poter
commercializzare i propri prodotti.
L’interfaccia di Virgilio
L’interfaccia di Libero
L’interfaccia di Tiscali
2.2.7 CONSIDERAZIONI FINALI
Il fenomeno dei portali rappresenta sicuramente uno dei nodi chiave dei cambiamenti
avvenuti ad internet negli ultimi anni e che ne ha facilitato la diffusione. Nati quasi
tutti come strumento di accesso, collegati spesso a strumenti di ricerca
dell’informazione nella rete, i portali si sono progressivamente espansi e
diversificati, sino a divenire delle vere e proprie isole di salvataggio all’interno del
caotico mare del web. Isole con architetture informative complesse ed organizzate,
che si oppongono alla caotica disorganizzazione della rete.
Questi prodotti editoriali hanno cercato di venire incontro ad una esigenza nata
spontaneamente negli utenti della rete man mano che il loro numero cresceva:
mettere ordine dove regnava il disordine, selezionare e gerarchizzare dove prevaleva
la reticolarità e l’orizzontalità, valutare e qualificare dove trionfava l’indistinzione. In
- 22 -
questo modo, i portali hanno arricchito e nel contempo semplificato l’esperienza
della navigazione in rete, soprattutto per gli utenti alle prime armi.
Ma c’è un rovescio della medaglia. Perché reticolarità e orizzontalità, se da una parte
rendono complessa la navigazione nella rete, dall’altra ne rappresentano la ricchezza.
La diffusione del modello portale rischia dunque di snaturare quel processo di
comunicazione paritario che è nato grazie ad internet, non a caso il loro modello
proviene da quello dei mass-media tradizionali, primo fra tutti la televisione.
Ciò non significa che l’internet dei portali debba trasformarsi in un’addobbata vetrina
dietro la quale trovare pochi fornitori di contenuti a fronte di uno sterminato numero
di fruitori-clienti più o meno passivi. Apertura, interattività e reticolarità sono tratti
intrinseci della rete difficilmente sopprimibili su vasta scala. Tuttavia è necessario
educare gli utenti, soprattutto i nuovi, a misurarsi con l’apertura, a sfruttare appieno
l’interattività, a orientarsi nella reticolarità, mantenendo, per usare una metafora,
l’abitudine di navigare in mare aperto, senza accontentarsi di navigare in vicinanza
delle coste.
E dunque, se è vero che i portali possono essere strumenti utilissimi, essi vanno scelti
ed utilizzati in modo consapevole, valutandone criticamente i contenuti e sfruttando
al massimo le componenti interattive e di personalizzazione. Ma, soprattutto, non
debbono divenire gli unici componenti nell’orizzonte dell’esperienza di rete degli
utenti. Si tratta di fonti di informazione organizzate e di facile accesso, ma parziali e
raramente neutrali, peraltro spesso organizzati in base a più o meno espliciti interessi
commerciali. La vera ricchezza di internet sta nella moltitudine di contenuti
distribuiti nella rete, contenuti che provengono da moltissime emittenti e che
esprimono molteplici punti di vista.
- 23 -
La disumanità del computer sta nel fatto che, una volta programmato
e messo in funzione, si comporta in maniera perfettamente onesta.
Isaac Asimov
2.3 LE TECNOLOGIE PIÙ UTILIZZATE
Dopo aver capito cosa siano e a cosa servano i portali possiamo finalmente decidere
di realizzare il nostro. Una buona conoscenza dei linguaggi di programmazione è
necessaria, ma quali sono quelli di cui non possiamo fare a meno? Per rispondere a
questa domanda dobbiamo prima vedere quali sono i vari tipi di linguaggi esistenti e
sostanzialmente, possiamo vedere che si dividono in tre grandi gruppi:
•
compilati;
•
semicompilati;
•
interpretati.
Se escludiamo il primo caso, che raccoglie tutti quei linguaggi in cui il codice
sorgente viene trasformato dal compilatore in un eseguibile a livello macchina,
perché dipendente dalla piattaforma nel quale viene compilato e di conseguenza
funziona solo nello stesso ambiente, ed anche il secondo perché richiede un livello
avanzate di conoscenze non necessarie per creare un portale, possiamo vedere che
tutti i linguaggi di cui necessitiamo rientrano nella terza categoria.
In questo caso, il codice sorgente è proposto in chiaro, senza alcun tipo di codifica:
sta al browser lato client o al server (a seconda del tipo di linguaggio) interpretarlo ed
eseguire le istruzioni in esso contenute. Il più conosciuto è sicuramente l’Html, che
in verità non è un linguaggio di programmazione vero e proprio ma serve a definire il
contenuto logico del documento e, tranne per i form, è essenzialmente un linguaggio
statico, non ha, cioè, né strutture decisionali né elementi in grado di interagire con
l’utente.
Ad esso si affiancano una vasta gamma di linguaggi che permettono di ottenere
contenuti dinamici all’interno delle pagine web, primo fra tutti il Javascript,
considerato come il complemento dell’Html. E’ relativamente semplice, perché si
basa su un numero ristretto di oggetti di programmazione, tuttavia il suo utilizzo
potrebbe risultare non indicato per lo svolgimento di operazioni complesse. In questo
caso dobbiamo rivolgerci a linguaggi più complessi che, però, ci permettono di
svolgere molte più operazioni.
- 24 -
Fino a metà degli anni 90 la maggior parte del web era composta da pagine statiche,
ma già in quegli anni si incominciava a sentire l’esigenza di rendere dinamici i
contenuti, cioè di far sì che la stessa pagina fosse in grado di produrre contenuti
diversi, personalizzati in base alle preferenze degli utenti, oppure estratti da una base
di dati in continua evoluzione. Fu così che nel 1994 nacque PHP, per facilitare ai
programmatori l’amministrazione delle homepage personali. Purtroppo tutto questo
si è rivelato subito insufficiente: il Php era ottimo per realizzare pagine dinamiche,
ma non offriva nessuna possibilità di memorizzare i dati.
La soluzione era quindi quella di utilizzare parallelamente un linguaggio di
programmazione e un database. Per questo il Php si è evoluto permettendo
l’iterazione con il database MySql, creando un’accoppiata che, al giorno d’oggi, è
una delle più diffuse in rete in quanto è formata da un linguaggio solido e gratuito,
capace di sopportare grandi carichi di lavoro, e un database dalle notevoli qualità
tecniche.
Questi sono i linguaggi sufficienti a permetterci di creare un portale di altissima
qualità e tutti possono essere utilizzati senza il bisogno di acquistare licenze o
programmi dedicati.
Non ho mai previsto che il codice sorgente di HTML fosse visibile agli utenti.
Un browser/editor avrebbe fatto vedere o editare all'utente soltanto il linguaggio
di una pagina di ipertesto, come se stesse usando un word processor.
Per me, e credevo anche per gli altri, l'idea di chiedere al pubblico di battere a mano
le parentesi era inaccettabile quanto chiedere a qualcuno di scrivere
un documento in Microsoft Word stendendo il formato in codice binario.
Ma la leggibilità dell'HTML si rivelò una manna inaspettata.
Con mia grande sorpresa molte persone si familiarizzarono alla svelta con i tag,
e iniziarono a scrivere direttamente propri documenti in HTML.
Tim Berners-Lee – L’architettura del nuovo Web.
2.3.1 HTML E JAVASCRIPT
Come già sottolineato in precedenza l’Html permette di indicare come i vari elementi
vengono disposti all’interno di una pagina web, infatti un file html non è nient’altro
che un file di testo contenente delle indicazioni sul colore delle scritte, sulla
posizione delle immagini all’interno della pagina, su come far scorrere il testo, e altre
cose di questo genere. Ma per funzionare correttamente ha bisogno di un programma
che lo interpreti e lo visualizzi in forma di ipertesto: il browser.
- 25 -
Il browser svolge principalmente due compiti:
•
scarica i vari files che si trovano su un computer remoto (il server) e che
fanno riferimento ad un certo indirizzo;
•
legge i documenti scritti in Html e, a seconda delle indicazioni ivi contenute,
visualizza la pagina.
E’ importante, per un webmaster, acquisire sin dall’inizio una mentalità multibrowser, perché non è necessario conoscere nei minimi dettagli il codice Html,
quanto piuttosto sapere come questo codice verrà visualizzato sul computer
dell’utente: infatti uno dei lavori più difficili è quello di riuscire a far visualizzare
correttamente il proprio sito con i browser e le piattaforme più svariate.
Html è l’acronimo di Hyper-Text Markup Language (linguaggio di contrassegno per
gli ipertesti), non è un linguaggio di programmazione, bensì un linguaggio di
contrassegno (o di “marcatura”) composto da istruzioni che permettono di decidere le
caratteristiche di visualizzazione di un documento e ne guidano la composizione
sullo schermo. Ciò sta a significare che l’Html non ha meccanismi che permettono di
prendere decisioni, né è in grado di compiere iterazioni, né ha altri costrutti propri
della programmazione.
Ed è per questo che, nonostante abbia una propria sintassi, non presuppone la logica
ferrea e inoppugnabile dei linguaggi di programmazione: se ci dimentichiamo di
chiudere un tag, non verranno prodotti messaggi di errore, se non rispettiamo la
sintassi probabilmente non otterremo la visualizzazione della pagina come
desideriamo, ma nient’altro.
Tutti i tag Html sono facilmente riconoscibili, sono sempre racchiusi tra i segni di
minore e maggiore (< e >), e presentano sempre un comando di apertura (come
<HTML>) e quasi sempre uno di chiusura (</HTML>) contrassegnato dalla presenza
del carattere /.
Esempio di pagina scritta in HTML
- 26 -
Il linguaggio Html fu sviluppato da Tim Berners-Lee al CERN di Ginevra nel 1989
ed è di pubblico dominio, ovvero nessuna organizzazione o persona ne ha un
interesse proprietario. La sintassi è stabilita dal World Wide Web Consortium (W3C)
ed è basato su di un altro linguaggio avente scopi più generici: lo Standard
Generalized Markup Language (SGML). Negli anni l’Html ha subito continue
revisioni e miglioramenti, che sono stati indicati secondo la classica numerazione
usata per descrivere la versione dei softwares. L’ultima versione rilasciata è la 4.01
del 24 Dicembre 1999, da allora, da parte del W3C non è stata manifestata alcuna
intenzione di apportare ulteriori modifiche all’Html visto che verrà presto sostituito
dai nuovi linguaggi XHTML e XML.
A questo punto chiunque potrebbe chiedersi quali vantaggi ci siano a studiare ed
utilizzare un vecchio linguaggio invece dei nuovi, le motivazioni principali sono tre:
•
di fatto l’Html verrà utilizzato ancora per diversi anni come linguaggio
principe delle pagine web;
•
alcuni concetti dell’Xhtml richiedono già una certa comprensione dei
problemi che si acquisisce solamente con l’esperienza che può dare realizzare
pagine in Html;
•
chi conosce l’Xhtml non può non conoscere l’Html e passare dal secondo al
primo non è molto complicato.
Un ulteriore ed importante caratteristica dell’Html è che è stato concepito per
definire il contenuto logico e non l’aspetto finale del documento. I dispositivi che
possono accedere a questi documenti sono molteplici e non sempre sono dotati di
potenti capacità grafiche, proprio per questo gli sviluppatori hanno optato per un
linguaggio che descrivesse dal punto di vista logico, piuttosto che grafico, il
contenuto dei documenti. Questo significa che non esiste alcuna garanzia che uno
stesso documento venga visualizzato in ugual modo su due dispositivi diversi. Se da
una parte questo ha imposto in passato dei forti limiti agli sviluppatori di pagine web,
ha dall’altro garantito la massima diffusione di internet.
Nel giugno 1995 la Netscape Communications Corporation implementò nella
versione beta del loro browser Netscape Navigator 2.0 il linguaggio Javascript. Tale
linguaggio apportò un notevole cambiamento alle pagine html, per cui alcuni effetti,
che erano realizzabili soltanto con l’interfaccia CGI, diventarono più facili da
- 27 -
eseguire e la “dinamicità” dei siti web smise di limitarsi solamente alle gif animate. Il
Javascript, a differenza dell’Html, è un vero e proprio linguaggio di programmazione
orientato a oggetti con una sintassi basata sul concetto di parole chiave riservate, che
rendono quasi impossibile espandere il linguaggio.
Chi già conosce linguaggi di programmazione simili, come il C o il Java, non troverà
difficoltà ad imparare ad utilizzarlo, ma anche chi ci si avvicina per la prima volta,
visto la sua semplicità sintattica e la sua maneggevolezza, lo padroneggerà in
pochissimo tempo. Tuttavia ciò può rappresentare un’arma a doppio taglio perché la
semplicità si basa anche su una disponibilità limitata di oggetti per cui alcuni
procedimenti, all’apparenza molto semplici, richiedono script abbastanza complessi.
Per capire come questo linguaggio funziona bisogna innanzitutto ricordare che è un
linguaggio interpretato e ciò porta sia dei vantaggi ma anche degli svantaggi nei
confronti dei linguaggi compilati, che possono essere riassunti nei seguenti cinque
punti:
•
il linguaggio interpretato è più sicuro ed affidabile perché in chiaro e da
interpretare, quindi può essere filtrato prima di essere eseguito, per questo
motivo nel Javascript la sicurezza è pressoché totale;
•
gli script hanno limitate capacità, per ragioni di sicurezza, per cui non è
possibile fare tutto con Javascript, ma occorre abbinarlo ad altri linguaggi
evoluti, magari più sicuri, come Java, e tale limitazione è ancora più evidente
se si desidera operare sulla memoria del computer;
•
il codice è visibile e può essere letto da chiunque anche se tutelato dalle
leggi sul copyright, ma questo è il prezzo da pagare da chi vuole utilizzare il
web e ne permette una maggiore diffusione e utilizzo anche a chi non lo
conosce a fondo;
•
il codice è eseguito dal client perciò il server non è sollecitato più del
dovuto, mentre uno script eseguito dal server potrebbe sottoporre ad una dura
sollecitazione i server di capacità limitata interrogati da parecchi utenti
contemporaneamente;
•
il codice dello script deve essere scaricato completamente prima di poter
essere eseguito e questo è uno svantaggio per cui se i dati che uno script
- 28 -
utilizza sono tantissimi dobbiamo aspettare che li finisca a scaricare tutti
prima che inizi a funzionare.
Capito questo, vediamo cosa è possibile fare con il linguaggio Javascript in una
pagina web:
•
sostituire delle immagini;
•
aprire nuove finestre secondare;
•
effettuare dei controlli sui form, per verificare l’input degli utenti;
•
eseguire azioni a tempo;
•
aggiungere effetti grafici dinamici come oggetti che si muovono in giro per la
pagina, menù a discesa o a tendina;
•
e molto altro ancora.
Tutto questo fa sì che ormai qualunque pagina web che si rispetti contenga almeno
un po’ di Javascript che viene scritto direttamente all’interno di una pagina html
all’interno del tag <SCRIPT>.
Esempio di Javascript all’interno di una pagina web…
…e risultato ottenuto cliccando con il tasto destro del mouse
Per completezza, e per concludere questa breve panoramica, bisogna sottolineare che
Javascript può essere utilizzato anche come linguaggio lato server: in questo caso
svolgerà funzioni analoghe a quelle che normalmente vengono effettuate da Php, che
vedremo nel prossimo paragrafo. In ogni caso l’utilizzo lato server di Javascript è un
caso veramente sporadico che non necessita ulteriori approfondimenti.
- 29 -
2.3.2 PHP
Al giorno d’oggi moltissime attività desiderano creare la propria pagina web per farsi
pubblicità sul World Wide Web. Come già sottolineato in precedenza, una buona
conoscenza dell’Html e del Javascript è indispensabile, ma gli utenti adesso vogliono
creare dei siti web migliori, non necessariamente nell’aspetto grafico, ma piuttosto
nel renderli dinamici. Ma cosa vuol dire con precisione “dinamico”? Ad esempio,
vuol dire essere in grado di rispondere a una richiesta del browser, o a qualcuno che
scrive tramite Web, oppure far sì che gli utenti possano inserire qualcosa nel registro
dei visitatori, o mantenere delle informazioni sul server che possano essere
recuperate dagli utenti: l’elenco è praticamente senza fine.
Per essere in grado di creare queste pagine web dinamiche, è necessario un
linguaggio di programmazione che possa creare ed elaborare le pagine stesse. Ci
sono molti linguaggi di questo tipo sul mercato, ma alcuni di essi offrono un’iniziale
curva di apprendimento ripida, ovvero sono difficili da imparare a meno che non si
abbiano già delle esperienze di programmazione. Tutto questo, però, è ormai
cambiato, vista la disponibilità di un nuovo linguaggio di programmazione web
chiamato PHP specificatamente creato per il Web, anche se può essere utilizzato per
altri scopi, che permette agli utenti di creare delle buone pagine web dinamiche ed è
facile da apprendere e utilizzare.
Il Php è nato nel 1994, ad opera di Rasmus Lerdof, come una serie di macro la cui
funzione era quella di facilitare ai programmatori l’amministrazione delle home page
personali: da qui trae origine il suo nome, che allora significava appunto Personal
Home Page.
Essendo un progetto di tipo open source (cioè “codice aperto”, quindi disponibile e
modificabile da tutti), ben presto si formò una ricca comunità di sviluppatori che
portò alla creazione di PHP3: la versione del linguaggio che diede il via alla crescita
esponenziale della sua popolarità. Tale popolarità era dovuta anche alla forte
integrazione con il Web Server Apache (il più diffuso in rete), e con il database
MySql. Tale combinazione di prodotti, integralmente ispirata alla filosofia del free
software, cioè da poterli utilizzare privatamente o su siti web commerciali senza
dover pagare alcunché, diventò ben presto vincente in un mondo in continua
evoluzione come quello di internet.
- 30 -
Alla fine del 1998 erano circa 250.000 i server web che supportavano il Php: un anno
dopo superavano il milione. I 2 milioni furono toccati in aprile del 2000, e alla fine
dello stesso anno erano addirittura 4.800.000. Il 2000 è stato sicuramente l’anno di
maggior crescita del Php, coincisa anche con il rilascio della versione 4.0.0, con un
nuovo motore molto più veloce del precedente ed una lunga serie di nuove funzioni,
fra cui quelle importantissime per la gestione delle sessioni. La crescita del Php
prosegue, tutt’oggi, senza sosta.
Oggi Php è conosciuto come Hypertext Processor, ed è un linguaggio completo di
scripting, sofisticato e flessibile, che può girare praticamente su qualsiasi server web,
su qualsiasi sistema operativo e consente di interagire praticamente con qualsiasi tipo
di database. Ed è per questo che può essere utilizzato per i più svariati tipi di progetti,
dalla semplice home page dinamica fino al grande portale o al sito di e-commerce.
Dopo questa breve descrizione storica, cerchiamo di definire con maggiore
precisione cosa sia il Php. Una possibile definizione è: PHP è un linguaggio di
scripting server side HTML embedded. Ad una prima lettura può sembrare una frase
dal significato astruso, ma così non è. Adesso cercherò di spiegarla nel dettaglio.
PHP è un linguaggio di scripting server side.
A differenza dei linguaggi eseguiti lato client, come Javascript, Php viene eseguito
sul server, richiamando il modulo apposito che farà da interprete. Il funzionamento è
questo: quando un browser effettua una richiesta per una pagina contenente del
codice Php (riconoscibile dall’estensione del file che deve essere .php) il codice
viene interpretato dal modulo Apache apposito ed eseguito, producendo come
risultato del codice Html. Dopo l’esecuzione, quindi, la pagina non conterrà più
codice Php, ma solo codice Html. A questo punto la pagina è pronta per essere
spedita al browser. Quindi l’utente vede solo il codice Html, e non ha accesso al
codice Php che ha generato la pagina. Tutto ciò è riassunto nello schema presente
nella pagina successiva.
HTML embedded.
Tradotto letteralmente significa “incastonato” perché le istruzioni Php vengono
inserite direttamente all’interno delle pagine contenente il codice Html. I tag che lo
delimitano sono <?php (o <?) e ?>.
- 31 -
Iterazione client-server con codice Php
Riassumendo Php è un linguaggio che serve, almeno nel web, a produrre codice
Html a seconda di varie condizioni, ma quali sono i suoi utilizzi principali?
L’utilizzo maggiore che se ne fa riguarda i form presenti all’interno delle pagine
web. Questi offrono un modo per chiedere informazioni agli utenti (tramite il
browser) con un procedimento bidirezionale. Un form può consistere di molti
elementi e questo permette agli utenti di inserire del testo e selezionare elementi di
menù e opzioni. Una volta che l’utente ha effettuato la selezione, può inviare il form,
affinché venga elaborato, a uno script php che gestirà le informazioni in arrivo, le
quali vengono raccolte sul web server stesso. Una volta sul server lo script elabora le
informazioni e invia i risultati, o altre informazioni, al browser dell’utente, affinché
questi li veda. Rientrano in questo campo la gestione di aree riservate all’interno del
sito ad utenti registrati, la possibilità di permettere di gestire piccole parti di sito
direttamente all’utente, la realizzazione di motori di ricerca e molto altro ancora.
Esempio di codice PHP,…
- 32 -
…risultato visualizzato…
…e codice HTML della pagina
2.3.3 MYSQL
Oggigiorno la maggior parte delle pagine web che visitiamo non sono documenti
statici, ma vengono creati dinamicamente quando noi li richiamiamo e le
informazioni che contengono sono estratte da un database. Cerchiamo innanzitutto di
capire cosa si intende con la parola database, che spesso in italiano viene tradotta
come “base di dati”.
Un database è, nella sua forma più semplice, un contenitore di dati organizzati e
correlati gestito da un software specifico, il DBMS (DataBase Menagement System,
Sistema di Gestione di DataBase). Un DBMS è sostanzialmente uno strato software
che si frappone fra l’utente e i dati veri e propri. Grazie a questo strato intermedio
l’utente e le applicazioni non accedono ai dati così come sono memorizzati
effettivamente, cioè alla loro rappresentazione fisica, ma ne vedono solamente una
rappresentazione logica. Ciò permette un elevato grado di indipendenza fra le
applicazioni e la memorizzazione fisica dei dati. Questa rappresentazione logica
viene chiamata “schema del database” ed è la caratteristica principale secondo cui i
DBMS vengono solitamente classificati. Nel corso degli anni sono stati adottati
numerosi modelli per i dati, a fronte dei quali esistono vari tipi di database. I tipi più
comuni sono:
•
Database gerarchici: i dati vengono organizzati in insiemi legati fra loro da
relazioni di “possesso”, in cui un insieme di dati può possedere altri insiemi
di dati, ma un insieme può appartenere solo ad un altro insieme. La struttura
risultante è un albero di insiemi di dati.
•
Database reticolati: il modello reticolare è molto simile a quello gerarchico,
ed infatti nasce come estensione di quest’ultimo. Anche in questo modello
insiemi di dati sono legati da relazioni di possesso, ma ogni insieme di dati
- 33 -
può appartenere a uno o più insiemi. La struttura risultante è una rete di
insiemi di dati.
•
Database relazionali: i database appartenenti a questa categoria si basano sul
modello relazionale la cui struttura principale è la relazione, cioè una tabella
bidimensionale composta da righe e colonne. Ciascuna riga, che in
terminologia relazionale viene chiamata tupla, rappresenta un'entità che noi
vogliamo memorizzare nel database. Le caratteristiche di ciascuna entità sono
definite invece dalle colonne delle relazioni, che vengono chiamate attributi.
Entità con caratteristiche comuni, cioè descritti dallo stesso insieme di
attributi, faranno parte della stessa relazione.
•
Database ad oggetti: lo schema di un database ad oggetti è rappresentato da
un insieme di classi, che definiscono le caratteristiche ed il comportamento
degli oggetti che popoleranno il database. La principale differenza con i
modelli esaminati finora è la non passività dei dati. Infatti con un database
tradizionale (intendendo con questo termine qualunque database non ad
oggetti) le operazioni che devono essere effettuate sui dati vengono
demandate alle applicazioni che li utilizzano. Con un database ad oggetti, al
contrario, gli oggetti memorizzati nel database contengono sia i dati che le
operazioni possibili su tali dati. In un certo senso potremmo pensare agli
oggetti come a dati a cui è stata fatta una iniezione di intelligenza, che gli
permette di sapere come comportarsi, senza doversi appoggiare ad
applicazioni esterne.
I primi due tipi di database, quelli gerarchici e reticolari, quasi appartengono ormai
alla storia dell’informatica. La maggior parte di quelli attualmente più utilizzati
appartiene alla categoria dei database relazionali. I motivi di questo successo (anche
commerciale) vanno ricercati nella rigorosità matematica e nella potenzialità
espressiva del modello relazionale su cui si basano, nella sua semplicità di utilizzo e,
ultima ma non meno importante, nella disponibilità di un linguaggio di
interrogazione standard, l'SQL, che, almeno potenzialmente, permette di sviluppare
applicazioni indipendenti dal particolare DBMS relazionale utilizzato.
- 34 -
I database ad oggetti sono la nuova frontiera nella ricerca sui database, infatti le loro
caratteristiche di estendibilità, derivanti dalla possibilità di definire nuovi tipi di dati
e comportamenti, li rendono particolarmente appetibili per tutte quelle applicazioni
che richiedono dati complessi, come ad esempio immagini e suoni. Purtroppo la
mancanza di un modello per gli oggetti universalmente accettato e la non
disponibilità di un linguaggio di interrogazione standard fanno sì che ogni produttore
implementi la propria visione specifica, di solito assolutamente incompatibile con
tutte le altre.
Le caratteristiche dei DBMS e delle basi di dati devono essere:
1. Le basi di dati possono essere grandi, nel senso che possono avere anche
dimensione enormi (migliaia di miliardi di byte) e comunque in generale
dimensioni molto maggiori della memoria centrale disponibile. Di
conseguenza, i DBMS devono prevedere una gestione dei dati in memoria
secondaria.
2. Le basi di dati sono condivise, nel senso che applicazioni e utenti diversi
debbono poter accedere, secondo opportune modalità, a dati comuni. E’
importante notare che in questo modo si riduce la ridondanza dei dati, poiché
si evitano ripetizioni, e conseguentemente si riduce anche la possibilità di
inconsistenze: se esistono varie copie degli stessi dati, è possibile che esse, in
qualche momento, non siano uguali; viceversa, se ogni dato è memorizzato
sul calcolatore in modo univoco, non è possibile correre in disallineamenti.
Per garantire l’accesso condiviso ai dati da parte di molti utenti che operano
contemporaneamente, il DBMS dispone di un meccanismo apposito, detto
controllo di concorrenza.
3. Le basi di dati sono persistenti, cioè hanno un tempo di vita che non è
limitato a quello delle singole esecuzioni dei programmi che le utilizzano.
4. I DBMS garantiscono l’affidabilità, cioè la capacità del sistema di conservare
sostanzialmente intatto il contenuto della base di dati in caso di
malfunzionamenti hardware o software. A questo scopo i DBMS forniscono
specifiche funzionalità di salvataggio e ripristino.
5. I DBMS garantiscono la privatezza dei dati. Ciascun utente, riconosciuto in
base ad un nome d’utente che è specificato all’atto di interagire con il DBMS,
- 35 -
viene abilitato a svolgere solo determinate azioni sui dati, attraverso
meccanismi di autorizzazione.
6. I DBMS devono essere efficienti intendendo con ciò la capacità di svolgere le
operazioni utilizzando un insieme di risorse (spazio e tempo) che sia
accettabile per gli utenti. Questa caratteristica dipende dalle tecniche
utilizzate nell’implementazione del DBMS e dalla bontà della realizzazione
della base di dati da parte dei suoi progettisti.
7. Ai DBMS è richiesta anche l’efficacia intendendo la capacità della base di
dati di rendere produttive, in ogni senso, le attività dei suoi utenti.
Grazie a queste caratteristiche le applicazioni che vengono sviluppate possono
contare su una sorgente dati sicura, affidabile e generalmente scalabile. Tali proprietà
sono auspicabili per applicazioni che usano la rete Internet come infrastruttura e che
hanno quindi evidenti problemi di sicurezza e scalabilità.
I motivi del successo dei database relazionali sono essenzialmente due:
1. forniscono sistemi semplici ed efficienti per rappresentare e manipolare i dati,
2. si basano su un modello, quello relazionale, con solide basi teoriche.
Il modello relazionale e' stato proposto originariamente da E.F. Codd in un ormai
famoso articolo del 1970. Grazie alla sua coerenza ed usabilità, il modello è
diventato negli anni 80 quello più utilizzato per la produzione di DBMS.
Il modello relazionale si basa su due concetti, relazione e tabella, di natura diversa
ma facilmente riconducibili l’uno all’altro. La nozione di relazione proviene dalla
matematica, in particolare dalla teoria degli insiemi, mentre il concetto di tabella è
semplice ed intuitivo. La presenza contemporanea di questi due concetti, l’uno
formare e l’altro intuitivo, è responsabile del grande successo ottenuto dal modello
relazionale. Infatti, le tabelle risultano naturali e comprensibili anche per gli utenti
finali, d’altra parte, la disponibilità di una formalizzazione semplice e precisa ha
permesso anche uno sviluppo teorico a supporto del modello con risultati di interesse
concreto.
Tra tutti i database di tipo relazionale esistenti uno dei migliori è sicuramente MySql
perché oltre ad essere un’applicazione server robusta è completamente gratuita ed
open source. La maggior parte dei siti web di e-commerce scelgono MySql, oltre per
le caratteristiche già citate, per la sua velocità. MySql può gestire un numero di
- 36 -
accessi al database illimitato e il numero degli utenti che si collegano al database è
limitato solo dalle caratteristiche della macchina sulla quale è in esecuzione.
Esempio interfaccia database MySql con phpMyAdmin
Una volta scelto il database per il nostro sito, in base alle caratteristiche che deve
avere, possiamo tornare al linguaggio Php e vedere che l’impiego più importante si
ottiene nel campo delle interrogazioni di database presenti sul server, perché
permette di interfacciarsi con tantissimi database, tra cui il “nostro” MySql.
L’utilizzo dei comandi per la connessione al database prescinde dalla conoscenza dei
database stessi. Per questo per poterlo utilizzare bisogna avere una buona conoscenza
della base di dati MySql e del linguaggio SQL (Structured Query Language) che ci
permette di recuperare le informazioni di cui necessitiamo. Il Php ci mette a
disposizione moltissime funzioni per interagire con il database e rendere così il
nostro sito web “vivo”.
- 37 -
Esempio di codice Php contenente MySql nella ricerca di tutte le aziende per una categoria,
ipotizziamo che il codice passato sia 5, ovvero”Computer e Accessori”…
…la tabella dove il codice va a prendere i dati con evidenziato le ditte di categoria 5…
…e il risultato finale.
- 38 -
Non penso mai al futuro. Arriva così presto.
Albert Einstein – intervista, dicembre 1930
2.4 UNO SGUARDO AL FUTURO: INTERNET 2
Se scrivere la storia di una tecnologia è di per sé
un’impresa gravosa, predirne il futuro è un esercizio
intellettuale poco saggio, ancorché assai diffuso. Per
questo cercherò di limitarmi a descrivere un processo
di innovazione, in parte già avviato, che a breve
termine
introdurrà
alcune
importanti
novità
nell’architettura di internet e nelle sue potenzialità.
Tale processo, ancora una volta, trova origine principalmente in ambito statunitense
ed è stato battezzato come: Internet 2.
Internet 2 è un progetto cooperativo, nato nel 1996, che coinvolge attualmente oltre
200 istituzioni accademiche, diverse grandi aziende del settore informatico e delle
telecomunicazioni e istituti federali. Obiettivo generale del progetto è lo sviluppo
delle tecnologie hardware e software della rete al fine di rendere possibile la
sperimentazione di servizi di rete avanzati (come il lavoro collaborativo, i laboratori
virtuali, le biblioteche digitali, video on demand, ambienti virtuali condivisi) e come
è già avvenuto per Arpanet prima, e Internet poi, le università serviranno da luoghi
deputati alla sperimentazione di tutte quelle tecnologie che dovranno in seguito
essere distribuite su scala mondiale.
Dal punto di vista delle infrastrutture è stato avviato il progetto di una rete a banda
larghissima, la rete del progetto Abilene, la cui spina dorsale opera oggi ad una
velocità di 10Gigabit al secondo e permette alle reti universitarie ad essa collegate di
raggiungere una velocità di 100Megabit al secondo. La progettazione di questa rete
ha sottolineato come per lo sviluppo di servizi avanzati non sia sufficiente il solo
potenziamento delle linee e delle strutture hardware della rete, ma serve anche una
profonda ristrutturazione nell’architettura dei protocolli.
- 39 -
La rete Abilene
Ed è in questo ambito che sono stati individuati diversi settori di intervento. Il primo
riguarda la messa a punto operativa di una nuova versione del protocollo IP,
battezzata IP version 6 (Ipv6), che risolve il problema del limitato spazio di
indirizzamento del vecchio Ipv4 usando uno schema a 128 bit rispetto agli attuali 32.
Ma per renderlo effettivamente funzionante saranno necessari notevoli cambiamenti
nei sistemi di instradamento dei dati e nei software di gestione dei router, che
dovranno essere in grado di aggiornarsi autonomamente.
Il secondo importante obiettivo è indicato con la sigla QoS (Quality of Service) e sta
ad indicare l’imponente obiettivo di sviluppare una serie di protocolli per allocare in
modo dinamico ed intelligente la banda passante disponibile, in modo tale da poterne
riservare una quota garantita ai servizi a pagamento e lasciarne il rimanente agli altri.
Differenze di velocità tra i vari tipi di connessione
- 40 -
Sebbene questo progetto rappresenti l’“internet del futuro”, dagli studenti dei campus
universitari americani è visto come un ritorno all’origine del cyberspazio, quando si
aveva un territorio vergine che i fan dello scambio di file peer-to-peer potevano
sfruttare liberamente. E infatti la community che è nata intorno allo sviluppo di
Internet 2, si configura come una vera e propria comunità di file sharing in cui viaggi
di tutto, musica, software e film scambiati ad una velocità incredibile. Naturalmente
questo eldorado dello scambio di file è tenuto sotto stretto controllo dai colossi
dell’industria dell’entertainment che stanno studiando il fenomeno e le possibili
contromosse.
Ovviamente non è possibile considerare questi risultati come dati definitivi poiché le
incognite economiche, tecniche, politiche che si legano a progetti di questa portata
non sono, allo stato attuale delle cose, valutabili. Ma almeno negli Stati Uniti, la
volontà di potenziare le risorse telematiche, che hanno avuto un ruolo strategico nel
rafforzare negli ultimi anni la superiorità tecnologica del paese, è indubbia.
Per ora una sola cosa è certa: la rete si trasformerà, anche profondamente, cambiando
servizi e tecnologie, ma non scomparirà. Alla continua crescita del numero degli
utenti continuerà a corrispondere un potenziamento delle linee e dei protocolli di
comunicazione.
- 41 -
Il progetto non è forse il tè, il caffè, l’oppio, l’hashish della vita?
Non è forse il sostituto, il surrogato, la caparra della realtà?
Giovanni Papini – Il tragico quotidiano
3. PROGETTAZIONE E REALIZZAZIONE DEL PORTALE
3.1 INTRODUZIONE
Il progetto consiste nel realizzare un portale di tipo verticale con lo scopo di fornire
servizi e annunci commerciali, mettendo in mostra le aziende che offrono i più
svariati beni e servizi a chi è interessato. Sarà un punto di accesso privilegiato della
rete perché tutti coloro interessati alle attività commerciali presenti nelle Marche e in
Abruzzo lo potranno prendere come punto di riferimento, offrirà più motori di
ricerca, sia esterni sul web tramite una piccola interfaccia che rimanda ai più grandi
come Google, Virgilio, Yahoo, ecc., sia interno al portale permettendo la ricerca di
un singolo bene o servizio, o di una specifica ditta tramite una ricerca per categoria
commerciale, denominazione dell’azienda, provincia o città. Presenterà servizi di
intrattenimento di tipo editoriale come una barra sempre aggiornata collegata alle
notizie dell’ultima ora dell’Ansa, una piccola finestra contenente le notizie meteo
regionali, la possibilità di ascoltare in ogni momento un giornale radio e in più
permetterà la possibilità di accedere a tantissimi altri servizi, come Faq, newsletter e
servizi webmail. Si potrà utilizzarlo per registrarsi gratuitamente inserendo i dati
principali della propria attività e di accedere ogni qual volta si vuole ai propri dati
personali in modo da poterli modificare e tenere costantemente aggiornati. In più, ai
membri dello staff tecnico del portale, sarà possibile visualizzare i dati degli utenti ed
eventualmente aggiungere loro permessi più ampi previo pagamento, modificarli o
cancellarli. Comprenderà delle vetrine di annunci commerciali che permetteranno di
acquistare uno spazio per inserire il proprio, che sarà poi possibile modificare da
un’area apposita. Sarà possibile, per un’azienda che vuole farsi pubblicità, acquistare
uno spazio per il proprio banner pubblicitario che verrà visualizzato, insieme agli
altri, in un ordine casuale ogni qual volta la pagina viene aperta. Sarà possibile
controllare la propria posta online, se si dispone di un account con Virtuacom,
scaricare i programmi necessari per una buona navigazione in rete, contattare gli
amministratori del portale e valutare il portale stesso. E molto altro ancora.
- 42 -
Per la realizzazione di questo portale avrò bisogno di tutte quelle conoscenze
acquisite durante i corsi universitari di “Linguaggi e Programmazione Web” per la
realizzazione delle pagine in Html, Javascript e Php, di “Sistemi Informativi e Basi di
Dati” per la realizzazione del database in MySql su cui si appoggerà tutto il
funzionamento del portale e di “Informatica Multimediale” per gli elementi di grafica
dinamica e accattivante fatti in Flash e per la realizzazione di un’interfaccia completa
ma facile da utilizzare, più un bagaglio personale derivato da un uso amatoriale, ma
massiccio di tutti gli strumenti di cui necessiterò.
La nostra vita si consuma nella cura dei particolari…
Semplificare, semplificare.
Henry David Thoureau - Walden
3.2 LE SPECIFICHE
L’assegnazione delle specifiche del progetto è stata svolta in due tempi. All’inizio
del lavoro sono state decise le caratteristiche principali che il portale doveva avere,
descritte in linea di massima. Successivamente, durante la realizzazione, queste
caratteristiche, sono state precisate per mezzo di dati specifici, con chiarezza e
abbondanza di particolari.
Le specifiche iniziali erano:
•
progettazione, realizzazione e gestione del sito web con progettazione grafica
ed utilizzo di programmazione dinamica (Javascript, Applet Java, Active x,
Flash Shockwave, …);
•
realizzazione e gestione di aree riservate per accessi personalizzati,
autoiscrizioni ed autoinserimenti, aggiornamento di abbonati ed aziende, aree
spot, ecc.;
•
realizzazione e gestione di un’area di link utili suddivisa per categorie;
•
realizzazione e gestione di link evoluti a servizio tipo Meteo e Viabilità con
aggiornamento dei dati automatico da parte di ns. server per una più rapida
consultazione;
•
motore di ricerca interno per categorie, nome e provincia;
•
motore di ricerca esterno sul web;
- 43 -
•
servizi dinamici al pubblico, info, notizie, Faq, newsletter, collegamento ai
servizi webmail di Virtuacom.
Per far sì che il sito avesse queste caratteristiche è stato deciso di suddividere gli
utenti che lo utilizzeranno in tre livelli:
•
nel primo, gratuito, è possibile inserire solamente la denominazione sociale,
l’indirizzo e il telefono;
•
nel secondo, a pagamento, è possibile inserire anche un logo, l’indirizzo della
proprio pagina web, il proprio indirizzo e-mail ed una breve descrizione della
ditta;
•
nel terzo, ad un prezzo più alto del secondo, sarà possibile avere una propria
piccola pagina dinamica, all’interno del portale, dove inserire fino ad un
massimo di 2 fotografie e una descrizione estesa della propria attività e verrà
attivata la possibilità ad un ospite del sito di inviarsi alla propria e-mail il
biglietto da visita della ditta.
Il motore di ricerca interno al portale dovrà permettere la ricerca tramite categoria,
nome, città, provincia e parole chiave, sia con un solo campo, che per affinamenti
successivi e le vetrine visualizzate dovranno essere ordinate in modo che siano prima
visibili i dati degli utenti di terzo livello, poi di quelli di secondo ed infine degli
utenti non paganti.
Ogni nuovo utente che si registra al portale dovrà inserire obbligatoriamente la
denominazione sociale, il numero di telefono, almeno una categoria ed un indirizzo
e-mail valido. Per questo motivo in ogni form presente all’interno del sito sarà
effettuato un controllo sull’indirizzo e-mail. Al momento della registrazione la
password inserita sarà memorizzata criptata all’interno del database e deve essere
possibile richiederla in caso di perdita. In più, per chi è interessato, deve essere
possibile richiedere informazioni riguardo le altre modalità di inserimento e il
relativo listino prezzi. Terminata la registrazione l’utente riceverà una conferma dei
dati per e-mail ed anche i gestori del sito ne riceveranno una che segnalerà
l’iscrizione di un nuovo utente con tutti i dati inseriti, lo stesso avviene in caso di
modifica dei propri dati. Ogni e-mail inviata ai clienti conterrà un’informativa sulla
privacy ed il trattamento dei dati personali.
- 44 -
Per gli utenti a pagamento, ogni immagine inserita dovrà avere una dimensione
prefissata (145x80 pixel, max 64Kb i loghi e 300x225, 400x300, 500x375 pixel, max
500Kb le foto) e dovrà essere presente un controllo che permetta di non memorizzare
i dati in caso di misure non conformi. La descrizione estesa dell’attività non potrà
superare gli 850 caratteri e uno script segnalerà i caratteri rimanenti.
Le pagine vetrina offerte e vetrina usato dovranno contenere tutti le inserzioni con
un’immagine (max 150x150 pixel), una descrizione (max 300 caratteri), il valore del
bene, il nome, la mail e il telefono (non obbligatorio) dell’inserzionista. Gli utenti
che comprano lo spazio per l’inserzione lo acquistano per un determinato periodo di
tempo (1-3-6-12 mesi) e la pagina deve automaticamente cancellare quelle scadute.
Gli utenti registrati al portale (a pagamento) hanno uno spazio inserzione gratuito
(uno per ogni pagina) gestibile dalla loro area personale. Gli altri devono registrarsi e
dopo aver pagato ricevono una password che permette loro di gestire lo spazio che
hanno acquistato in un’area apposita. In quest’area sarà possibile modificare tutti i
dati all’infuori del prezzo. Ogni modifica o inserimento sarà segnalato per e-mail ai
gestori del portale. Dovrà essere inoltre possibile cancellare l’inserzione prima della
naturale scadenza.
Nella homepage dovrà essere visibile l’indirizzo IP di chi si collega al portale e si
dovrà poter accedere all’informativa sulla privacy e ai termini di utilizzo del portale.
Il sito dovrà presentare un area denominata “staff” dove sarà possibile, ad utenti
autenticati, gestire l’intero portale, permettendogli di visualizzare un elenco dei
clienti con tutti i dati e i livelli, con la possibilità di incrementarli o diminuirli. Deve
essere possibile inserire, modificare o cancellare le categorie commerciali presenti
all’interno del sito web, inserire i banner presenti nelle pagine relative alle varie
categorie con la possibilità di scegliere un ordine di visualizzazione, in caso non
venga scelto nessun ordinamento i banner verranno visualizzati in maniera casuale.
Si potrà anche visualizzare e modificare i dati degli inserzionisti, attivare lo spazio a
coloro che lo acquistano, inserire, visualizzare, modificare o cancellare le inserzioni
in corso, ripristinare o eliminare definitivamente quelle scadute.
- 45 -
L’interfaccia del portale, per quanto riguarda il layout grafico, dovrà assomigliare, il
più fedelmente possibile, all’immagine seguente.
Queste sono, all’incirca, la maggior parte delle specifiche datemi durante lo sviluppo
di VirtuaPoint. Poiché questo portale si propone di essere un punto di riferimento per
le Marche e l’Abruzzo, dovrà essere sempre aggiornato, e, col tempo, vi saranno
aggiunti sempre più servizi utili. Per questo potranno esserci delle incongruenze tra
ciò che è scritto in questa sede e quello che sarà visibile online, ma lo schema di base
sarà sempre riconducibile a quello descritto.
- 46 -
3.3 LA PROGETTAZIONE
Per realizzare il sito in Php e creare il database in MySql ho adottato la strategia
inside-out che consiste nell’individuare inizialmente solo alcuni dei concetti
importanti e poi procedere, a partire da questi, a “macchia d’olio”. Si rappresentano
cioè prima le idee concettualmente più vicine ai concetti iniziali, per poi muoversi
verso quelli più lontani attraverso una navigazione tra le specifiche. Questa strategia
presenta il vantaggio di non richiedere passi d’integrazione. D’altro canto è
necessario, di volta in volta, esaminare tutte le specifiche per individuare concetti
non ancora rappresentati e descriverli nel dettaglio.
3.3.1 IL DATABASE
Il database, a differenza dell’interfaccia dove mi sono stati posti dei vincoli grafici,
ho potuto realizzarlo come meglio credevo. Per questo ho iniziato dalla progettazione
concettuale, che ha lo scopo di rappresentare le specifiche informali della realtà di
interesse in termini di una descrizione formale e completa, ma indipendente da come
verrà poi rappresentata all’interno della base di dati, con una raccolta e analisi dei
requisiti che il portale, e di conseguenza il database, deve avere, leggendo e
rileggendo le specifiche, con particolare attenzione a quelle che riguardavano la
struttura del database. Il primo problema che mi si è posto è stata la progettazione e
diversificazione dell’utente. Per ogni utente del sito, da quello che usufruisce dei
servizi gratuiti a quello a pagamento, compreso i membri dello staff, verranno
registrati il proprio username identificativo, la propria password (criptata insieme
all’username secondo l’algoritmo MD5), l’e-mail con cui si registra e i gradi di
accesso nella tabella utenti e gli sarà assegnato un codice numerico che lo
identificherà all’interno del database. Questo codice diventerà la chiave primaria
(esterna) delle tre tabelle che memorizzano i dati del cliente a seconda del livello di
accesso che possiede, in modo che, se presente nella tabella corrispondente,
indicherà che l’utente può usufruire di questo tipo di servizio. Quando una persona si
registra on-line gli verrà assegnato d’ufficio il primo livello, per poter poi essere
aumentato solamente da un membro dello staff. Le tabelle riguardanti i tre livelli si
chiameranno rispettivamente liv1, liv2 e liv3. La prima conterrà tutti i dati anagrafici
- 47 -
del cliente e le categorie di appartenenza (fino ad un massimo di tre), nella seconda
verranno memorizzati gli indirizzi web e e-mail dell’utente, più il logo e una breve
descrizione dell’attività e, infine, nell’ultima verrà memorizzata la descrizione
completa dell’attività e le foto da inserire nella pagina personale all’interno del
portale.
Realizzata una visione d’insieme di come verranno memorizzati gli utenti all’interno
del database ho iniziato a progettare le parti dinamiche del sito, come il menù di
sinistra contenente tutte le categorie commerciali presenti nel database. Per questo
menù ho semplicemente predisposto una tabella chiamata categorie contenente la
denominazione di ognuna con un codice ad essa associato. Questo codice servirà,
poi, ad identificare tutti gli utenti che ne fanno parte. Per gli amministratori del
portale, nella sezione a loro dedicata, sarà sempre possibile vedere tutte le categorie,
modificarle, cancellarle o aggiungerne delle altre.
Per rendere possibile, oltre alla ricerca per categorie, anche quella per parole chiave
(come, ad esempio, prodotti o tipologia di servizi forniti) ho creato un’altra tabella,
chiamata pcutenti (ParoleChiaviUTENTI), dove vengono memorizzate, all’atto
dell’iscrizione tutte le definizioni che un utente intende associare alla propria ditta.
Questa tabella conterrà un record per ogni parola chiave ed ogni ditta potrà averne
fino ad un massimo di venti.
Anche i banner, come i loghi e le foto, verranno memorizzati all’interno del database
in una tabella chiamata banner_cat che, oltre a contenere l’immagine, ne memorizza
l’url del proprietario e la posizione in cui va visualizzato. Se la posizione non è
presente verrà visualizzato in una posizione random (casuale).
Per gestire le inserzioni nel sito, sia di oggetti nuovi che usati, ho creato due tabelle
con gli stessi campi, chiamate inserzione_offerte e inserzione_usato. In queste tabelle
viene salvata l’immagine dell’oggetto in vendita, la descrizione, il nome del
venditore, la mail, il telefono, la data dell’inserimento, la data di scadenza, la durata,
il valore del bene, la password dell’inserzione e il codice dell’inserzionista. Questo
codice può corrispondere sia ad un utente di secondo o terzo livello, che hanno
entrambi un’inserzione gratuita in tutte e due le vetrine, sia ad un utente che ha
acquistato lo spazio per una sola inserzione. I dati di questi utenti, quando si
registrano per la prima volta, vengono memorizzati nella tabella inserzionista che
- 48 -
contiene: nome, cognome, azienda, città, indirizzo, e-mail, telefono, username e il
codice che lo identifica univocamente.
Terminata la progettazione concettuale, sono passato alla rappresentazione logica,
che consiste nel tradurre lo schema concettuale nel modello di rappresentazione dei
dati adottato dal sistema di gestione di base di dati a disposizione, nel mio caso di
MySql. Questo modello, che prende il nome di modello logico dei dati, è di seguito
riportato.
Schema Entità – Relazione
Dizionario dei dati
- 49 -
NOTE
•
Le tabelle Liv1, Liv2, Liv3 sono identificate esternamente dal campo codice della
tabella Utenti.
•
Il campo ditta della tabella Pcutenti è referenziato al codice di Liv1.
•
I campi cat1, cat2 e cat3 di Liv1 sono referenziati al codice di Categorie, come il
campo categoria di Banner_cat.
•
Il campo codiceut di Inserzione_offerte e Inserzione_usato è referenziato al
codice di Utenti, mentre il campo codiceins è referenziato al campo codice di
Inserzionista.
•
Il campo tipo di Utenti indica il livello degli utenti, differenziato in questo modo:
o Amministratore, 0.
o Iscrizione gratuita, 1.
o Inserimento base, 2.
o Inserimento full, 3.
•
Il campo ordine di Banner_cat serve per dare un ordinamento alla visualizzazione
dei banner pubblicitari all’interno della pagina. Se di valore NULL vengono
visualizzati con un ordine casuale.
•
I campi codiceut e codiceins di Inserzione_offerte e Inserzione_usato servono a
distinguere a chi appartiene l’inserzione, se è presente il primo è di un utente
registrato a pagamento al portale, se è presente il secondo è di un’inserzionista
che ha acquistato lo spazio, se entrambi assenti è stata inserita da un
amministratore del portale. Il campo pres indica se l’inserzione è visibile o no ai
visitatori, permettendo la cancellazione logica, prima di quella fisica. Il campo
durata serve, al momento dell’acquisto di uno spazio, a memorizzare la durata da
sommare per calcolare la scadenza quando lo spazio verrà attivato.
Come ultima fase, ho completato lo schema logico con la specifica dei parametri
fisici di memorizzazione dei dati, ottenendo così lo schema relazionale. Ogni nome a
sinistra rappresenta una tabella con tutti i campi tra parentesi e quello sottolineato è
la chiave primaria.
- 50 -
Utenti ( codice , user, pass, mail_reg, tipo)
Liv1 ( codice , denominazione, indirizzo, citta, prov, tel, fax, cat1, cat2, cat3)
Liv2 ( codice , web, mail, logo, tipofile, datt)
Liv3 ( codice , foto1, foto1tipo, foto2, foto2tipo, descrizione)
Categorie ( cod , denominazione)
Pcutenti ( codice , parola, ditta)
Banner_cat ( codice , banner, tipofile, categoria, ordine, url)
Inserzionista ( codice , user, citta, indirizzo, tel, nome, cognome, ditta, mail)
Inserzione_offerte ( cod , immagine, tipofile, descrizione, nomeven, mailven, telven,
datains, durata, scadenza, password, codiceut, codiceins, valore, pres)
Inserzione_usato ( cod , immagine, tipofile, descrizione, nomeven, mailven, telven,
datains, durata, scadenza, password, codiceut, codiceins, valore, pres)
U
U
U
U
U
U
U
U
U
U
U
U
U
U
U
U
U
U
U
U
Adesso è possibile implementare la base di dati in MySql, scegliendo per i vari
campi il tipo di dato più adatto.
Il database sul Web Server Apache
3.3.2 ALCUNE QUERY
Una volta realizzato e implementato sul server, siamo finalmente in grado di
utilizzare il nostro database. Durante l’utilizzo del portale, sia nostro che da parte dei
visitatori, non sarà l’utente direttamente ad interrogare la base di dati, bensì saranno
le pagine del portale scritte in linguaggio Php che, a seconda delle scelte di coloro
che lo stanno utilizzando, lo interrogherà tramite delle query già memorizzate
all’interno delle pagine.
- 51 -
Onde spiegare il funzionamento del database, inserisco di seguito tre delle
moltissime query che verranno inserite all’interno del portale, con i relativi risultati.
1) Ricerca per parola chiave, nome, città e provincia.
Su questa query si basa tutto il funzionamento del motore di ricerca interno al
portale. Come richiesto dalle specifiche, deve essere possibile cercare un’azienda in
base ad una parola chiave (che verrà confrontata con quelle inserite dalle ditte
registrate), in base al nome, in base alla città e in base alla provincia. Naturalmente
deve essere possibile sia inserire un solo campo che tutti contemporaneamente,
oppure con affinamenti successivi.
Ipotizziamo di inserire le seguenti parole nel menù di ricerca:
Cosa cerchi? internet
nome: virtuacom
città: san benedetto
prov: AP
La query risultante sarà:
Le cose da notare in questa query sono:
1. la parola chiave ricercata viene troncata dell’ultima lettera in modo da non
avere problemi per incompatibilità tra singolare-plurale (es. se cerchiamo
ristoranti o ristorante il risultato sarà lo stesso indipendentemente da come
verrà salvata la parola dalla ditta al momento della registrazione);
2. la parola chiave viene cercata anche nel nome delle categorie (es. se io
inserisco il mio ristorante nella categoria Ristoranti e Pub, potrei non pensare
ad inserire la parola chiave ristorante, facendo sì che una ricerca per questa
- 52 -
parola non visualizzi tra i risultati la mia ditta, mentre con questo
accorgimento si evita questa incongruenza);
3. la seconda parte della clausola “where” (quella esterna alle parentesi tonde) è
presente solamente se vengono inseriti i rispettivi campi;
4. l’ordinamento serve per visualizzare prima le ditte di terzo livello, poi di
secondo e per ultimo gli utenti registrati gratuitamente;
5. il risultato della query è il codice delle ditte e i rispettivi gradi di accesso.
Desidero sottolineare che se la ricerca viene effettuata per uno o più campi che non
siano la parola chiave, la query risultante è composta solo da alcune righe della
precedente e per questo non riportata.
Il risultato dell’esecuzione di questa query sul nostro database è
che, passato alla pagina di visualizzazione delle ditte, produrrà il risultato
visualizzato nella seguente immagine.
2) Visualizzazione casuale o ordinata dei banner all’interno delle categorie.
Questa seconda specifica prevede due casi: la visualizzazione casuale dei banner e
quella preordinata. Per questo motivo ho dovuto realizzare due query, la prima che
preleva i banner, per la categoria selezionata, secondo l’ordine prestabilito, la
seconda che invece li preleva in ordine casuale. In questo modo riesco a coprire tutti
i casi possibili, ovvero un completo ordinamento, un parziale ordinamento e nessun
ordinamento. Una volta prelevati i dati questi vengono visualizzati. Le due query
sono (ipotizzando che la categoria sia la numero tre):
- 53 -
Query che preleva i banner
preordinati con l’ordine prestabilito
Query che preleva i banner non
ordinati in ordine casuale
Se ipotizziamo che nella nostra categoria i banner 1 e 4 vengono visualizzati
rispettivamente al primo e al secondo posto, mentre il 2 e il 3 vengono visualizzati
casualmente i risultati delle due query saranno:
Risultato della prima query
Risultato della seconda query
Che produrrà una visualizzazione nella nostra pagina con il seguente ordine:
ferramenta (codice 1), agenzia investigativa (codice 4), lampadine (codice 3),
Buffetti (codice 2), come si può vedere nella schermata sottostante.
- 54 -
Un eventuale reload della pagina potrà solamente cambiare l’ordine dei banner
casuali, mentre quelli preordinati verranno sempre visualizzati nel posto
assegnatogli.
3) Area amministratore: visualizzazione dei clienti di livello 1, livello 2 e livello 3.
Nell’area riservata agli amministratori del portale, deve essere possibile visualizzare
tutti i dati degli utenti registrati e, per far sì che non si crei un’eccessiva
sovrabbondanza visiva dei dati quando gli utenti inizieranno ad essere parecchi, ho
deciso di dividere la visualizzazione in base ai livelli di accesso. Poiché la pagina che
li visualizzerà sarà sempre la stessa dovrà essere la query a cambiare in base al
collegamento con la quale caricheremo questa pagina. Per questo ho dovuto
preparare tre query, ognuna che visualizza solo gli utenti del relativo livello.
In questa query si deve notare il “left join” presente tra la tabella liv1 e le altre,
questo serve ad inserire tra i risultati solamente le righe presenti nella tabella che
compare a sinistra del comando, per le quali non esiste una corrispondente riga nella
tabella di destra. In questo modo il campo codice della tabella liv2 risulterà di valore
NULL (ovvero non presente) e, con il controllo presente nella clausola “where” sul
suddetto campo, ci permette di escludere dal risultato tutte quelle ditte che sono di
livello superiore al primo.
Il procedimento logico della seconda query è identico a quella precedente, con
l’unica differenza che, in questo caso, il controllo viene effettuato sul campo codice
della tabella liv3.
- 55 -
Nella terza query, invece, ho utilizzato il “right join” che ha un comportamento
speculare rispetto al “left join” in modo da escludere direttamente tutti quegli utenti
che sono presenti nelle tabelle liv1 e liv2, ma non sono presenti nella tabella liv3.
L’ultima query che intendo citare fa sempre parte della visualizzazione dei clienti ed
è quella per la ricerca per nome. Questa può essere utile nel caso sia presente una
gran mole di dati e l’amministratore è alla ricerca di uno specifico cliente di cui
conosce la denominazione sociale. In questo caso non deve far altro che inserire il
nome nel menù di ricerca e cliccare sull’apposito bottone.
Ipotizzando che l’amministratore stia cercando la ditta “virtuacom” la query è la
seguente:
Ciò produrrà il seguente risultato nella pagina dell’amministratore:
Queste sono solamente alcune delle tantissime query che verranno utilizzate
all’interno del portale. A queste di selezione se ne affiancheranno molte altre dello
stesso tipo, ma anche di manipolazione dei dati, come inserimento, cancellazione e
modifica. In questa breve panoramica ho preferito inserire solamente query di
selezione perché sono quelle che creano risultati più visibili dal punto di vista
grafico, poiché prendono i dati all’interno del database e li visualizzano nel browser.
- 56 -
3.3.3 STRUMENTI UTILIZZATI
Gli strumenti utilizzati per realizzare il portale sono:
Adobe Illustrator CS - Adobe Illustrator CS consente di concretizzare qualsiasi idea in modo
rapido ed efficiente. Converte istantaneamente bitmap in immagini vettoriali e lavora con tecniche di
pittura intuitive. Permette di risparmiare tempo grazie a palette intelligenti e aree di lavoro ottimizzate.
Inoltre, la perfetta integrazione con altre applicazioni consente di realizzare grafica accattivante per la
stampa, la visualizzazione su schermo, il Web e i dispositivi mobili.
Adobe Photoshop CS - Adobe Photoshop CS è un programma all'avanguardia della gamma
Photoshop per l'elaborazione digitale a livello professionale delle immagini che offre innovativi
strumenti creativi, flessibilità senza precedenti e funzioni più efficienti per la modifica, l'elaborazione
e la gestione dei file.
Easyphp 1.8 - EasyPHP è un pacchetto software completo che permette di sfruttare tutto il potere e
la flessibilità offerti dal linguaggio dinamico PHP integrandolo efficacemente con l'uso di database. Il
pacchetto include Apache server, MySQL database e il supporto completo di PHP come strumento di
sviluppo semplice per i siti web o le applicazioni.
FlaX - FlaX crea effetti di testo per Macromedia Flash in tempo reale. Con un’interfaccia intuitiva
ha ormai raggiunto lo standard del Flash negli effetti di testo.
Macromedia Dreamweaver MX - Dreamweaver MX è la scelta dei professionisti del settore
per la creazione di siti Web ed applicazioni. Prevede una potente combinazione di strumenti di layout
visivo, funzioni di sviluppo di applicazioni e supporto per la modifica del codice. Con funzioni sicure
per design ed integrazione basati su CSS, Dreamweaver consente a designer e sviluppatori di creare e
gestire con facilità qualsiasi sito Web .
T
T
Macromedia Flash MX - Macromedia Flash MX consente a designer e sviluppatori di integrare
video, testo, audio e grafica in esperienze adeguate e dinamiche, che garantiscono risultati migliori per
marketing e presentazioni interattivi, e-learning ed interfacce utente applicative. Flash è la piattaforma
software più diffusa nel mondo, usata da oltre un milione di professionisti del settore, disponibile ad
oltre il 97% dei desktop con accesso a Internet nel mondo, oltre che ad una vasta gamma di
periferiche.
Notepad++ - Notepad++ e' un editor di sorgente gratuito, in ambiente MS Windows, che supporta
diversi linguaggi di programmazione. Il progetto, basato sul componente editor Scintilla (un
componente editor molto potente) e scritto in C++ facendo uso esclusivamente delle api win32 (quindi
senza impiegare MFC, il che assicura una piu' alta velocita' di esecuzione e una minore dimensione
del programma), e' distribuito secondo la Licenza GPL .
Webmin 1.121 – Webmin è un’interfaccia web per l’amministrazione di sistemi Unix. Basta usare
un qualunque browser che supporta tabelle e form (e Java per il modulo File Manager) per gestire
account, Apache, DNS, trasferimento di file e altro ancora. Webmin consiste in un semplice server
web, e un numero di programmi CGI che riescono a modificare direttamente file di sistema come
/etc/inetd.conf e /etc/passwd. Il server web e i programmi CGI sono scritti in Perl versione 5.
- 57 -
Dimidium farci qui coepit habet.
(Cominciare è già metà dell’opera.)
Orazio - Epistole, I, 2, 40
3.4 LA REALIZZAZIONE
Prima di iniziare a descrivere come le idee precedentemente riportate sono diventate
il portale vero e proprio ci tengo a sottolineare che le immagini presenti in questa
parte dell’elaborato possono differire dalle schermate finali perché prese in corso
d’opera.
La prima cosa da fare, quando si realizza un sito web, è di organizzare la
memorizzazione fisica del sito. Ho creato una cartella principale denominata
virtuapoint con lo scopo di contenere tutti i files riguardanti il portale. Questa cartella
principale presenta varie sottocartelle come è intuitivo comprendere dal diagramma
sottostante.
virtuapoint
css
flash
images
banner_home
include
cornici
La struttura del portale
La cartella css contiene i vari fogli di stile presenti nel sito, in altre parole i file con
estensione css. I fogli di stile sono la principale innovazione introdotta con la
versione 4 del linguaggio Html e permettono di dare coesione e coerenza all’aspetto
definitivo di una pagina sul browser. Attraverso il ricorso ai file css è possibile
semplificare di molto il lavoro di editing di una pagina web, eliminando molte
ripetizioni di comandi. Sono molto facili da creare e da usare per determinare la
formattazione delle pagine, le dimensioni, il colore e i font utilizzati per i caratteri di
testo e dei titoli, creare rientri all’inizio dei paragrafi, giustificare il testo, variarne la
spaziatura e via dicendo, esattamente come quando si lavora a un testo all’interno di
un programma di videoscrittura.
- 58 -
Nella cartella flash ho inserito tutti i file creati con il programma omonimo o quelli
creati con il programma FlaX. Questi file non sono altro che semplici animazioni dal
sicuro impatto grafico create con lo scopo di attirare l’attenzione dell’utente su
determinati parti dello schermo.
La cartella include presenta al suo interno dei file con estensione php contenente
parte di codice ripetitivo che deve essere inserito in più pagine del portale. In questo
modo è possibile richiamarlo con una semplice linea di codice senza doverlo ogni
volta riscrivere tutto. In più se deve essere modificato basta cambiarlo una sola volta
nel file “linkato” invece di doverlo andare a modificare in ogni pagina dove,
altrimenti, dovrebbe essere stato scritto il codice.
L’ultima cartella, images, contiene tutte le immagini presenti nel sito. Le due
sottocartelle banner_home e cornici contengono rispettivamente i banner pubblicitari
presenti nella homepage del portale e le cornici dei menù.
Una volta deciso come il sito sarà memorizzato possiamo dividere, leggendo
attentamente tutte le specifiche forniteci, il lavoro da fare in sei macrosezioni:
1. homepage;
2. motore di ricerca interno;
3. area utente;
4. gestione dei banner;
5. vetrine offerte e usato;
6. area amministratore.
Prima di iniziare ho studiato le pagine del portale già realizzate come esempio e non
funzionanti: l’index, ovvero la prima pagina, e la pagina ristoranti_e_pub cioè la
visualizzazione di una ricerca per categoria. Il mio compito è di rendere il portale un
sito dinamico appoggiato ad un database che sia possibile modificare agli
amministratori del sito direttamente on-line e, per le rispettive parti, anche ai clienti
dello stesso.
3.4.1 LA HOMEPAGE
Nell’index, una delle prime parti da rendere dinamiche era il menù presente nella
parte sinistra dell’interfaccia contenente un elenco di tutte le categorie presenti nel
portale. Con un breve codice ho eliminato l’elenco statico delle categorie, che
- 59 -
sarebbe dovuto essere cambiato ogni qual volta se ne modificava anche solo una,
facendo si che sia il server stesso ad interrogare il database prendendo tutte le
categorie presenti al suo interno in quel momento e elencandole con lo stesso layout
grafico precedente. In più questo menù, a differenza del precedente, fa riferimento
sempre alla stessa pagina web passandogli, per ogni categoria, un parametro diverso
che permetterà alla pagina successiva di riconoscere quale categoria l’utente intende
visualizzare. Questo ha permesso di risparmiare oltre venti pagine web statiche, una
per ogni categoria presente nel menù. Sempre in questa pagina ho eliminato il
vecchio e invadente ticker di news riguardanti il mondo dell’informatica dalla parte
centrale dello schermo e l’ho sostituito con un più gradevole script di forma allungata
che richiama una pagina del sito Quotidiano.net contenente notizie di attualità
sempre aggiornate e l’ho posizionato sotto il menù sottostante il logo in alto a
sinistra.
Lo script di News del portale VirtuaPoint
Un piccolo menù nella parte destra dell’interfaccia è
stato inserito per permettere a tutti i clienti Virtuacom,
che hanno un indirizzo e-mail con loro, di controllare la
loro posta direttamente dal web tramite il servizio
webmail. Dopo aver inserito lo username e la password
viene aperta una nuova finestra con la casella di posta
Il menù per la posta
dell’utente.
Da questa pagina principale è
possibile accedere a tutte le altre
aree del sito, tra cui le pagine:
cercaweb che permette all’utente
di cercare le proprie informazioni
nei maggiori motori di ricerca
italiani
tramite
un
semplice
modulo che rimanda ai motori di
ricerca Google, Yahoo, Virgilio,
Il modulo per la ricerca nel Web
Altavista e Lycos; la pagina chi_siamo che contiene sia una breve descrizione dei
servizi e dei contenuti di VirtuaPoint sia tutte le informazioni principali di
- 60 -
Virtuacom, con un logo che permette di accedere al loro sito web; la pagina servizi
che contiene un elenco dei servizi che una persona può avere diventando cliente
Virtuacom; la pagina contatti contenente un modulo da compilare per contattare gli
amministratori del portale; la pagina download che presenta tutti quei programmi
(utili e gratuiti) che possono interessare coloro che navigano nel web e la pagina
privacy che presenta tutti i termini e le condizioni che un utente deve accettare per
poter usufruire dei servizi presenti sul sito VirtuaPoint.
3.4.2 IL MOTORE DI RICERCA INTERNO
Prima di realizzare il motore di ricerca vero e proprio mi sono concentrato sulla
visualizzazione per categorie commerciali nella pagina denominata categoria.
Costruita con lo stesso layout grafico della pagina ristoranti_e_pub, riceve dalla
pagina che la richiama un parametro, il codice della categoria, e da questo inizia
l’elenco di tutte le ditte che ne fanno parte, visualizzando prima le ditte degli utenti
del terzo livello, poi del secondo ed infine del primo.
Esempio di risultato di una ricerca per categoria
La differenziazione è stata fatta perché gli utenti del terzo livello, quelli che
usufruiscono del servizio a pagamento, devono essere avvantaggiati rispetto agli
utenti di secondo livello, che pagano un prezzo minore, e quelli di primo livello che
usufruiscono dei servizi offerti gratuitamente. Oltre a essere avvantaggiati nella
- 61 -
visualizzazione hanno dei benefici maggiori perché agli utenti gratuiti è possibile
inserire solamente i dati anagrafici della ditta, per quelli di secondo livello è possibile
inserire anche un piccolo logo, un indirizzo web della loro homepage, un indirizzo email e una breve descrizione della ditta, mentre quelli del terzo hanno in più una
piccola pagina web, all’interno del portale, dove possono inserire fino a due foto e
una descrizione dei servizi che offrono e viene attivata la possibilità, per i visitatori,
di inviarsi al proprio indirizzo di posta elettronica il biglietto da visita dell’azienda.
Divisione logica degli utenti del portale VirtuaPoint
Facendo click sul nome delle aziende dei clienti di terzo livello si accede alla loro
pagina personale, denominata ditta, nella quale vengono riproposti tutti i dati già
visualizzati nell’elenco precedente ed è qui che si dà ampio spazio alla ditta con una
lunga descrizione dell’attività svolta e le foto che sono state memorizzate nel
database.
Per inserire le foto in questa pagina e
i loghi nella pagina categoria ho
dovuto creare altre due pagine
dinamiche
poiché,
immagini
riguardanti
essendo
gli
le
utenti
salvate all’interno di un record di
una tabella, non era possibile creare
un link al file che fisicamente non
esiste. Queste due pagine, che
ricevono
dei
parametri
quando
vengono richiamate, sono in grado di
Esempio di pagina dedicata a ditta di terzo livello
- 62 -
andare a prendere nel database i bit che compongono l’immagine, il mimetype e
ricostruirla “trasformandosi” in essa. Questi due file sono stati chiamati
rispettivamente foto e logo.
Il motore di ricerca interno permette la ricerca tramite parola chiave, nome, città e
provincia, sia contemporaneamente sia con affinamenti successivi. Per questo motivo
è
stato
inserito,
nelle
pagine
realizzate
in
precedenza, un piccolo menù posto superiormente a
quello che elenca le categorie commerciali del sito,
che permette di inserire le parole con cui effettuare
la ricerca e vederne i risultati in una pagina
chiamata ricerca che ha lo stesso layout grafico
della pagina categoria. E’ stato deciso, inoltre, che
le parole chiave riguardante ogni singola ditta
verranno scelte all’atto della registrazione e se ne
potranno inserire fino ad un massimo di venti. La
Il menù di ricerca
ricerca potrà essere fatta per affinamenti successivi
inserendo, ad esempio, prima una parola chiave indicante un oggetto di nostro
interesse, poi diminuire l’elenco dei risultati visualizzati inserendo la provincia che ci
interessa, e, se non bastasse, addirittura la città. Onde evitare il problema di
incompatibilità tra singolare e plurale, quando viene avviata una ricerca per parola
chiave
viene
automaticamente
troncata
dell’ultima
lettera,
in
un
modo
completamente invisibile all’utente, e la ricerca viene effettuata sulla parola
risultante. La visualizzazione dei risultati è stata fatta con lo stesso codice utilizzato
per la ricerca per categorie, memorizzato in un file nella cartella include denominato
visualizza.
Gli utenti che usufruiranno di
questo portale saranno tutte quelle
persone che stanno cercando un
bene o servizio nella zona delle
Marche-Abruzzo,
ed
una
volta
trovata la ditta che ne dispone
dovranno stampare o scrivere a
Il biglietto da visita della Virtuacom
- 63 -
mano i suoi dati. Per questo è stato deciso di inserire la possibilità per gli utenti di
inviarsi il biglietto da visita delle ditte di terzo livello direttamente al proprio
indirizzo di posta elettronica. Cliccando sulla bustina che appare durante la ricerca o
sull’apposito link nella pagina relativa all’azienda e inserendo il proprio indirizzo,
nel giro di pochi secondi, si riceve una mail contenente tutti i dati fondamentali per
contattare la ditta alla quale siamo interessati. In questo modo, oltre a non aver
bisogno di scrivere i dati se ne avrà a disposizione sempre una copia memorizzata
nella propria casella di posta.
3.4.3 L’AREA UTENTE
Per accedere all’area riservata agli utenti registrati e
all’area dello staff, è stato creato un piccolo menù
posto nella parte alta a destra della homepage, dove
si deve inserire il proprio username identificativo e
la password scelta al momento della registrazione.
Questi dati vengono passati alla pagina login che ne
controlla la correttezza secondo una procedura che
cerca di evitare ogni accesso non autorizzato.
Quando un utente si registra al portale inserisce una
Il menù dell’area riservata
parola identificativa, che non deve già essere stata usata da nessun altro visitatore
registrato al portale, ed una password che, per motivi di sicurezza non viene
direttamente memorizzata nel database, ma se ne memorizza il valore MD5 prodotto
dall’unione dello username e della password.
MD5 (specificato nella RFC 1321) è l’acronimo di Message Digest 5 ed è un
algoritmo in grado di associare un valore esadecimale di 32 caratteri ad una stringa di
testo con le seguenti caratteristiche:
•
ha una lunghezza fissa di 128bit,
•
è praticamente impossibile trovare due messaggi m1 ed m2 che restituiscono
lo stesso codice,
•
non è possibile, partendo dal valore ottenuto, risalire all’originale.
- 64 -
In pratica è una funzione di hash, cioè una funzione univoca che non può essere
invertita, atta alla trasformazione di un testo in chiaro e di lunghezza arbitraria in una
stringa di lunghezza limitata che rappresenta una sorta di “impronta digitale” del
testo di partenza. In questo modo, per accedere ai propri dati, visto che è impossibile
decriptare la password, è criptare con la stessa funzione i dati immessi al momento
del login. Se i due valori coincidono allora l’utente è autorizzato, senza che la
password sia visibile nemmeno ad un eventuale pirata informatico che riesca a
visualizzare i record del database. Ed è questa la procedura che ho deciso di
utilizzare per l’accesso all’area riservata del portale.
In caso un utente dovesse dimenticare la propria password è stato inserito un link che
permette di richiedere in maniera automatica i propri dati di accesso. Questo
collegamento richiama la pagina mail e gli passa il codice del cliente che sta
cercando di entrare nell’area riservata senza riuscirci, valore che prende dallo
username che identifica ogni utente in maniera univoca. Non potendo decriptare il
valore della password originale ne viene assegnata un’altra d’ufficio calcolata in
maniera casuale e composta da sei caratteri alfanumerici. Questa nuova password,
insieme allo username vanno a formare il nuovo valore MD5 memorizzato nel
database. L’utente riceve l’e-mail nel giro di pochi secondi all’indirizzo inserito al
momento dell’iscrizione potendo così nuovamente accedere all’area personale dove,
se lo desidera, potrà cambiare il valore della password casuale con una più facile da
ricordare mnemonicamente.
Mail generata in maniera automatica alla richiesta dei dati di accesso da parte di un utente
Quando l’identificazione avviene in maniera corretta la pagina login crea due
variabili di sessione, la prima permette all’utente di visualizzare le pagine riservate,
- 65 -
la seconda memorizza il codice dell’utente che servirà per poter risalire ai suoi dati
all’interno del database e permettergli di visualizzarli, modificarli e integrarli.
Il supporto delle sessioni del php ci permette di stabilire un “dialogo” con l’utente
del nostro sito, superando uno dei limiti del protocollo http, che è quello di “non
avere stato”. Infatti, per questo protocollo, ogni richiesta è unica ed indistinguibile
dalle altre. Quando un utente fa più richieste in successione, il server web non ha
possibilità di rendersi conto che si tratta sempre della stessa persona e se questo non
crea problemi nella maggior parte delle situazioni, ci sono dei casi in cui è
importante stabilire questa specie di dialogo tra l’utente e il server, in quanto ogni
operazione che l’utente compie può influenzare le successive ed essere influenzata
dalle precedenti. Basti pensare all’utilizzo che ne viene fatto anche in questo sito: un
utente registrato e autorizzato può accedere a determinate pagine che altrimenti non
potrebbe visitare e si aspetta di poterle visitare tutte senza dover ogni volta reinserire
i propri dati, cosa che sarebbe impossibile
se il server non riuscisse a registrare in
qualche modo il fatto che l’utente si è già
fatto riconoscere e che quindi ha il
permesso di visitare quelle pagine. Ed è
proprio questo ciò che le sessioni ci
permettono di fare.
Sempre dal menù dell’area riservata è
possibile accedere, attraverso un link, alla
pagina registrazione che permette ad un
nuovo utente di registrarsi al portale e
inserire i dati della propria attività. La
registrazione si articola in tre fasi:
•
inserimento dei dati da parte
dell’utente,
•
riepilogo dei dati e successiva
conferma,
•
inserimento parole chiave e fine
registrazione.
Il form per la registrazione di un nuovo utente
- 66 -
Nella prima pagina è presente un form che, dopo aver letto una breve nota
informativa, l’utente deve compilare almeno nei suoi campi obbligatori (quelli
contrassegnati dal classico asterisco). Il form è suddiviso in due parti, la prima, che
possiamo chiamare di “anagrafica”, richiede di inserire tutti quei dati che verranno
visualizzati nella scheda dell’azienda di primo livello, mentre la seconda richiede i
dati necessari all’utente per poter entrare nella propria area riservata e l’indirizzo email al quale verranno riepilogati tutti i dati memorizzati. Sempre in questa parte è
possibile scegliere di ricevere, una volta che l’iscrizione è avvenuta, tutte le
informazioni sulle diverse modalità di inserimento (utenti di livello due e tre) e dei
relativi prezzi.
Quando l’utente ha terminato l’inserimento e conferma il tutto premendo il relativo
pulsante, dopo aver controllato che nel database non esista un altro username
identico, si apre una seconda pagina, conferma, che mostra tutti i dati inseriti, di
modo che colui che sta effettuando la registrazione possa controllare che non ci siano
errori di battitura ed eventualmente tornare alla schermata precedente per poterli
correggere. Se tutti i dati inseriti risultano corretti, dopo la conferma da parte
dell’utente, inizia l’ultima fase, nella pagina fine_registrazione, che consiste in
quattro fasi:
1. memorizzazione di tutti i dati inseriti dall’utente nel database;
2. richiesta all’utente se desidera inserire adesso le parole chiave per la ricerca
della propria ditta;
3. invio della mail con il riepilogo dei dati di accesso all’indirizzo e-mail
inserito dall’utente all’inizio della registrazione;
4. invio di una mail ai gestori del sito con la segnalazione della registrazione di
un nuovo utente.
Per quanto riguarda la seconda fase se l’utente non desidera farla al momento della
registrazione può rimandare il tutto a quando accederà nell’area riservata. In caso
contrario gli basterà compilare il modulo presente nell’ultima pagina della
registrazione con le parole chiave che desidera associare alla propria ditta, il quale
passerà tutti i dati ad una nuova pagina denominata salva_parole che li memorizzerà
all’interno del database. La mail che viene inviata automaticamente all’utente
contiene il riepilogo dei propri dati di accesso e, se durante la registrazione ha
- 67 -
segnalato di essere interessato alle altre modalità di inserimento, anche una parte
contenente le informazioni richieste ed il relativo listino prezzi. Ogni e-mail inviata
dal portale ad un utente contiene un’informativa sulla privacy in base al Decreto
legislativo 196/2003 a cui ogni azienda italiana deve adempiere se non vuole
ricorrere in sanzioni amministrative e penali. L’altra e-mail, quella che viene inviata
ai gestori del sito, segnala che un nuovo utente si è registrato e ne segnala la
denominazione sociale e tutti i dati, comprese le parole chiave inserite.
La pagina riservata ad ogni utente registrato, chiamata area_utente, prima di tutto
controlla che la variabile di sessione sia stata creata ed abbia il giusto valore, e se
così è, significa che l’utente ha effettuato il login con un username e una password
validi, altrimenti non permette la visualizzazione della
pagina ma visualizza un messaggio di allerta e
rimanda
alla
pagina
principale
del
sito.
Fondamentalmente, la pagina riservata contiene un
piccolo menù e la spiegazione di ciò che l’utente può
fare in quest’area: visualizzare ed eventualmente
modificare i propri dati, vedere le informazioni
riguardanti le altre modalità di inserimento e il listino
Il menù dell’area utente
prezzi, contattare gli amministratori del portale ed uscire dall’area riservata.
Quanto un utente esce dall’area a lui riservata, richiamando la pagina chiamata
logout, vengono “distrutte” tutte le variabili di sessione e viene ricaricata la pagina
principale del portale. In questo modo anche se l’utente cercherà di rientrare in quelle
pagine manualmente, inserendo l’url completo nella barra degli indirizzi, riceverà un
messaggio di errore se non avrà di nuovo effettuato il login.
Nella pagina area_utente_dati vengono visualizzati tutti i dati, a seconda del livello e
da qui, ma anche dalla pagina di modifica, è possibile richiamare una piccola finestra
da dove è possibile modificare la password del proprio account. La modifica avviene
allo stesso modo della richiesta della password, con l’unica differenza che in questo
caso la password è scelta dall’utente. Se un utente, dopo aver visualizzati i propri
dati, desidera anche modificarli, può farlo premendo l’apposito bottone che apre la
pagina area_utente_modifica in tutto e per tutto identica alla precedente, ma con i
propri dati visualizzati in campi di testo che è possibile modificare. Da qui, e dalla
- 68 -
pagina precedente, facendo click sull’apposito link si accede alla pagina
area_utenet_pc che permette la modifica delle parole chiave. E’ sempre in questa
pagina che accede l’utente al quale è stato aumentato il livello, a lui saranno
visualizzati i campi aggiuntivi vuoti da compilare. Poiché, per rispettare il layout
grafico, il logo e le foto devono avere delle dimensioni prestabilite, al momento
dell’inserimento verrà fatto un controllo che segnalerà, in caso di misure non
conformi, il problema all’utente e non salverà i dati all’interno del database. Se tutto
è corretto, invece, vengono memorizzati i dati e richiamata la pagina di
visualizzazione in modo da far vedere all’utente le modifiche effettuate. In ogni caso,
prima della visualizzazione, viene inviata automaticamente una mail ai gestori del
portale con tutti i nuovi dati dell’azienda.
Sempre in quest’area è possibile vedere tutte le informazioni riguardo le varie
modalità di inserimento e i relativi prezzi nella pagina area_utente_listino, e
contattare gli amministratori del portale tramite un form presente nella pagina
area_utente_contatti. Dopo aver scelto il motivo della comunicazione (richiedere
informazioni, cancellare i propri dati, usufruire di una modalità a pagamento o
segnalare un malfunzionamento) l’utente compila l’area di testo con la
comunicazione vera e propria e segnala se vuole la risposta all’indirizzo e-mail con
quale ha effettuato la registrazione oppure un altro indirizzo inserito sul momento e
la invia tramite una mail generata dalla pagina agli amministratori del portale con
tutte le informazioni inserite.
Esempio di e-mail di richiesta informazioni
3.4.4 LA GESTIONE DEI BANNER
I banner pubblicitari presenti nelle pagine della ricerca per categoria vanno
visualizzati a destra dell’elenco delle ditte presenti, hanno dimensione prefissata e
possono essere visualizzati con un ordine prestabilito (deciso dagli amministratori
del portale) o in un ordine casuale. Sono sempre gli amministratori ad inserirli
- 69 -
all’interno del database dall’area a loro riservata. La
visualizzazione funziona in questo modo: quando un
utente apre la pagina di ricerca per categoria viene
controllato nel database se sono presenti dei banner
associati a quella categoria. Se non sono presenti viene
visualizzata un’immagine che segnala che lo spazio è
disponibile
per
chiunque
voglia
farsi
pubblicità,
altrimenti vengono selezionati in un ordine casuale. Poi si
controlla che non sia già stato prestabilito un ordine e se
così non è vengono visualizzati in ordine casuale,
altrimenti si visualizzano prima quelli ordinati, poi i
rimanenti in ordine casuale. Tutti i banner fanno
riferimento al sito web memorizzato nell’apposito campo
all’interno del database. Se l’utente è interessato ad
Banner visualizzati in ordine
casuale
inserire un banner lo può fare cliccando sull’immagine relativa che apre la pagina
infbanner che, dopo aver presentato i prezzi all’utente, gli permette di compilare un
form che crea in automatico una mail con tutti i dati inseriti dall’utente e li invia
automaticamente agli amministratori del portale. In questo form, come in tutti gli
altri presenti all’interno del portale viene fatto un controllo sull’indirizzo e-mail per
controllare che non ci siano scritti caratteri a caso. Lo script ricerca all’interno
dell’indirizzo inserito il carattere “@” e controlla anche che alla fine ci sia un “.”
seguito da it, com, biz, ecc. Se non trova errori di sorta permette l’invio della mail,
altrimenti segnala l’errore all’utente e blocca l’invio.
3.4.5 LE VETRINE DELLE OFFERTE E DELL’USATO
Le vetrine delle offerte e dell’usato devono contenere tutte le inserzioni che
chiunque, privato o ditta che sia, può inserire nel nostro portale per vendere beni e/o
servizi. Le due pagine si chiamano rispettivamente vetrina_offerte e vetrina_usato e
sono identiche tranne per il fatto che si riferiscono a due tabelle diverse sul database.
Quando una pagina viene aperta la prima cosa che viene fatta è il controllo sulle
scadenze delle inserzioni, se la data di scadenza è antecedente alla data odierna viene
modificato un campo della tabella contente l’annuncio in modo che questo non verrà
- 70 -
visualizzato, poi vengono visualizzate tutte le inserzioni, rigorosamente in ordine di
inserimento. In fondo alla pagina è possibile accedere a tutte le informazioni e i
prezzi per inserire il proprio annuncio e per modificare o cancellare il proprio se già
lo si ha. L’inserzione consta dei seguenti elementi: un’immagine di dimensione
massima 150x150 pixel, una descrizione di massimo 350 caratteri, il nome
dell’inserzionista, l’indirizzo e-mail e il telefono (facoltativo), come è facile intuire
dall’immagine sottostante.
Esempio di layout grafico di un’inserzione nella pagina Vetrina Offerte
Per entrambe le pagine ho dovuto creare altri due file chiamati fotovetr e fotovetrus
per visualizzare le foto che sono sempre memorizzate all’interno del database.
I clienti registrati al portale, di
secondo e terzo livello, possono
inserire e modificare le proprio
inserzioni gratuite direttamente
dall’area
pagina
utente.
Aprendo
la
area_utente_inserz
la
prima volta, viene visualizzato un
messaggio che informa l’utente
che le proprie inserzioni non
sono attive e tramite un pulsante
gli permette di attivarle. Se
l’utente attiva i propri spazi gli
vengono
visualizzate
le
due
inserzioni con tutti i campi vuoti
La gestione delle inserzioni per un cliente del portale
- 71 -
che può modificare tramite la pagina area_utente_modins dove gli appaiono tutti i
campi di testo vuoti da compilare. Una volta inseriti, cliccando sull’apposito
pulsante, può salvare tutti i dati nel database e da quel momento la propria inserzione
è attiva e visibile nella vetrina corrispondente. Sempre da questa pagina può decidere
di cancellare la propria inserzione se, ad esempio, l’offerta è scaduta e non ha altro
con cui rimpiazzarlo.
Per gli utenti che, invece, non sono clienti del portale, ma desiderano acquistare
solamente uno spazio a tempo ho creato altre tre pagine, la prima
vetrina_informazioni contiene tutte le informazioni riguardo a come poter effettuare
le inserzioni e i relativi prezzi, la seconda vetrina_acquisti permette all’utente di
compilare il modulo per acquistare uno spazio e la terza vetrina_login permette
all’utente di identificarsi e modificare o cancellare la propria inserzione.
Quando un utente desidera acquistare uno spazio, come prima cosa deve identificarsi
come un utente già registrato o un nuovo utente, questo perché per coloro che sono
già registrati non sarà necessario reinserire tutti i dati di identificazione, bensì
solamente il nome utente. Per tutti gli altri sarà invece necessario inserire tutti i
propri dati. In questa pagina, il form permette anche di calcolare il prezzo da pagare
per la propria inserzione in base al valore del bene e alla durata. Cliccando
sull’apposito bottone verrà visualizzata una scritta che segnala il prezzo da pagare.
Lo script che in base ai dati inseriti calcola il prezzo da pagare.
Una volta terminata la registrazione, e controllato che lo username inserito non sia
già presente nel database (per gli utenti non registrati in precedenza) oppure che
esista già (per quelli già registrati) vengono salvati tutti i dati nel database e vengono
inviate due e-mail, una all’utente che contiene, tra l’altro, le informazioni riguardo
alle possibili modalità di pagamento (carta di credito o bonifico bancario) e una ai
gestori del portale per informarli della richiesta da parte dell’utente. Una volta che
sarà stato effettuato il pagamento, gli amministratori, nella loro area riservata,
- 72 -
attiveranno lo spazio all’utente che, informato tramite e-mail dell’avvenuta
attivazione e messo a conoscenza della password dell’inserzione, da quel momento
potrà inserire la propria inserzione. Nella pagina vetrina_login l’utente deve inserire
la vetrina (offerte o usato) e lo username scelti al momento della registrazione e la
password ricevuta via e-mail, se tutti i dati sono corretti può accedere alla pagina
vetrina_modifica altrimenti viene rimandato un messaggio all’utente che segnala che
i dati inseriti non sono corretti. Quando l’identificazione avviene in maniera corretta
si apre una pagina nel quale viene visualizzata la propria inserzione. Da qui è
possibile inserirla, modificarla o cancellarla. La prima volta che l’utente entra in
questa pagina può modificare tutti i campi dell’inserzione (tranne il prezzo) e
memorizzare tutti i dati. Al momento in cui l’utente decide di salvare il tutto, viene
calcolata la data di scadenza in base alla durata scelta al momento dell’iscrizione. Da
questo momento l’utente potrà continuare a modificare la propria iscrizione ma non
gli sarà possibile, in alcun modo, modificarne la scadenza. Il giorno dopo la data di
scadenza l’inserzione verrà rimossa logicamente dal database, cioè non sarà più
visibile nella vetrina corrispondente, ma rimarrà sempre memorizzata nel database.
In questo modo gli amministratori potranno continuare a vederla ed eventualmente,
dopo un ulteriore pagamento, ripristinarla inserendo una nuova data di scadenza,
come accade quando un utente decide di cancellarla manualmente.
3.4.6 L’AREA AMMINISTRATORE
In quest’area gli amministratori di VirtuaPoint devono poter fare tutto quello che gli
utenti riescono a fare dal sito, in più poter controllare tutti i loro dati, poterli
modificare, ecc. Per questo ho creato la pagina admin divisa in cinque macro settori:
1. gestione clienti;
2. gestione categorie;
3. gestione banner;
4. gestione inserzionisti;
5. gestione vetrine.
In ogni area è poi possibile svolgere delle operazioni particolari come si può
facilmente vedere dalla schermata della pagina.
- 73 -
Layout grafico dell’area amministrazione
Come per accedere all’area riservata all’utente, anche in questa si deve effettuare il
login dal piccolo menù presente nella homepage e, anche in questo caso, ho inserito
un controllo su tutte le pagine dell’area tramite le sessioni per far sì che nessuna
persona non autorizzata vi possa accedere.
L’area “gestione clienti” l’ho realizzata con due pagine chiamate admin_clienti e
admin_clienti_modins, nella prima è possibile visualizzare tutti i clienti, in ordine
alfabetico, divisi per tipo (livello 3, livello 2 e livello 1) oppure effettuare una ricerca
per nome. Sempre da questa pagina è possibile cancellare completamente tutti i dati
dei clienti dal database, aumentare o diminuire i livelli dei clienti oppure scegliere i
clienti da modificare. Quando un utente viene cancellato o gli viene cambiato il
livello viene informato via e-mail all’indirizzo inserito al momento della
registrazione.
La visualizzazione dei clienti
La modifica dei clienti
La cancellazione dei clienti
Menù per aumentare o diminuire il livello dei clienti (in questo caso di livello due)
Alla seconda pagina vi si può accedere in due modi: o scegliendo di inserire un
nuovo cliente e in questo caso sarà visualizzato un form vuoto dove sarà possibile
- 74 -
inserire tutti i dati di un cliente e scegliere il tipo di servizio del quale usufruirà, se
livello uno, due o tre, permettendo inoltre di controllare che lo username non sia già
utilizzato, oppure scegliendo il cliente da modificare dall’elenco che può essere
visualizzato nella pagina precedente, in questo caso il form non sarà vuoto bensì
conterrà tutti i dati del cliente, permettendo in questo modo di ampliare o modificare
gli stessi. Da questa pagina sarà possibile modificare tutti i dati, compresi le
password, le foto e le parole chiave.
La schermata di inserimento-modifica clienti
La gestione delle categorie è stata realizzata con una sola pagina, denominata
admin_categorie, nella quale è possibile inserire una nuova categoria, visualizzare le
esistenti, modificarne una o tutte insieme, o cancellare quelle in disuso.
- 75 -
Per quanto riguarda la gestione dei banner da inserire nelle varie categorie, anche in
questo caso è stata necessaria una sola pagina, admin_banner, che permette di
inserire un nuovo banner in una qualsiasi categoria esistente, visualizzare tutti quelli
presenti nelle varie categorie, cancellare quelli che non devono essere più visualizzati
e sceglierne la disposizione, se
preordinata
inserire
o
un
casuale.
Per
ordine
di
visualizzazione dei banner basta
numerarli a partire dal numero
uno in successione, altrimenti,
inserendo come valore lo zero, si
La pagina per gestire l’ordinamento dei banner
otterrà una disposizione dei banner all’interno della categoria completamente
casuale.
L’area degli inserzionisti, ovvero coloro che comprano uno spazio nelle vetrine
offerte o usato, l’ho realizzata in tutto e per tutto identica alla gestione dei clienti. E’
formata da due pagine, admin_inserzionisti e admin_inserzionisti_modins. Nella
prima è possibile visualizzare tutti coloro che hanno acquistato uno spazio, con i loro
dati, il numero totale di spazi acquistati e le inserzioni in corso, scegliere un utente da
modificare, oppure da cancellare. Come per la gestione dei clienti, anche in questo
caso è possibile fare la ricerca sul nome, cognome o nome della società. Nella
seconda pagina c’è un form vuoto da compilare con tutti i dati di un nuovo
inserzionista, oppure se si accede a questa pagina dall’elenco degli utenti da
modificare, già riempito di tutti i dati dell’utente prescelto.
Visualizzazione dei dati degli inserzionisti
L’ultima area, quella della gestione delle inserzioni, è anch’essa formata da due
pagine, admin_vetrine e admin_vetrine_modins. Nella prima è possibile visualizzare
tutte le inserzioni in attesa di attivazione, con i dati di coloro che l’hanno acquistata.
Al momento dell’arrivo del pagamento, sia esso tramite bonifico bancario o carta di
credito, gli amministratori semplicemente entrando in questa pagina e cliccando sul
- 76 -
pulsante di attivazione avvisano via e-mail l’utente e gli inviano la password per
poter inserire la sua inserzione. Naturalmente il calcolo della scadenza
dell’inserzione non inizia da questo momento, ma dal momento in cui l’utente
inserirà i dati.
Layout della pagina per attivare le inserzioni in attesa
Sempre in questa pagina è possibile visualizzare tutte le inserzioni presenti nelle
vetrine, con la relativa data di attivazione e scadenza, oppure scegliere quale di
queste modificare o cancellare. Scegliendo l’inserzione da modificare, oppure
decidendo di inserirne una nuova, si apre la seconda delle pagine di questa sezione
che permette di inserire (o modificare) tutti i dati. Quando si inserisce un annuncio da
quest’area, l’inserzione non presenterà data di scadenza e rimarrà attiva fino a
quando non verrà disattivata da uno degli amministratori. Le ultime opzioni possibili
nella gestione delle inserzioni è la visualizzazione, il ripristino o la cancellazione
definitiva delle inserzioni scadute.
- 77 -
Provando e riprovando.
Dante – Paradiso, III, 3.
3.5 LA FASE DI TEST
Uno dei momenti più importanti nella realizzazione di un portale è la fase di test.
Questa è indispensabile e deve essere svolta necessariamente prima della
pubblicazione affinché non ci si accorga di eventuali problemi presenti una volta che
gli utenti hanno già iniziato ad utilizzare il nostro servizio.
Nel mio caso questa fase è stata svolta in tre tempi:
1. durante la realizzazione della pagina, per controllare che tutto funzionasse;
2. un test di tutto il portale offline;
3. un test di tutto il portale online prima di pubblicizzarlo.
La prima fase è stata svolta durante tutto il tempo della realizzazione fisica delle
pagine, ogni parte di codice scritto veniva testato in locale per controllare che
funzionasse e che fosse compatibile e congruente con il codice presente nelle altre
pagine. Il database era tenuto costantemente sotto controllo per verificare che non vi
fosse una perdita di dati o un salvataggio errato. Questo test è stato sicuramente il più
importante perché ha permesso di correggere gli errori che inevitabilmente si
presentano durante la stesura del codice e la realizzazione del database.
La seconda fase è stata svolta quando il portale era oramai quasi del tutto terminato,
ed è stata fatta nel seguente modo: per una giornata intera si è testato il
funzionamento di VirtuaPoint, in locale, in tutte le sue parti, per controllare che
qualcosa non fosse sfuggito durante la prima fase di test che, realizzata pagina per
pagina, poteva presentare delle incongruenze nell’insieme. Sono stati inseriti
moltissimi dati di fantasia e sono state controllate che tutte le e-mail inviate dal
portale agli utenti e agli amministratori funzionassero correttamente. In più è stato
fatto testare ad una persona estranea alla sua realizzazione per valutare l’efficacia
dell’interfaccia e correggere eventuali problemi di utilizzo.
La terza e ultima fase è stata svolta come la seconda, con l’unica piccola, ma
importante, differenza che il portale era stato caricato sul server ma non era, in ogni
caso, disponibile agli utenti. Questa fase è stata svolta per controllare che non ci
fossero stati problemi nel caricamento delle pagine e nell’assegnazione dei permessi
per l’utilizzo del database remoto.
- 78 -
Terminata la fase di test è stato possibile pubblicarlo in modo che chiunque volesse
potesse utilizzarlo.
3.6 LA PUBBLICAZIONE
La pubblicazione del portale è stata svolta in due fasi, nella prima è stato pubblicato
solo una parte del portale con una breve panoramica e introduzione ai servizi offerti
per cercare di creare una piccola aspettativa e curiosità intorno a VirtuaPoint.
Nella seconda è stato pubblicato l’intero portale e inseriti tutti i dati dei clienti ai
quali è stato offerto il servizio gratuitamente, seguendoli ed aiutandoli, nei primi
giorni di vita del portale, nel suo utilizzo. In questo modo il portale ha iniziato
immediatamente a prendere vita e ad essere utilizzato.
Con una corretta pubblicità e il probabile passaparola tra gli utenti che già
l’utilizzano, speriamo che il portale possa iniziare a prendere piede e diventare un
punto di riferimento per tutte le attività commerciali delle Marche e dell’Abruzzo e
dei loro clienti.
- 79 -
Consummatum est.
(Tutto è compiuto.)
Giovanni 19,30
4. CONCLUSIONI
4.1 PUBBLICITÀ DEL PORTALE
Una volta terminato il portale non possiamo lasciarlo da solo al suo destino sperando
che prenda piede senza una corretta pubblicità. E oltre il già citato passaparola degli
utenti che usufruiscono dei servizi gratuitamente, perché clienti Virtuacom, e lo
scambio di banner con alcuni siti, è importante inserire il nostro sito nei motori di
ricerca principali e cercare di farlo visualizzare nelle prime posizioni. Questo è
importante perché la maggior parte di coloro che utilizzano i motori per la ricerca dei
siti web normalmente non si spingono più in là della terza pagina dei risultati.
La maggior parte dei motori di ricerca, nazionali ed internazionali, sono basati su
agenti di indicizzazione automatica denominata “spider”, per questo è importante, e
necessario, inserire i META TAGS all’interno della pagina principale del nostro
portale. Questi non sono altro che informazioni contenute all’interno di un
documento web ed invisibili agli utenti, a meno che non vogliano visualizzarne il
codice Html, come: il programma che è stato utilizzato per realizzare la pagina, la
tipologia dei contenuti del sito, la lingua in cui è scritto, in nome del webmaster e
altro ancora.
Ai fini della ricerca sono tre i Meta Tags importanti: description, keywords e robots.
Il primo deve contenere una descrizione concisa e comprensibile degli argomenti
trattati dal sito web, il secondo contiene le parole che riteniamo meglio descrivano il
sito, mentre l’ultimo da l’istruzione allo spider del motore di ricerca, che viene a
visitare il sito, relativamente alle pagine da indicizzare.
Una giusta e accurata scelta delle parole chiave è necessaria per avere un buon
posizionamento all’interno di un motore di ricerca, per questo è necessario stabilire
l’argomento più attinente a ciò che il nostro sito offre e iniziare a scrivere ogni parola
immaginabile che un utente potrebbe utilizzare in un motore di ricerca per trovare siti
analoghi al nostro. E’ sempre bene scegliere piccole frasi di due/tre parole, magari
componendo tra loro singole parole che abbiamo scritto nella lista, in quanto è
- 80 -
statisticamente provato che gli utenti ormai utilizzano più di una parola per le loro
ricerche.
Nella scelta di queste parole dobbiamo tenere conto che tutti i motori di ricerca, nel
processo di valutazione delle parole chiave, tengono conto di alcuni fattori che sono:
•
prominenza della parola chiave;
•
frequenza della parola chiave;
•
peso della parola chiave;
•
posizionamento della parola chiave;
•
variante della parola chiave;
•
link popularity.
Esaminiamo quindi in dettaglio ciascuno di questi fattori.
La prominenza di una parola chiave rappresenta quanto questa è vicina all’inizio di
una qualsiasi sezione di una pagina web.
La frequenza consiste in quante volte viene ripetuta la parola chiave all’interno della
pagina. Questo fattore è importante ma è da ricordare che va combinato insieme a
tutti gli altri e non bisogna abusarne perché i motori di ricerca penalizzano
pesantemente chi utilizza questa tecnica in maniera scorretta.
Il peso di una parola all’interno di una sezione è determinato dalle volte che questa
compare rispetto alla totalità delle presenti.
Il posizionamento è uno degli elementi che uno spider tiene in maggiore
considerazione e consiste nel dove e come una parola chiave è posizionata all’interno
di una pagina web. Le parole presenti nel titolo della pagina, nelle intestazioni, nei
collegamenti ipertestuali, all’inizio del documento sono tenute in maggiore
considerazione rispetto a tutte le altre.
La variante di una parola chiave è una sua naturale e possibile estensione (ad
esempio sportivo è una variante di sport) e, ove possibile, è sempre bene utilizzare
almeno una variante della parola chiave nelle varie aree che costituiscono una pagina
web.
La link popularity si basa sui siti che hanno inserito un collegamento al nostro sito
web. I fattori che la determinano sono la qualità e il numero di siti che hanno inserito
links alle pagine del nostro sito. Per raggiungere un buon valore bisogna innanzitutto
indicizzare il nostro sito web sui motori di ricerca basati su directories, questi, a
- 81 -
differenza di quelli basati sugli spider, hanno un personale addetto che, dopo aver
visionato un sito segnalato dall’utente, decidono se inserirlo o meno all’interno dei
propri indici. Poi è necessario creare una rete di collegamento con altri siti,
possibilmente con quelli che, per i contenuti affini al nostro, si trovano già in una
buona posizione nei motori di ricerca. Come ultima caratteristica, ma non la meno
importante, è necessario inserire contenuti di qualità.
Tutti i consigli scritto fino ad adesso, per ottenere un buon posizionamento
all’interno dei vari motori di ricerca, possono essere riassunti in 10 semplici, ma
importantissime, regole:
1. NON segnalare il sito o sue pagine interne più volte. Questo perché la
segnalazione continua di una stessa pagina può far sì che il sito venga
“bannato” per SPAM, ovvero escluso dagli indici, che effettivamente
indicizzato nei motori di ricerca. Una volta che un sito è entrato negli indici,
non è necessario segnalarlo di nuovo ogni qual volta se ne modifica il
contenuto perché sono gli spider che automaticamente rivisiteranno la pagina
ogni intervallo prefissato di tempo.
2. Includere in ogni pagina i Meta Tags.
3. NON riempire il Meta Tag “keywords” di decine e decine di parole
chiave, che magari non sono neanche attinenti ai contenuti del sito. E’
importante inserire poche, ma mirate, parole.
4. Scegliere con attenzione le parole chiave per le quali ottimizzare il
posizionamento ai primi posti dei motori di ricerca, focalizzando
l’attenzione su quelle più attinenti ai servizi o prodotti che il sito offre.
5. NON utilizzare tecniche per nascondere testo, perché ormai molti spider
sono in grado di rilevare questa tecnica che viene considerata SPAM.
6. Scrivere sempre un testo che descriva le attività svolte dal sito, che sia
comprensivo e contenga le parole chiave scelte per l’ottimizzazione.
7. In qualsiasi parte della pagina, nel testo visibile o nei Meta Tags, non
inserire ripetizioni consecutive della stessa parola chiave e comunque non
ripeterla più di due volte in ciascuna sezione.
- 82 -
8. Cercare di stabilire scambi di URL reciproci con altri siti web, meglio
ancora se della stessa categoria di appartenenza, al fine di aumentare la
Link Popularity.
9. NON utilizzare lo stesso titolo in ogni pagina da indicizzare, ma variarlo
in ciascuno di essi alternando le parole chiave scelte per l’ottimizzazione.
10. Essere pazienti! Non è possibile ottenere ottimi posizionamenti dall’oggi al
domani, soprattutto se le parole chiave sono anche molto competitive.
Tutto questo è ciò a cui mi sono attenuto per cercare di pubblicizzare al meglio
possibile il nostro portale, sperando così di riuscire ad aumentare il traffico, il
numero degli utenti iscritti e rendere Virtuapoint un punto di riferimento per tutti
coloro che desiderano pubblicizzare la propria azienda e per coloro che invece hanno
bisogno di beni e servizi vicini alla loro zona di residenza.
Il saper per esperienza è maggior certezza che il sapere per ragione,
né mai ragione alcuna può giungere a tanto di uguagliar l’esperienza.
Paolo Sarpi – Istoria del Concilio Tridentino
4.2 CONSIDERAZIONI FINALI
Arrivare al termine di un lavoro lungo e impegnativo come quello che mi è stato
affidato è sicuramente confortante, ma nel contempo gratificante e soddisfacente. I
mesi passati nel realizzare il portale VirtuaPoint e a redigere questa tesi sono fuggiti
via in una rapidità quasi innaturale, portandosi via con sé ore di faticoso e duro
lavoro ma lasciandomi un bagaglio di esperienze nel mondo lavorativo indispensabili
a chiunque lo voglia affrontare a testa alta. Integrandomi in un’azienda avviata come
Virtuacom ho scoperto i piaceri e le fatiche del lavoro nel campo informatico ed ho
potuto notare, come già mi era stato detto all’inizio di questo corso di studi, come un
esperto in questo settore sia ricercato e quindi sia molto facile trovare un lavoro
gratificante e ben retribuito. Ho capito che in un mondo in continua crescita ed
evoluzione, come lo è quello dell’informatica e delle tecnologie, solo chi saprà
evolversi e, affamato di conoscenze, continuerà a divorare nozioni su tutto ciò che
continua a nascere ed a svilupparsi potrà svolgere un ruolo di primo piano nella vita
lavorativa.
- 83 -
Realizzare questo portale mi ha insegnato a gestire il tempo lavorativo, a sottoporre e
confrontare idee e a realizzare le proposte che mi venivano fatte. Ho imparato che,
almeno nel mondo dell’informatica, un aiuto importante può venire dai forum di
discussione specifici dove una comunità di esperti aiuta, gratuitamente, tutti coloro
che ne fanno richiesta. Ho capito che non è necessario avere una conoscenza
dettagliata dei linguaggi di programmazione che si utilizzano, ma è importante capire
il procedimento logico che permette il loro corretto funzionamento, per le parole
specifiche o i costrutti ci sono sempre i manuali che vengono in aiuto. Ma
l’insegnamento che mi è rimasto più impresso è sicuramente che è meglio impiegare
più tempo a realizzare una cosa ma farla fatta bene che realizzarla in fretta ma
superficialmente.
Entrare in contatto con un team come quello che mi ha affiancato durante questo
progetto ha aumentato il già grande desiderio che avevo di completare gli studi ed
iniziare così a lavorare in un settore che mi permetterà di conoscere e affrontare
persone che hanno le mie stesse passioni e i miei stessi interessi ma ha fatto anche
nascere in me il desiderio di diffondere queste conoscenze a coloro che desiderano
imparare.
Preparandomi ad affrontare altri due anni di studi universitari, sono sicuro che il
bagaglio accumulato con questa esperienza mi affiancherà aiutandomi giorno dopo
giorno sia nella preparazione degli esami, sia in prospettiva del futuro lavoro che
svolgerò dopo il conseguimento della laurea specialistica.
- 84 -
5. ALLEGATI
5.1 LE SCHERMATE PRINCIPALI DEL PORTALE
La pagina principale: index
- 85 -
La vetrina dell’usato con due inserzioni in corso
- 86 -
La pagina per la registrazione gratuita
- 87 -
La categoria “Alimentari e Bevande” con sei vetrine di livello 3 e due di livello 1
- 88 -
La categoria “Assistenze” con un banner pubblicitario in alto a destra
- 89 -
Ricerca per parola chiave “edilizia”
- 90 -
La pagina personale della ditta di livello 3: “La cantina di Epicuro”
- 91 -
La pagina di visualizzazione dei propri dati della ditta di livello 3: “Edizioni Nautiche Guglielmi”…
- 92 -
… e la relativa pagina di modifica dei dati
- 93 -
L’area amministratore
La pagina per aumentare i livelli degli utenti registrati gratuitamente
- 94 -
La pagina per cancellare logicamente le inserzioni in corso
La pagina per modificare le inserzioni in corso
- 95 -
6. BIBLIOGRAFIA
Adobe System Incorporated [http://www.adobe.it/]
AMD Planet [http://www.amdplanet.it/]
Ansa [http://www.ansa.it/]
Architetture dei calcolatori elettronici, Giacomo Bucci – McGraw Hill
Audiweb [http://www.audiweb.it/index.php]
AZPoint – MySQL per tutti [http://www.azpoint.net/articoli.asp?id=709]
Basi di dati. Modelli e linguaggi di interrogazione, Paolo Atzeni & Stefano
Ceri & Stefano Paraboschi & Riccardo Torlone – McGraw Hill
8. Encarta
9. Freephp.it – Guida base al Php, Gianluca Gillini
1.
2.
3.
4.
5.
6.
7.
[http://freephp.html.it/guide/lezioni.asp?idguida=10]
10. Freephp.it – Guida pratica al Php, Alberto Mucignat
[http://freephp.html.it/guide/lezioni.asp?idguida=2]
11. Freephp.it – Guida pratica Php/MySql, Francesco Bonetto
[http://freephp.html.it/guide/lezioni.asp?idguida=8]
12. Google [http://www.google.it]
13. Glossario informatico [http://glossario.freeonline.it/glossario.php]
14. Histoire de l’Informatique – L’Enic 1946 [http://histoire.info.online.fr/eniac.html]
15. Html 4 flash, Tiziano Daniotti – Apogeo
16. Html.it – Guida Html, Wolfgang Cecchin [http://www.html.it/guida/]
17. Html.it – Guida Javascript, Ilario Valdelli
[http://www.html.it/javascript/corso/index.html]
18. Html.it – Guida Javascript per esempi, Wolfgang Cecchin
[http://www.html.it/javascript/javascript_esempi/index.html]
19. Html.it – Guida SQL, Lucio Benfante [http://www.html.it/sql/]
20. I dossier di html.it: portali, Guerino Scialli
[http://www.html.it/06_portali/index.htm]
21. Il grande dizionario Garzanti della lingua italiana
22. Il software – Linguaggi di scripting lato client: alla scoperta di Javascript
[http://www.ilsoftware.it/articoli.asp?ID=1730&pag=0]
23. Internet e Reti di Calcolatori, James F. Kurose & Keith W. Ross – McGraw
24.
25.
26.
27.
28.
29.
Hill
Internet 2 [http://www.internet2.edu]
Internet 2004, Marco Calvo & Fabio Ciotti & Gino Roncaglia & Marco A.
Zela – Laterza
Introduzione a Macromedia Studio MX – Macromedia
Le interfacce uomo-macchina, M. P. Penna & E. Pessa – Di Renzo Editore
Lemma – Navigare nelle parole [http://www.educational.rai.it/lemma/lemma.htm]
LevySoft [http://www.levysoft.it/archivio/2005/02/02/oops-ho-dimenticato-la-password-di-
admin-di-wordpress/]
30. Libero [http://www.libero.it]
31. Linux & Open Source [http://www.nosoftwarepatents.com/it/m/dangers/linux.html]
32. L’Universale. Citazioni.
33. Macromedia Italia [http://www.macromedia.com/it/]
34. Manuale PHP [http://www.php.net/]
35. Manuali.net – Corso PHP, Domenico Nappo
36. Mytech [http://www.mytech.it/home/index.hp]
- 96 -
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
Mytarg.org [http://www.mytag.org/]
Newton n° 7 Luglio 2005 – Che Giove ci protegga!, Cristina Valsecchi
Notepad++ [http://notepad-plus.sourceforge.net/it/site.htm]
Pagine Web dinamiche con PHP e MySQL, David Tansley – AddisonWesley
PHP Free – Guida base al PHP [http://freephp.html.it/guide/index.asp]
PHP Free – Script PHP [http://freephp.html.it/script/index.asp]
ProHtml.it – Web design: Usabilità [http://pro.html.it/lista_articoli.asp/idcat_37/]
Quotidiano.net [http://www.quotidiano.net]
RDS [http://www.rds.it/]
RFC 1321 [http://www.faqs.org/rfcs/rfc1321]
Sitebylara – Guida all’indicizzazione e posizionamento sui motori di ricerca
[http://www.sitebylara.it/guida-indicizzazione.html]
48. Software Zone – Adeguarsi alla legge 196/2003: guida pratica
[http://www.swzone.it/articoli/docprogsic/]
49. Tgcom – Il web raddoppia, nasce Internet 2
[http://www.tgcom.it/tgtech/articoli/articolo201699.shtml]
50. Tiscali [http://www.tiscali.it]
51. Trading on-line – Silvio Porcellana
[http://www.portalino.it/banks/tesi/porcellana/trading.html]
52. TuxJornal – PHP: guida alla programmazione, Massimo Mirra
[http://www.tuxjournal.net/php1.html]
53. VersionTracker – Webmin 1.121
[http://www.versiontracker.com/dyn/moreinfo/macosx/15800&vid=122083]
54. Virgilio [http://www.virgilio.it]
55. Virgilio Community [http://c6.community.virgilio.it/home/index.html]
56. Vodafone [http://www.190.it]
57. W3C – HTML 4.01 Specification [http://www.w3.org/TR/html401/]
58. Wikipedia, l’enciclopedia libera [http://it.wikipedia.org/wiki/Pagina_principale]
- 97 -
Cercando le parole si trovano i pensieri.
Joseph Joubert – Pensieri.
7. GLOSSARIO
Banner: immagine fissa, o in movimento, atta a reclamizzare un prodotto o un servizio, collocata in
punti strategici della pagina web e collegata direttamente al sito dell’azienda inserzionista.
Blog: contrazione di weblog (vedi).
C: linguaggio di programmazione sviluppato nel 1972 da Dennis Ritchie dei Bell laboratories, è un
linguaggio compilato di programmazione strutturata di alto livello che contiene istruzioni di basso
livello per il controllo diretto dell'elaboratore. Comprende un piccolo set di funzioni già realizzate,
dipendenti dal tipo di macchina, e un gran numero di funzioni indipendenti dalla macchina, contenute
in librerie accessibili attraverso i programmi.
C++: un'estensione object-oriented (orientata agli oggetti) del linguaggio di programmazione C,
sviluppata da Bjorne Stroustrup nei primi anni Ottanta, presso i Bell Laboratories. Il C++ mantiene
tutte le caratteristiche del linguaggio C, integrandole con la gestione degli oggetti.
C6: C6 Messenger è un programma gratuito che ti permette di chattare in tempo reale con altri utenti.
Si può chattare in privato, nelle stanze di sistema o nelle stanze create dagli utenti.
CGI: acronimo di Common Gateway Interface, è una tecnologia standard usata dai web server per
interfacciarsi con applicazioni esterne. Ogni volta che un client richiede al web server un url
corrispondente ad un programma CGI, il server lo esegue in tempo reale, generando dinamicamente
informazioni.
CMS: Content Management System. Sistema per la gestione dei contenuti di un sito Web, permette
di separare i contenuti (gestiti attraverso database) dall'impaginazione grafica del sito, e offre specifici
ambienti - utilizzabili di norma anche via Web - per la scrittura e la pubblicazione dei contenuti stessi.
Feedback: messaggi e valutazioni, sia positive che negative, lasciate dagli utenti a determinati
venditori e a disposizione di tutti, in genere ai nuovi acquirenti.
Fibra ottica: linee di trasmissione della radiazione elettromagnetica, costituite da materiali
dielettrici con alto indice di rifrazione, ad esempio vetro. Il segnale da trasmettere, immesso a
un'estremità della fibra, si propaga al suo interno con perdite di intensità molto ridotte.
File sharing: è la condivisione di file all'interno di una rete comune. Può avvenire attraverso una
rete con struttura client-server oppure peer-to-peer.
GPRS: General Packet Radio Services. Standard per la trasmissione dati attraverso sistemi di
telefonia cellulare di seconda generazione, consente - nelle sue implementazioni da parte dei principali
operatori italiani - il raggiungimento di velocità di connessione attorno ai 28.800 bps (sono comunque
teoricamente possibili velocità anche maggiori).
Hash: nella sua accezione più comune, si riferisce ad una funzione univoca operante in un solo senso
(ossia, che non può essere invertita) atta alla trasformazione di un testo in chiaro e di lunghezza
arbitraria in una stringa di lunghezza relativamente limitata.
IMP: acronimo di Interface Message Processors (processore di interfaccia messaggi) furono i primi
commutatori di pacchetto costruiti con la nascita della rete.
- 98 -
Instant messaging: sistema che permette, una volta definita una lista di corrispondenti, di essere
informati della loro eventuale presenza in rete, e - volendo - di interagire con loro in tempo reale,
scambiando file, avviando una sezione chat e utilizzando altri servizi di interazione sincrona e
asincrona.
Internet banking: servizi bancari offerti tramite internet come, ad esempio, visualizzare l’importo
del proprio conto corrente, richiedere l’estratto conto, ecc.
Java: un linguaggio di programmazione per applicazioni distribuite in Internet, sviluppato a partire
dal 1995 dalla Sun Microsystems. È un linguaggio orientato agli oggetti, simile al C++, ma più
semplice, interpretato, indipendente dall'architettura e quindi multipiattaforma. I programmi scritti in
Java possono essere eseguiti su personal computer e accedere a oggetti per mezzo di indirizzi URL
(Uniform Resource Locator) come se fossero sul personal computer stesso. Java permette di
distribuire codice privo di virus e sicuro, utilizzabile su qualsiasi macchina che possieda l'appropriato
interprete; consente di realizzare siti Internet dalle prestazioni elevate, caratterizzati da un alto livello
di interattività.
Layout: schema dell’organizzazione di un elemento hardware o software.
Macro: insieme di indicazioni, azioni o istruzioni memorizzate e richiamabili per mezzo di una
parola chiave o di una singola istruzione. Ciò elimina la ribattitura frequente, riduce le possibilità di
errore nella battitura stessa e permette agli utenti che non hanno familiarità con un programma di
richiamare gruppi di istruzioni preregistrate da persone più esperte.
Mailing list: lista di utenti interessati allo scambio di informazioni su un argomento comune,
utilizzando la posta elettronica. Ogni messaggio spedito alla lista viene distribuito automaticamente a
tutti gli utenti che ne fanno parte.
Message digest 5 (MD5): è un algoritmo in grado di associare un valore esadecimale di 32
caratteri ad una stringa di testo con le seguenti caratteristiche:
• ha una lunghezza fissa di 128bit,
• è praticamente impossibile trovare due messaggi m1 ed m2 che restituiscono lo stesso codice,
• non è possibile, partendo dal valore ottenuto, risalire all’originale.
MIME: il Multipurpose Internet Mail Extensions è un protocollo internet che permette ai dati, come
ai video, suoni o file, di essere trasmessi tramite la posta elettronica senza dover prima essere
convertita in formato ASCII; questa operazione viene compiuta mediante l’uso di vari tipi di MIME,
che descrivono il contenuto del documento (i MIME TYPE).
Multitasking: modalità di funzionamento offerta da un sistema operativo capace di svolgere più
compiti contemporaneamente.
Netscape Communications Corporation: azienda produttrice di software con sede a Mountain
View, in California, nota soprattutto per Navigator, il programma di navigazione in Internet che
permette l'esplorazione del World Wide Web tramite un'interfaccia grafica utente.
Newsgroup: gruppo di discussione tematico accessibile attraverso Internet. La partecipazione a
questo tipo di conferenze è aperta a tutti e avviene attraverso specifici programmi (detti newsreader).
Open source: (termine inglese che significa sorgente aperto) indica un software rilasciato con un
tipo di licenza per la quale il codice sorgente è lasciato alla disponibilità di eventuali sviluppatori, in
modo che con la collaborazione (in genere libera e spontanea) il prodotto finale possa raggiungere una
complessità maggiore di quanto potrebbe ottenere un singolo gruppo di programmazione. L'open
source ha ovviamente tratto grande beneficio da internet, e spesso si lega a principi ideali di gratuità.
- 99 -
Pacchetto: nelle reti di calcolatori, i dati da trasmettere sono suddivisi in segmenti chiamati
pacchetti. Normalmente, i pacchetti hanno una dimensione massima. Nel caso il messaggio da
trasmettere sia più lungo, viene segmentato in più pacchetti.
Peer to peer (P2P): categoria di strumenti che consentono lo scambio diretto di file e informazioni
fra due utenti, senza la mediazione di un server centrale. Strumenti P2P sono molto utilizzati, ad
esempio, per lo scambio di file musicali in rete.
Pop-up: i banner pop-up sono una forma di pubblicità presente in Internet con lo scopo di aumentare
la visibilità di alcuni prodotti o notizie. Si ha un popup quando alcuni siti aprono una nuova finestra
del browser contenente il messaggio pubblicitario. La finestra pop-up viene spesso generata da un
JavaScript, ma esistono altri mezzi per ottenere lo stesso risultato.
Portale: sito Internet che offre una 'porta d'ingresso' alla rete ricca di servizi per gli utenti, link,
notizie di attualità, strumenti di ricerca, proponendosi come guida e pagina di partenza per la
navigazione sul Web.
RFC: un Request for Comments è un documento che riporta specifiche o informazioni della comunità
Internet. Gli RFC furono inizialmente pubblicati nel 1969 come parte del progetto Arpanet. RFC
Editor è il manutentore degli RFC ed è responsabile della loro edizione e ciclo di vita.
Rete neurale: è un modello matematico di processamento delle informazioni, che cerca di simulare
il funzionamento dei neuroni all'interno di un sistema informatico. Può essere composta sia da
programmi che da hardware dedicato.
Router: nella tecnologia delle reti informatiche, un router in inglese letteralmente instradatore, è un
dispositivo di rete che si occupa di instradare pacchetti tra reti diverse ed eterogenee.
Scripting: descrizione delle azioni richieste mediante opportuni linguaggi di programmazione, detti
appunto linguaggi di scripting. Il programma, detto script, definisce il controllo delle operazioni
richieste al calcolatore. Spesso progettati per l'uso interattivo, e con molti comandi eseguibili
individualmente di complessità anche elevata, gli script vengono spesso usati per compiti a singola
passata, tipicamente di tipo amministrativo o di utilità. Il codice degli script è tipicamente contenuto in
file di testo e vengono interpretati. In alcuni casi vengono compilati ad ogni esecuzione.
Spider: conosciuto anche come Web Spider o Web Crawler è un programma che passa in rassegna il
World Wide Web in un modo metodico e automatizzato. E’ un tipo di bot (programma o script che
automatizza delle operazioni tipicamente eseguite da umani) che non mantengono solamente una
copia di tutte le pagine visitate per poi successivamente analizzarle – per esempio come un motore di
ricerca – ma le indicizzano per rendere la ricerca più veloce e precisa.
Standard Generalized Markup Language (SGML): standard internazionale per la creazione
di documenti testuali in formato elettronico. Messo a punto nel 1986 dall’ISO (International
Organization for Standards), non è un vero e proprio linguaggio, ma un metalinguaggio, un sistema di
regole e criteri formali per la rappresentazione di un testo. Diversi linguaggi specifici si ispirano ai
criteri SGML, primo fra tutti l’HTML, largamente impiegato per la creazione di documenti pubblicati
nella rete Internet.
Structured Query Language (SQL): è un linguaggio di programmazione per database usato per
interrogare, aggiornare e gestire database relazionali, standardizzato dall'American National Standards
Institute (ANSI). Può essere usato per la formulazione di domande interattive o per l'inserimento di
specifiche istruzioni per la manipolazione dei dati all'interno di un programma applicativo. Lo
standard SQL contiene anche componenti per definire, modificare, controllare e proteggere dati. Esso
si presta all'uso sia da parte di tecnici, sia di utenti comuni.
- 100 -
Ticker: oggetti grafici realizzati in Java da inserire nelle pagine web nelle quali scorrono i titoli delle
ultime notizie. Sono sempre collegati ad un sito di riferimento.
UMTS: Universal Mobile Telephone System. Standard per la comunicazione dati capace di
integrare, in maniera trasparente per l'utente, infrastrutture di comunicazione via etere, sia cellulari sia
satellitari, e via cavo. Permette velocità di trasferimento dati fino a 2 Mbps, sia in ricezione sia in
trasmissione, e costituisce la tecnologia utilizzata per la telefonia mobile di terza generazione.
Web economy: con il termine "Web Economy" si indica il mondo economico, e il business
correlato, legato alle nuove tecnologie informatiche e telematiche su Internet. I punti cardine su cui si
basa la Web Economy non sono tanto i beni materiali quanto immateriali: idee innovatrici,
bene/informazione.
Weblog: tipologia particolare di siti, in genere - ma non necessariamente - personali, costruiti a
partire da messaggi (post) organizzati cronologicamente, con i più recenti in testa, e gestiti di norma
attraverso un apposito sistema di Content Management (CMS) che semplifica la scrittura e la
pubblicazione dei messaggi stessi.
Webmail: siti che offrono la possibilità di accedere alle proprie e-mail e scriverne di nuove via web,
tramite browser, e senza il bisogno di programmi dedicati.
World Wide Web Consortium: Nell'ottobre del 1994 il papà del Web Tim-Berners Lee fondò al
MIT (Massachusset Instutute of Technlogy), in collaborazione con il CERN, il laboratorio dal quale
proveniva, un'associazione di nome World Wide Web Consortium (abbreviato W3C o W3), con lo
scopo di migliorare gli esistenti protocolli e linguaggi per il WWW e di aiutare il Web a sviluppare
tutte le sue potenzialità.
XHTML: (acronimo per Extensible HyperText Markup Language) nasce ufficialmente il 26 gennaio
2000 come raccomandazione W3C, e può essere definito sostanzialmente una riformulazione di
HTML 4 come applicazione XML 1.0, ovvero come linguaggio definito a partire dalle specifiche
XML. Il linguaggio prevede un uso più restrittivo dei tag HTML; solo la struttura della pagina è
scritta in XHTML, mentre il layout è imposto dai cosiddetti CSS (Cascading Style Sheets, ovvero
fogli di stile gerarchici). HTML è, a sua volta, un'applicazione particolare di SGML, linguaggio di
markup esistente da tempo ed estremamente flessibile.
XML: formato per documenti ipertestuali derivato dall’SGML, ideato specificamente per le pagine
Web. Sviluppato dal W3C (World Wide Web Consortium, associazione internazionale di aziende che
operano nella rete Internet), ha la caratteristica di consentire ai propri programmatori la creazione di
tag personalizzati.
- 101 -
Scarica