Progettazione e realizzazione di un portale per la ... fileGestionale e dell’Automazione Corso di...

101
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

Transcript of Progettazione e realizzazione di un portale per la ... fileGestionale e dell’Automazione Corso di...

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 3 2. PANORAMICA ATTUALE SU INTERNET 4 2.1 L’E-COMMERCE E LA PUBBLICITÀ ON-LINE 4 2.2 I PORTALI 6 2.2.1 DEFINIZIONE E TIPOLOGIA DEI PORTALI 8 2.2.2 STRUTTURA E CARATTERISTICA DEI PORTALI 10 2.2.3 SCOPO DEI PORTALI 13 2.2.5 IL RUOLO STRATEGICO DELL’INTERFACCIA 16

2.2.4 VALENZA ECONOMICA DEI PORTALI 14

2.2.6 I MAGGIORI PORTALI ITALIANI 19 2.2.7 CONSIDERAZIONI FINALI 22 2.3 LE TECNOLOGIE PIÙ UTILIZZATE 24 2.3.1 HTML E JAVASCRIPT 25 2.3.2 PHP 30 2.3.3 MYSQL 33 2.4 UNO SGUARDO AL FUTURO: INTERNET 2 39 3. PROGETTAZIONE E REALIZZAZIONE DEL PORTALE 42 3.1 INTRODUZIONE 42 3.2 LE SPECIFICHE 43 3.3 LA PROGETTAZIONE 47 3.3.2 ALCUNE QUERY 51

3.3.1 IL DATABASE 47

3.3.3 GLI STRUMENTI UTILIZZATI 57 3.4 LA REALIZZAZIONE 58 3.4.1 LA HOMEPAGE 59 3.4.2 IL MOTORE DI RICERCA INTERNO 61 3.4.3 L’AREA UTENTE 64 3.4.4 LA GESTIONE DEI BANNER 69 3.4.5 LE VETRINE DELLE OFFERTE E DELL’USATO 70 3.4.6 L’AREA AMMINISTRATORE 73 3.5 LA FASE DI TEST 78 3.6 LA PUBBLICAZIONE 79 4. CONCLUSIONI 80 4.1 PUBBLICITÀ DEL PORTALE 80 4.2 CONSIDERAZIONI FINALI 83 5. ALLEGATI 85 5.1 LE SCHERMATE PRINCIPALI DEL PORTALE 85 6. BIBLIOGRAFIA 96 7. GLOSSARIO 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

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.

Uno dei motori di ricerca più usati al Mondo.

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

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.

La schermata di una chat

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.

La web radio di RDSInfine, nelle informazioni di servizio, rientrano

- 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 e-

commerce, 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

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.

Modulo per inviare SMS dal sito della Vodafone

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,

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.

Esempio di finestra di pop-up

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 click-

through 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.

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.

Sistema di misurazioneProperty Dominio

Server Browser Pagine viste Visite Browser *

unici Tempo

medio per pagina (min.)

Durata visita (min.)

Wind libero.it RedSheriff 17.292.986 982.434.533 83.818.166 00:40 07:53

Telecom Italia virgilio.it RedSheriff 15.904.697 781.770.291 79.293.677 00:51 08:19

Tiscali S.p.A. tiscali.it RedSheriff 7.779.795 264.613.257 26.920.718 00:59 09:54

Kataweb repubblica.it RedSheriff 4.141.874 179.398.030 24.570.526 01:45 12:42 RCS Media

Group corriere.it RedSheriff 3.484.128 117.523.335 14.809.629 1:13 9:35 RCS Media

Group 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

- 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 Libero L’interfaccia di Virgilio

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à multi-

browser, 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 (UcodiceU, user, pass, mail_reg, tipo) Liv1 (UcodiceU, denominazione, indirizzo, citta, prov, tel, fax, cat1, cat2, cat3) Liv2 (UcodiceU, web, mail, logo, tipofile, datt) Liv3 (UcodiceU, foto1, foto1tipo, foto2, foto2tipo, descrizione) Categorie (UcodU, denominazione) Pcutenti (UcodiceU, parola, ditta) Banner_cat (UcodiceU, banner, tipofile, categoria, ordine, url) Inserzionista (UcodiceU, user, citta, indirizzo, tel, nome, cognome, ditta, mail) Inserzione_offerte (UcodU, immagine, tipofile, descrizione, nomeven, mailven, telven, datains, durata, scadenza, password, codiceut, codiceins, valore, pres) Inserzione_usato (UcodU, immagine, tipofile, descrizione, nomeven, mailven, telven, datains, durata, scadenza, password, codiceut, codiceins, valore, pres)

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 non

ordinati in ordine casuale

Query che preleva i banner

preordinati con l’ordine prestabilito

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 - TDreamweaver 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 WebT.

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.

La struttura del portale

virtuapoint

css flash images include

banner_home cornici

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

dell’utente.

Il menù per la posta

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,

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

Il modulo per la ricerca nel Web

- 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 e-

mail 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é, essendo le

immagini riguardanti gli 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

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.

Il menù di ricerca

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

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.

Il menù dell’area riservata

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 e-

mail 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

prezzi, contattare gli amministratori del portale ed uscire dall’area riservata.

Il menù dell’area utente

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

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.

Banner visualizzati in ordine casuale

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 utente. Aprendo la

pagina 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 o casuale. Per

inserire un ordine di

visualizzazione dei banner basta

numerarli a partire dal numero

uno in successione, altrimenti,

inserendo come valore lo zero, si

otterrà una disposizione dei banner all’interno della categoria completamente

casuale.

La pagina per gestire l’ordinamento dei banner

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

1. Adobe System Incorporated [http://www.adobe.it/] 2. AMD Planet [http://www.amdplanet.it/] 3. Ansa [http://www.ansa.it/] 4. Architetture dei calcolatori elettronici, Giacomo Bucci – McGraw Hill 5. Audiweb [http://www.audiweb.it/index.php] 6. AZPoint – MySQL per tutti [http://www.azpoint.net/articoli.asp?id=709] 7. 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

[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

Hill 24. Internet 2 [http://www.internet2.edu] 25. Internet 2004, Marco Calvo & Fabio Ciotti & Gino Roncaglia & Marco A.

Zela – Laterza 26. Introduzione a Macromedia Studio MX – Macromedia 27. Le interfacce uomo-macchina, M. P. Penna & E. Pessa – Di Renzo Editore 28. Lemma – Navigare nelle parole [http://www.educational.rai.it/lemma/lemma.htm] 29. 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. Mytarg.org [http://www.mytag.org/] 38. Newton n° 7 Luglio 2005 – Che Giove ci protegga!, Cristina Valsecchi 39. Notepad++ [http://notepad-plus.sourceforge.net/it/site.htm] 40. Pagine Web dinamiche con PHP e MySQL, David Tansley – Addison-

Wesley 41. PHP Free – Guida base al PHP [http://freephp.html.it/guide/index.asp] 42. PHP Free – Script PHP [http://freephp.html.it/script/index.asp] 43. ProHtml.it – Web design: Usabilità [http://pro.html.it/lista_articoli.asp/idcat_37/] 44. Quotidiano.net [http://www.quotidiano.net] 45. RDS [http://www.rds.it/] 46. RFC 1321 [http://www.faqs.org/rfcs/rfc1321] 47. 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 -