.. index:: single: introduzione ************ Introduzione ************ Nel mondo della ricerca universitaria, è frequente la collaborazione tra più colleghi su uno stesso progetto, condividendo dati e materiale al fine di ottenere risultati più efficientemente. Negli ultimi decenni, le possibilità per effettuare ricerca collaborativa si sono moltiplicate, grazie principalmente allo sviluppo della rete Internet, che permette comunicazione immediata tra istituzioni di tutto il mondo. Internet infatti ha portato alla creazione di strumenti informatici per facilitare la comunicazione e collaborazione remota, come email, chat, strumenti di revisione bozze e sistemi di controllo versione. Parallelamente a questi strumenti, sono stati sviluppati degli ambienti di lavoro a supporto della ricerca, che permettono la creazione di documenti interattivi, detti `notebook `, che combinano analisi di dati ad elementi multimediali come testo formattato, immagini e grafici. Il più popolare di questi ambienti di lavoro è l'ambiente computazionale `Jupyter`, che all'interno del notebook permette l'utilizzo di molteplici linguaggi di programmazione, sia per l'elaborazione dei dati, sia per la stesura del testo. Jupyter però ha alcuni problemi: è complesso da installare e mantenere, e non implementa di default molte funzionalità per la collaborazione, la confidenzialità e l'autenticazione, che devono quindi essere implementate da strumenti esterni. .. index:: single: obiettivo della tesi Obiettivo della tesi ==================== L'obiettivo di questa tesi è quello di descrivere lo sviluppo dell'applicativo "*Sophon*", realizzato con il fine di semplificare l'utilizzo di `Jupyter` in ambiente universitario. In particolare, l'obiettivo di Sophon è quello di: * essere **intuitivo** da utilizzare; * permettere a più utenti remoti di lavorare **simultaneamente** sullo stesso notebook; * permettere l'**utilizzo dei server dell'Università**; * essere un software **open source** sia nel senso di "**gratuito**" sia nel senso di "**libero**"; * essere **facilmente estendibile** in futuro, qualora fossero necessarie funzionalità aggiuntive o integrazioni con software esterni. .. index:: single: struttura della tesi Struttura della tesi ==================== La tesi è strutturata nel seguente modo: #. nel primo capitolo, :ref:`Sinossi`, viene descritto molto brevemente il progetto realizzato; #. nel secondo capitolo, :ref:`Introduzione`, viene introdotto il contesto della tesi, la tesi stessa e i suoi contenuti; #. nel terzo capitolo, :ref:`Ricerca collaborativa`, viene presentata in dettaglio la situazione attuale della ricerca collaborativa; #. nel quarto capitolo, :ref:`Requisiti`, venono elencati i requisiti che si sono voluti raggiungere con la realizzazione dell'applicativo; #. nel quinto capitolo, :ref:`Progetto`, viene descritta la progettazione avvenuta, entrando nei dettagli della suddivisione in moduli e delle astrazioni create; #. nel sesto capitolo, :ref:`Implementazione`, vengono trattate le specifiche tecniche implementative del progetto; #. nel settimo capitolo, :ref:`Applicazione`, viene fatto un esempio di applicazione del progetto all'interno di un'Università; #. nell'ottavo capitolo, :ref:`Conclusione`, vengono tratte le conclusioni della tesi; #. nel nono capitolo, :ref:`Appendice`, è infine inserito ulteriore materiale indirettamente relativo alla tesi.