NC_lezione25_26

=Server:=

A. //Sistema operativo (server)://
E' un computer che tratta con altri computer; non ha l'interfaccia grafica perchè non deve rapportarsi con gli utenti. Il s.o. sever tratta con moltissimi pc; è quindi diverso dal s.o. client. Deve avere dischi fissi molto veloci. E' ottimizzato per ricevere contemporaneamente molte richieste. I s.o. più comuni sono Linux server (open source) e Windows server (a pagamento). Linux è il principale s.o. dei sever. NB. se modifico un codice open source poi lo devo rilasciare come open source!

Shell: è la struttura "a cipolla" di un pc.

B. //Programma web server://
Il web server è un programma che gestisce le pagine web su un server. IIS: internet information service Uno dei web server più diffusi è Apache (è open source e per lo più viene installato su Linux).

C. //Ambiente di programmazione://
PHP: linguaggio di programmazione per scrivere pagine web (dinamiche). E' open source.

Altri linguaggi di programmazione:
 * .net
 * C + + (i server per la maggior parte sono scritti conm questo linguaggio)
 * Basic
 * Java: si usa per tante cose, dalle applicazioni aziendali ai giochi per i cellulari. Funziona su __tutte__ le macchine sulle quali si può installare una Java virtual machine (cioè un esecutore di programmi Java).

D. //Applicazioni (Programmi)://
Il server deve fare web applications e CMS. GNU: Gnu Is Not Unix (acronimo ricorsivo)

E. //Base di dati://
Per gestire i dati devo mettere un motore database sul server; è il modo software per gestire i dati. La caratteristica di un database è la query, cioè l'interrogazione al database per tirare fuori i dati, tramite SQL(è lo standard delle interrogazioni).

Es. di un database: @http://www.imdb.com/ (interfaccia di database per i film)

Piattaforma LAMP (per lo sviluppo di applicazioni web):
L (Linux) A (Apache) M (MySql) P (Php)

Sono tutti open source. Su questa struttura si installano i CMS. Il server LAMPP (Linux Apache MySql PhP) e una semplice verionse auto installante : Xampp http://www.apachefriends.org/it/xampp.html

=CMS - content management systems=

Il CMS prende i dati dal database, ci associa la forma e lo stile e li fa arrivare al pc.

Esempi di cms open source:
- http://www.opensourcecms.com

- @http://php.opensourcecms.com/ Portale per CMS open source php; fa vedere le demo dei CMS (qui ce ne sono 283 divisi per tipologia): Demo: Main page (è la front end) e Admin page (è la back end). Il timer indica il tempo rimanente prima che la pagina torni com'era prima delle modifiche che abbiamo apportato.
 * [|All CMS Demos (280)]
 * [|Forums (25)]
 * [|Lite (23)]
 * [|Blogs (18)]
 * [|eCommerce (14)]
 * [|Groupware (13)]
 * [|Image Galleries (13)]
 * [|Learning Management (11)]
 * [|Miscellaneous (9)] (es. FestOs - per la gestione di un festival culturale - oppure Open Classifields - CMS per gli annunci)
 * [|Wiki (7)] (es. Mediawiki)

Altro: Stanley Milgram e la teoria del piccolo mondo o dei sei gradi di separazione (@http://en.wikipedia.org/wiki/Six_degrees_of_separation) Kevin Bacon game: @http://en.wikipedia.org/wiki/Six_Degrees_of_Kevin_Bacon

Blog: @http://technorati.com/ per controllare il flusso della blogosfera @http://www.blogo.it/

ancora sulla front end e sulla back end: @http://it.wikipedia.org/wiki/Front-end_e_back-end

=Business dei siti web:=

Cosa importante: contenuti o popolarità dell'argomento trattato
 * 1° livello** - vendere pubblicità sul proprio sito [Richiede decine di migliaia di visite al giorno - per siti con moltissimi accessi]

Se si vuole mettere il carrellino della spesa nel sito (x gli acquisti online) basta iscriversi a Google e scaricarlo. Google poi gestisce tutto, la vendita e il flusso di denaro (tramite il servizio Paypal che è un metodo sicuro). [Richiede una quantità media di visite - per siti con accessi minori]
 * 2° livello** - vendendo servizi e prodotti oppure lavorare con metodi di affiliazione con siti che fanno e-commerce. E' il metodo dei referrers. (Due siti si uniscono per consigliare l'acquisto di qualcosa es. viaggi, vestiti, ecc...) In settori come viaggi&turismo e libri/cd l'e-commerce è fondamentale.


 * 3° livello** - teoria della coda lunga: si lavora sulle nicchie di mercato --> siti con servizi specialistici [Richiede una quantità bassa di visite - per siti specialistici e con pochi accessi]

Link:
@http://www.garmz.com/ : per i progettisti della moda.

@http://www.shortomatic.com/

@http://ycombinator.com/

@http://www.threadless.com/ e-commerce di t-shirts

@http://startupcloud.it/wiki/Pagina_principale per vedere i progetti web che si stanno facendo in italia

@http://www.hictu.com/ microblog

@http://www.noteflight.com/login per scrivere ed editare spartiti online

=WEB CMS=

La connessione con il database: cenni


Il CMS è installato sul web server. Ha due interfacce: front end (o front office) e back end (o back office, che serve per l'amministrazione complessiva del CMS).

Gestione utenti su Joomla :
(Il CMS ha la gestione degli utenti.)

- Visitatori: sono quelli che vedono l'area pubblica - Iscritti: sono gli utanti autorizzati, quelli che tramite il login possono fare qualcosa in più (tipo vedere sezioni riservate che non possono visualizzare i visitatori) - Contributori: sono gli utenti che possono scrivere i contenuti, che vengono pubblicati sul sito solo con l'autorizzazione di chi lo gestisce. - Editor: sono coloro che possono scrivere e pubblicare (non possono cambiare le categorie e le sezioni) - Amministratori: sono coloro che amministrano la struttura del sito (non possono cambiare la grafica) - Super amministratore: è il responsabile della gestione del sito (può cambiare tutto)

Come installare un server sul pc:
Scaricare xampp (file eseguibile per windows) e installarlo nella radice del disco fisso (quindi: C: / / xampp). Una volta installato, xampp apre un pannello di controllo che permette di accendere o spegnere il server, il servizio mysql, mailserver, ftp (in questo caso FileZilla). Accendo Apache e MySql. (a volte non funziona perchè va in contrasto con Skype --> chiudere Skype!) Server acceso vuol dire che riceve chiamate.

Una macchina che vuole chiamare se stessa deve digitare l'IP **127.0.0.1** (che va inserito nella barra indirizzi preceduto da **http:** / /) oppure il suo alias localhost (e viene la homepage).

Per conoscere quale è il mio IP: menu start --> programmi --> accessori --> prompt dei comandi e scrivo **ipconfig**.

Una macchina ha 2 indirizzi IP con cui può chiamare se stessa: 1. è l'indirizzo interno; è sempre lo stesso: **127.0.0.1** (oppure: **localhost**) 2. è l'indirizzo esterno; cambia a sedonda di dove sono o in base alla rete: indirizzi tipo **192.168.2.2** (sono indirizzi privati, legati alla rete interna. Digitando lo stesso indirizzo da un luogo diverso o con una rete diversa non si visualizza nulla.)

Per conoscere il mio IP esterno: @http://www.whatsmyip.org/. Su IP location individua la zona da dove digito sulla mappa.

Per mettere un software online utizizzo l'ftp.

Creo la pagina web e poi salvo il file col nome **index.html** e la metto nella cartella **htdocs** (hyper text documents)**:** Tutto quello che c'è in questa cartella è il sito web. La struttura locale del sito deve essere quella che poi sarà il sito web.
 * C:** //**/ /**// **xampp/htdocs/index.html**