Laboratorio Progettazione Web Applicazioni Web

Documenti analoghi
Laboratorio Progettazione Web Applicazioni Web

Laboratorio Progettazione Web Applicazioni Web

Laboratorio Progettazione Web Applicazioni Web

Laboratorio Progettazione Web Il linguaggio PHP - Introduzione. Andrea Marchetti CNR/IIT AA 2015/2016

Laboratorio di Progettazione Web

Laboratorio Progettazione Web Applicazioni Web Lezione 2. Andrea Marchetti IIT-CNR 2011/2012

Ricevimento: dopo la lezione (in aula) o su appuntamento (Sede Scientifica Pal. 1 Primo Piano)

Laboratorio Progettazione Web Il linguaggio PHP Introduzione. Andrea Marchetti IIT-CNR AA 2014/2015

Laboratorio Progettazione Web Il linguaggio PHP - Introduzione. Andrea Marchetti IIT-CNR AA 2013/2014

Ricevimento: dopo la lezione (in aula) o su appuntamento (Sede Scientifica Pal. 1 Primo Piano)

LE GUIDE TURISTICHE. Progetto realizzato per l'esame di Laboratorio e Progettazione Web Corso di Laurea in Informatica Umanistica.

3.3.6 Gli operatori Le funzioni di accesso al tipo Le strutture di controllo Le funzioni

Basi di Dati. Prof. Alfredo Cuzzocrea Università degli Studi di Trieste. Basi di Dati e Web. Credits to: Prof. M. Di Felice UniBO

Programma del Corso. Laboratorio

Progettazione Web. Laboratorio di. Ambiente di Sviluppo. Angelica Lo Duca

XAMPP - Cos'è e installazione in locale

Laboratorio Progettazione Web Il linguaggio PHP Lezione 5. Andrea Marchetti IIT-CNR 2011/2012

Programmare server. Programmazione Web 1

Basi di Dati-IX. Basi di dati e web. Introduzione. Schema. Basi di dati e web. Corso di Laurea in Informatica Anno Accademico 2013/2014

APPUNTI DELLA LEZIONE DI DATABASE DEL 20/10/2016 (POMERIGGIO)

Luca Tesei. Laboratorio di Sviluppo Web: Le Basi. Modulo IFTS. Fermo 31/03, 03/04, 07/ Prof. Luca Tesei Università di Camerino 1

Laboratorio Progettazione Web Modello di applicazione Web

Luca Tesei. Laboratorio di Sviluppo Web: Le Basi. Modulo IFTS. Fermo 31/03, 03/04, 07/ Prof. Luca Tesei Università di Camerino 1

Lato client: vuol dire che le operazioni programmate vengono svolte e visualizzate direttamente sul computer dell'utente collegato

Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2014/2015

Il linguaggio PHP. Insegnarvi tutto il PHP? Non esattamente Obiettivo: insegnarvi ad interagire via web con una base dati

Laboratorio di Progettazione Web Applicazioni Web

Indice generale. Introduzione...xiii. Uno sguardo più da vicino a JavaScript...17

Progettazione e sviluppo WEB

Sommario APPUNTI WEB SERVER E PHP

Architetture Client/Server. Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo

Laboratorio Progettazione Web Modello di applicazione Web

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013

Introduzione a XAMPP

Basi di Dati Architetture Client/Server

Architetture Client/Server. Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo

Programmazione in PHP e CMS Sistemi Distribuiti, Parte 3 Corso di Laurea in Ingegneria o per altri CDL

Architetture Client/Server e World Wide Web

Connessione con MySQL

PROGRAMMA DEL CORSO MASTER IN WEB DESIGN & DEVELOPER

Basi di Dati. Applicazioni web in PHP per l interrogazione di basi di dati. Esercitazione n. 5

Linguaggi di Programmazione

Il World Wide Web. Marco Porta - CIM: Web Design & Technologies

Laboratorio Progettazione Web PHP e FORMs HTML - Lezione 8. Andrea Marchetti IIT-CNR 2011/2012

Introduzione Dal problema al programma Architettura del calcolatore Le reti ed internet Rappresentazione dell informazione Elementi di programmazione

Programma didattico. Sviluppare Applicazioni Distribuite in ambiente. Spring MVC

Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2013/2014

ICT-Progetti Offerta formativa. Catalogo corsi 2017 per i privati

XAMPP Installazione e configurazione

Programma del Corso. Dati e DBMS DBMS relazionali SQL. Progettazione di una base di dati Normalizzazione

Corso di JavaScript. Prerequisiti. A1 - Introduzione. Conoscenza HTML Architettura client-server. M. Malatesta A1-Introduzione-01 14/05/2012

Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2016/2017

Progetto Gestione maneggio

Corso di Web Programming

MySQL. Esercizio 1. Soluzione

Corso Web Master. E' richiesta una padronanza dell'utilizzo del computer ed esperienza di navigazione su Internet.

La connessione ai database MySQL tramite script PHP versione 5.5

Corso base PHP Copyright (c) 2011 Antonio Gallo

Tecnologie di Sviluppo per il Web

Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2016/2017

liceo B. Russell PROGRAMMAZIONE INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE TRIENNIO: TERZA DISCIPLINA: INFORMATICA

Primi passi con PHP. In questo capitolo

Basi di dati Applicazioni web in PHP per l interrogazione di basi di dati Laboratorio #5

Installazione di EasyPhp. Avviare EasyPhp. La finestra di amministrazione di EasyPhp

Relazione MajoGEN. Generatore web di segnali! Matteo Mosconi & Gabriele De Rosa - 5 Febbraio 2014 RELAZIONE MAJOGEN

Laboratorio di Basi di Dati

Basi di Dati. Applicazioni web in PHP per l interrogazione di basi di dati. Esercitazione n. 4

Esercitazione 8. Basi di dati e web

Introduzione all inguaggio HTML e CSS3 INTRODUZIONE. Prof.ssa Cristina Gena

SOFTWARE. Programmi e dati che indicano al computer come svolgere un determinato compito

Laurea Specialistica - Media Education. Dr. Annamaria Bria 1

ITI M. FARADAY. Programmazione a. s

Spiegazioni esercizio Gestione Tabella con PHP e MySQL

Connessione con MySQL

G2Music. Gestione Avanzata dei Dati Giuseppe Pietravalle, Giuseppe Santaniello, Marco Mannara

Events: Track your favorite artists

APPENDICE 4 AL CAPITOLATO TECNICO

L Italia e il Consumo dei Carburanti Realizzato da Arianna Ricciarelli e Bianca Zazzeroni

Basi di Dati. Applicazioni web in PHP per l interrogazione di basi di dati. Esercitazione n. 4

Corso di PHP. Prerequisiti. 1 - Introduzione

Prof. Pagani Corrado HTML

Basi di Dati Ingegneria Informatica e delle Telecomunicazioni

Listino Corsi Synergia

Web applications con. breve introduzione. 23/10/12 Davide Zedda ITC Levi

PROGRAMMAZIONE DISCIPLINARE DIPARTIMENTALEDI INFORMATICA

Dal sito web all applicazione mobile

DOMINI E HOSTING Concetti generali

SISTEMI OPERATIVI, RETI, INTERNET

MINISTERO DELLA ISTRUZIONE DELL UNIVERSITA E RICERCA UFFICIO SCOLASTICO REGIONALE PER IL LAZIO

Linguaggi dinamici: quando nascono?

Istituto d Istruzione Secondaria Superiore A. Righi Taranto Informatica e Telecomunicazioni Informatica. HTML, PHP e MySQL

Transcript:

Laboratorio Progettazione Web Applicazioni Web Andrea Marchetti IIT-CNR AA 2017/2018

Basi di dati e Laboratorio Web Seconda parte, svolta nel secondo semestre Il punteggio dell'esame sarà dato dalla media dei due esami Basi di dati Laboratorio Progettazione Web Questo è un'esame di Informatica doppia natura di Informatica e Umanistica Il materiali utilizzato a lezione slides, esercizi caricate su didawiki.

Requisiti Propedeutico aver sostenuto l'esame di "Progettazione e programmazione Web" HTML5, CSS3, Javascript SQL visto a "Basi di dati" Disporre di un personal computer con installato un pacchetto xamp (Apache+Mysql+Php) un editor di testo (Notepad++, Sublime) un browser web

Obiettivo del corso Insegnare le componenti per Progettare e Sviluppare una applicazione web a 3 livelli Attenzione: per fare la stessa cosa ci sono molte strade, noi ne vedremo alcune.

Definizioni Una web application o web app è qualsiasi sw eseguito su di un browser web. Sono accedute tramite un indirizzo URL La possibilità di aggiornare web application senza distribuire sw su potenzialmente miliardi di computers (desktop, mobile) li rende molto popolari. Alternative: Desktop Application, Mobile Application (non girano su browser)

Most Popular Web Applications

Esempio di applicazione web

Architettura applicazione HTML5 CSS3 - JS PHP SQL A P I Distributori Prezzi Tables Import CSV MISE Osservatorio prezzi

Livelli (Tiers) di un applicazione web Browser Web HTTP Server Web Dati Presentation Application Storage

Livello Presentazione (View) Il livello di presentazione costituisce l interfaccia utente dell applicazione Web si parla di architettura event-driven Le tecnologie di riferimento sono HTML5 (formato per la presentazione di ipertesti) CSS3 (foglio di stile per documenti HTML) Javascript + librerie (HighCharts, GoogleMaps, ) Browser Web HTTP Server Web Dati

Livello Applicazione (Control) Il Controllo di un applicazione Web corrisponde alla componente elaborativa dell applicazione Le tecnologie di riferimento sono PHP, Python, Ruby, Browser Web HTTP Server Web Dati

Livello Dati Il livello dati consente di modellare e gestire il contenuto informativo dell applicazione A questo livello possiamo avere File System Data Base (SQL, XML, NoSQL) Server (ex SMTP) Browser Web HTTP Server Web Dati

Vantaggi Applicazione Web Facilità di installazione. Si richiede di avere un browser web Nessun spazio disco richiesto, tutto ciò che serve viene scaricato dalla rete Nessun processo di upgrade, l upgrade è svolto tutto lato server Applicazioni Cross-Platform (Mac Windows, Linux)

Svantaggi Applicazioni Web Interfacce utente limitate Se manca la connessione Internet, l applicazione non funziona Privacy Ogni operazione dell utente viene tracciata lato server

Progetti realizzati dagli studenti http://wafi.iit.cnr.it/lab/lpw/ http://wafi.iit.cnr.it/lab/lpw/progettini/

Esempi progetti svolti

http://didawiki.cli.di.unipi.it/doku.php/bddinfuma/parte_laboratorio_progettazione_web COMUNICAZIONI

Programma del corso Generale (4) Introduzione applicazioni web (1) Xampp (2) Presentazione progetto (11) Modello applicazione Web (14) Dati (2) PhpMyAdmin (4) OpenRefine (15) PHP (7) Variabili, Istruzioni (3) Array (5,6) Interazione Mysql (7,8) Funzioni (9,10) User Interface (8) jquery (12,13) Grafici(16,17) Mappe (18,19,20,21)

1 Introduzione : Architettura applicazione Web Marchetti-Lo Duca Lun 19-02 2 Esercitazione: installazione XAMPP Lo Duca Mer 21-02 3 PHP introduzione, tipi di dato, variabili, Istruzioni Marchetti Lun 26-02 4 PhpMyAdmin: Import di dataset, Query, Export + database Lo Duca Mer 28-02 5 PHP array Marchetti Lun 5-03 6 Esercitazione su Array Lo Duca Mer 8-03 7 PHP Database Marchetti Lun 12-03 8 Esercitazione su PHP Database Lo Duca Mer 14-03 9 PHP funzioni Marchetti Lun 19-03 10 Esercitazione PHP funzioni Lo Duca Mer 21-03 11 Spiegazione Progetto esame Marchetti Lun 26-03

13 JQuery Marchetti Lun 09-04 14 Esercitazione JQuery Lo Duca Mer 13-04 15 Modello di applicazioni Web - Progetto Marchetti Lun 16-04 16 Open Refine Lo Duca Mer 18-04 17 Librerie JS di visualizzazione: HighCharts Marchetti Lun 30-04 18 Esercitazione HighCharts Lo Duca Mer 02-05 18 Libreria JS di visualizzazione: GMap Marchetti Lun 07-05 19 Esercitazione GMap Lo Duca Mer 09-05 20 Libreria JS Corophlet Marchetti Lun 14-05 21 Esercitazione Corophlet Lo Duca Mer 16-05

Ricevimento Libri di testo Durante il corso il ricevimento si terrà ogni lunedì pomeriggio alla fine della lezione Documentazione: Libri di testo/siti web consigliati Learning PHP, MySQL & JavaScript: With jquery, CSS & HTML5 5th Edition november 2017 Programmare in PHP e MySQL W3schools.com Html.it

Fonti di informazioni Info da Wikipedia Web Application Hypertext Transfer Protocol List of Apache MySQL PHP packages Ricerche su Google (esempi) mysql how to import CSV php tutorial javascript chart library

Modalità di esame Progetto e sviluppo di un'applicazione web Lavoro di team max 3 persone min 1 Alternativa compitino: realizzazione di una semplice aplicazione web con i suoi 3 livelli.

PHP PHP: HYPERTEXT PREPROCESSOR

Architettura Web Client http://www.example.com/prova.php Internet Protocollo HTTP Server 80 Server Web Interprete PHP 3306 MySql

Architettura in locale http://localhost/prova.php 80 Server Web Interprete PHP c:\\xampp\htdocs\prova.php

Scheda PHP Sviluppatore ThePHPGroup Prima versione 1995 Ultima versione 7.0.3 (04 febbraio 2016) S.O. Genere Sito web Multipiattaforma Linguaggio di scripting, server side per sviluppo web, usato anche come linguaggio general purpose php.net

PHP Supportato da numerose comunità online Integrabile con numerose librerie esterne Interpretato Progettato da Rasmus Lerdorf nel '94 PHP è un acronimo ricorsivo che sta per PHP: Hypertext Preprocessor

PHP Concepito per la programmazione Web ovvero la realizzazione di pagine web dinamiche linguaggio di script interpretato da una componente aggiuntiva del server web, detto processore PHP o interprete PHP L'elaborazione di codice PHP sul server produce documenti o dati da restituire al browser Permette di interagire con vari database, MySQL, Oracle, Postgres...

Script PHP Il nome del file che contiene uno script PHP termina con l'estensione.php Quando il server riceve la rchiesta per un documento con estensione.php invoca l'interprete PHP L'interprete PHP esegue lo script e restituisce un risultato (HTML, Json, XML, )

Programmi PHP per Applicazioni Web <?php echo "<html>"; echo "Oggi è il ". date("d/m/y"); echo "</br>"; echo "e sono le ore ". date("h:i:s"); echo "</html>";?> <html> Oggi è il <?php echo date("d/m/y");?></br> Sono le ore <?php echo date("h:i:s");?> </html> Processore PHP Il Processore PHP interpreta solo il codice contenuto tra <?php e?> il resto lo fa passare <html> Oggi è il 22/03/2012</br> e sono le ore 15:00 </html> L'esecuzione del programma PHP produce una pagina HTML

Test Esecuzione PHP <?php echo "<html>"; echo "Oggi è il ". date("d/m/y"); echo "</br>"; echo "e sono le ore ". date("h:i:s"); echo "</html>";?> Invocazione tramite browser http://localhost/prova.php Assicurarsi che il file prova.php sia sotto la directory xampp/htdocs Invocazione diretta php prova.php Assicurarsi di poter vedere il processore php dalla directory in cui si trova il programma( PATH=C:\...\PHP\ ) Utile per eseguire dei test sul codice

Dizionario Browser Web = applicazione sw che consente di recuperare riprodurre e navigare le risorse che troviamo su Web Server Web = sw che ospita le risorse web Risorsa Web = pagina html, video, immagine, applicazione web URL (Uniform Resource Locator) = modo per identificare in modo univoco una risorsa su web (nel nostro caso un programma php su di un server web) HTTP (Hypertext Transfer Protocol) = protocollo di comunicazione su Web

XAMPP

Architettura in locale Ambiente di sviluppo xamp = Apache + Mysql + PHP Pacchetti che installano i tre componenti Xampp, EasyPhp, Browser Web HTTP Server Web Dati Chrome/Mozilla Apache+Php MySql

Xampp Per LPW si richiede che ogni computer local abbia installato Xampp La prossima lezione sarà dedicato all'installazione di Xampp

Errore Comune Ignorare il ruolo di un server web Eseguire il codice PHP direttamente dal browser file:///c:users/.../meteo.html Tutta l'elaborazione lato server manca

Esercizio 0 - Test Inserire uno dei 3 programmi precedenti nella directory htdocs di apache C:\xampp\htdocs\hello.php (Caso XAMPP su windows) Aprire un browser e inserire l URL http://localhost/hello.php Se qualcosa non funziona verificare Avete usato l estensione.php per il file contenente il programma? Il server web Apache è partito? Avete inserito localhost?

Esercizio I Gioco del Lotto Simulare estrazione del Lotto Requisiti Costrutto HTML per le tabelle html.it Funzione PHP che genera numeri casuali php.net rand(1,90)

Una possibile soluzione <html> <table> <tr><td>bari</td> <td><?php echo rand(1,90);?></td> <td><?php echo rand(1,90);?></td> <td><?php echo rand(1,90);?></td> <td><?php echo rand(1,90);?></td> <td><?php echo rand(1,90);?></td> </tr> <!-- Ripeti per tutte le ruote --> </table> </html>