5D info Giulio Lasta Istituto Tecnico Tecnologico “G. Marconi” Rovereto ESAME DI STATO 2015 TechUp! Giulio Lasta Classe V D informatica Anno Scolastico 2014/2015 Abstract TechUp, è un blog sul quale chiuque può informarsi sulle moderne tecnologie che usiamo tutti i giorni, quali smartphones, laptop, tablet e tutto ciò che li compone come processori, schede video, motherboard. Qui gli utenti provano di prima persona queste tecnologie e le consigliano, ad altri utenti che a loro volta possono chiedere chiarimenti, valutandone gli aspetti positivi e negativi. Indice Pagina 2: Introduzione al progetto Pagina 3-4-5: Descrizione del progetto Pagina 6: Conclusioni personali 5D info Giulio Lasta Introduzione TechUp è un blog sul quale gli utenti possono pubblicare recensioni inerenti le tecnologie in generale, come smartphones, linguaggi di programmazione, hardware e software in generale. Inoltre per ogni utente è possibile inserire dei commenti alle recensioni dando feedback al pubblicatore. L’obbiettivo in generale è stato quello di creare un sito di blogging, nel quale gli utenti, per quanti essi possano essere, avessero la possibilità di condividere opinioni su argomenti inerenti la tecnologia; Nel corso della sua creazione, questo obbiettivo è stato raggiunto quasi nella sua totalità, infatti, purtroppo ci sono stati degli disguidi nella creazione della grafica, soprattutto nella creazione di un’interfaccia ridimensionabile. Gli strumenti utilizzati nella creazione di questo progetto sono stati: Per quanto riguarda i linguaggi di programmazione: o PHP, MYSQL, HTML CSS, JS, BOOTSTRAP, JQuery Per quanto riguarda i software utilizzati: o Notepad++, Heidi, mysqld, UniserverZ La scelta di utilizzare questi software è stata basata sul fatto che sono tutti dei freeware. Per quanto riguarda l’utilizzo di PHP, contrapposto ad ASP.NET, la scelta si è maggiormente basata sul fatto che PHP e tutti i servizi che lo riguardano sul web sono nella maggioranza dei casi completamente gratis, mentre ASP.NET Discipline coinvolte Ne l corso della creazione di questo blog ho coinvolte svariate discipline: Informatica: questa disciplina è stata coinvolta nel corso della creazione del database, e attraverso la connessione tra pagina PHP e database mysql ed attraverso l’inserimento e la lettura di dati da quest’ ultimo; Sistemi: questa materia scolastica è stata coinvolta attraverso l’utilizzo di Javascript, argomento di quarta, e della rispettiva libreria, Jquery, che permette la semplice creazione di effetti slide show; 5D info Giulio Lasta Risultati ottenuti e funzionalità Alla consegna del progetto, il blog, è in grado di supportare la creazione di multipli account utente, e recensioni con molteplici immagine che a loro volta vengono visualizzate attraverso uno slide show. Per quanto riguarda l’utenza, è possibile creare un proprio account utente, che in seguito, può essere gestito e modificato, per esempio è possibile modificarne il nome ì, l’email, la password d’accesso, ed infine l’immagine di profilo. Difficoltà incontrate e modalità di superamento Una delle principali difficoltà che ho riscontrato nel corso dello svolgimento di questo progetto è stato il caricamento delle immagini sia per quanto riguarda i post che per gli account utente, nel database, infatti questo è risultato non fattibile . Quindi la soluzione a questo problema è stata raggiunta caricando le immagini non nel database stesso, ma nel file system dove sono presenti le pagine PHP che compongono il blog. 5D info Giulio Lasta Descrizione del progetto Hardware: Il sito di blogging TechUp!, può essere supportato da un qualsiasi server in grado di lavorare in PHP e MYSQL ed è accessibile ad un qualsiasi utente in possesso di un PC. Software: Nella parte di software, il sito si basa principalmente su pagine PHP, che vengono elaborate dall’apposito server (Altervista, forse), sempre su quest ultimo si trova il database contenente le informazioni riguardanti gli utenti (Nickname, email, password), i vari post e i commenti; Le tecnologie che ho utilizzato nel corso della creazione di questo progetto sono state: Notepad++, che è un editor di testo completamente freeware che permette di utilizzare una grande quantità di dati, tra i quali Javascript, css, html, php e mysql; Heidi Portable, software, anchesso freeware, che permette la gestione e la creazione di database; Mysqld, database mysql portatile; Bootstrap, libreria CSS, contenente fogli di stile per la progettazione di pagine web; JQuery, libreria Javascript, che permette varie semplificazioni nella programmazione JS, tra cui la creazione di effetti slideshow; UniForm Server Zero, server per l’utilizzo di pagine PHP, e per la gestione e l’utlizzo di database MySql; Jquery in particolare, è stato utilizzato in una sua piccola parte, infatti tutta la libreria in sé e stata creata per la facilitazione nella creazione di animazioni sulle pagine web, in questo blog è stato principalmente utilizzato per la creazione e l’utilizzo di effetti dissolvenza. 5D info Giulio Lasta Il Database: La creazione del database è una delle azioni che sono avvenute per prime cronologicamente, infatti dopo la creazione di una pagina di prova, ho proseguito cercando informazioni online riguardo la programmazione PHP e la relativa connessione a server Mysql. Il database è formato da 3 tabelle contenenti tutti i dati per quanto riguarda: Utente, la tabella utente contiene i dati, come Nick, che memorizza il nome che lo user ha deciso di adottare nell’utilizzo del blog; Articolo, la tabella articolo, contiene dati come il titolo della recensione, il testo, il nome del pubblicatore del post, la categoria in cui è stato postato ed infine la data del giorno in cui è stato postato; Commento, la tabella “commento”, invece memorizza a sua volta tutti i dati necessari, riguardanti i commenti, che tutti i post hanno ricevuto, tra i dati memorizzati, ci sono il testo del commento, l’utente creatore del commento e la data della sua creazione; Modello concettuale del Database Articolo Utente Id Nick 1,1 Email 0,N Crea Passwd Testo Nickname Data Posted 1,1 Scrive 0,N Commento Id_art Testo Nickname Ora Titolo Categoria 5D info Giulio Lasta Pagine PHP: Ogni pagina del blog “TechUp!”, è stata creata in linguaggio PHP, questo per permettere la creazione di pagine dinamiche e, l’utilizzo e quindi la connessione del database Mysql. Il sito è formato da alcune pagine molto simili fra di loro, eccetto l’utilizzo in ognuna di esse di file PHP che separatamente ed autonomamente eseguono la connessione al database e dove richiesto, inseriscono o richiedono dati da quest ultimo; In seguito i dati richiesti vengono visualizzati sulla pagina originaria. Esempio di pagina PHP: 5D info Giulio Lasta Bootstrap: La libreria di fogli di stile Bootstrap, è stata principalmente utilizzata per la semplicità e la velocità con cui fornisce una griglia, in base alla quale suddividere l’intera pagina PHP; Bootstrap per sua natura offre anche un servizio in grado di rendere le pagine device-responsive, cioè le rende in grado di modificare le proprie dimensioni e proprorzioni in base al tipo di device che sta supportando il sito; Infatti rendere il blog TechUp! Device-responsive, è stato uno degli obbiettivi che sono stati portati a termine. Future implementazioni Le implementazioni future di questo progetto potrebbero essere svariate, alcune per esempio potrebbero riguardare la codifica di una grafica più complessa, e userfriendly; Un’ altra implementazione molto importante ed interessante dal punto di vista sia di un “cliente” che dal mio punto di vista di programmatore, sarebbe la gestione dell’accont dell’utente da email, cioè, per esempio nel caso di perdita della password o del nickname del proprio account l’invio di un’ email con il nickname in un caso o una password temporanea nell altro. 5D info Giulio Lasta Conclusione personale Ciò che mi ha portato a intraprendere la decisione di creare un blog, è stato inizialmente la mia passione per tutto ciò che riguarda la tecnologia, in seguito con l’evolversi del progetto, sia durante le ore scolastiche che nel tempo speso a casa, la curiosità per quanto mi sarei potuto spingere oltre applicando migliorie, sempre più complesse ed importanti. Bibliografia: www.stackoverflow.com www.W3schools.com www.getbootstrap.com/components