<spanid="index-0"></span><h1><spanclass="section-number">6. </span>Risultati ottenuti<aclass="headerlink"href="#risultati-ottenuti"title="Link a questa intestazione"></a></h1>
<p>Al termine del periodo di sviluppo, il software ha soddisfatto <aclass="reference internal"href="../progetto/index.html#requisiti-del-progetto"><spanclass="std std-ref">tutti i requisiti prefissati</span></a>.</p>
<p>In particolare:</p>
<ulclass="simple">
<li><p>tutte le funzionalità desiderate sono state sviluppate, raggiungendo la feature parity con JupyterHub;</p>
<ul>
<li><p>il software ha ampio spazio per eventuali <aclass="reference internal"href="../progetto/index.html#estendibilita"><spanclass="std std-ref">estensioni</span></a> grazie alle numerosi classi astratte sviluppate;</p></li>
<li><p>l'isolamento tra notebook e l'autenticazione all'accesso è stata realizzata, garantendo la <aclass="reference internal"href="../progetto/index.html#sicurezza"><spanclass="std std-ref">sicurezza</span></a> dei dati;</p></li>
<li><p>l'interfaccia web è sufficientemente <aclass="reference internal"href="../progetto/index.html#intuitivita"><spanclass="std std-ref">intuitiva</span></a> per permetterne un utilizzo e apprendimento autonomo;</p></li>
<li><p>è possibile <aclass="reference internal"href="../progetto/index.html#personalizzabilita"><spanclass="std std-ref">personalizzare</span></a> i dettagli del software con il brand della propria istituzione;</p></li>
<li><p>più utenti possono <aclass="reference internal"href="../progetto/index.html#possibilita-di-collaborazione"><spanclass="std std-ref">collaborare</span></a> simultaneamente all'interno dello stesso notebook;</p></li>
<li><p>il software è stato pubblicato su <aclass="reference internal"href="../progetto/index.html#github"><spanclass="std std-ref">GitHub</span></a> come progetto <aclass="reference internal"href="../progetto/index.html#open-source"><spanclass="std std-ref">open source</span></a>;</p></li>
<li><p>da dispositivi mobili, l'interfaccia grafica di Sophon risulta interamente utilizzabile, raggiungendo il requisito di <aclass="reference internal"href="../progetto/index.html#responsivita"><spanclass="std std-ref">responsività</span></a>, anche se la modifica di notebook computazionali con JupyterLab potrebbe risultare difficile su schermi con risoluzione molto ridotta;</p></li>
<li><p>l'interfaccia web soddisfa i requisiti di <aclass="reference internal"href="../progetto/index.html#accessibilita"><spanclass="std std-ref">accessibilità</span></a> fissati;</p></li>
</ul>
</li>
<li><p>il software è sufficientemente stabile per l'utilizzo in produzione, permettendone il suo utilizzo all'interno dell'Università;</p></li>
<li><p>le <aclass="reference internal"href="../installazione/index.html#installazione-di-sophon"><spanclass="std std-ref">istruzioni per l'installazione</span></a> sono state scritte, permettendo ad altri interessati di installare Sophon.</p></li>
</ul>
<sectionid="stato-finale-del-modulo-backend">
<h2><spanclass="section-number">6.1. </span>Stato finale del modulo backend<aclass="headerlink"href="#stato-finale-del-modulo-backend"title="Link a questa intestazione"></a></h2>
<p>Il modulo backend terminato espone una web API all'indirizzo <codeclass="samp docutils literal notranslate"><spanclass="pre">api.</span><em><spanclass="pre">BASE_DOMAIN</span></em></code> con i seguenti endpoints.</p>
<spanclass="sig-name descname"><spanclass="pre">POST</span></span><spanclass="sig-name descname"><spanclass="pre">/api/auth/token/</span></span><aclass="headerlink"href="#post--api-auth-token-"title="Link a questa definizione"></a></dt>
<dd><p>Effettua l'accesso in cambio di un token di autenticazione.</p>
<spanclass="sig-name descname"><spanclass="pre">POST</span></span><spanclass="sig-name descname"><spanclass="pre">/api/auth/session/</span></span><aclass="headerlink"href="#post--api-auth-session-"title="Link a questa definizione"></a></dt>
<dd><p>Effettua l'accesso, salvando i dati di autenticazione nei cookie.</p>
<spanclass="sig-name descname"><spanclass="pre">ANY</span></span><spanclass="sig-name descname"><spanclass="pre">/api/core/groups/</span></span><aclass="headerlink"href="#any--api-core-groups-"title="Link a questa definizione"></a></dt>
<dd><p>Accede ai <aclass="reference internal"href="../progetto/index.html#gruppi-di-ricerca-in-sophon"><spanclass="std std-ref">gruppi di ricerca</span></a>, permettendone la visualizzazione (<codeclass="docutils literal notranslate"><spanclass="pre">GET</span></code>), la creazione (<codeclass="docutils literal notranslate"><spanclass="pre">POST</span></code>), la modifica (<codeclass="docutils literal notranslate"><spanclass="pre">PUT</span></code>) e l'eliminazione (<codeclass="docutils literal notranslate"><spanclass="pre">DELETE</span></code>), a condizione che si sia autorizzati ad effettuare l'operazione.</p>
<dlclass="field-list simple">
<dtclass="field-odd">JSON Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>slug</strong> (<em>string</em>) -- Slug del gruppo di ricerca.</p></li>
<li><p><strong>name</strong> (<em>string</em>) -- Nome del gruppo di ricerca.</p></li>
<li><p><strong>description</strong> (<em>string</em>) -- Descrizione del gruppo di ricerca.</p></li>
<li><p><strong>access</strong> (<em>string</em>) -- <aclass="reference internal"href="../progetto/index.html#membri-e-modalita-di-accesso"><spanclass="std std-ref">Modalità di accesso</span></a> al gruppo.</p></li>
<li><p><strong>owner</strong> (<em>integer</em>) -- ID del creatore del gruppo.</p></li>
<li><p><strong>members</strong> (<em>integer[]</em>) -- Elenco dei membri degli ID dei membri del gruppo.</p></li>
<li><p><span><aclass="reference external"href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.5">204 No Content</a></span> -- Risorsa eliminata.</p></li>
<li><p><span><aclass="reference external"href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.2">401 Unauthorized</a></span> -- Accesso non effettuato.</p></li>
<li><p><span><aclass="reference external"href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.4">403 Forbidden</a></span> -- Operazione non permessa.</p></li>
<li><p><span><aclass="reference external"href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.5">404 Not Found</a></span> -- Risorsa non esistente.</p></li>
<spanclass="sig-name descname"><spanclass="pre">GET</span></span><spanclass="sig-name descname"><spanclass="pre">/api/core/users/by-id/</span></span><aclass="headerlink"href="#get--api-core-users-by-id-"title="Link a questa definizione"></a></dt>
<dd><p>Accede agli <aclass="reference internal"href="../progetto/index.html#utenti-in-sophon"><spanclass="std std-ref">utenti</span></a> dell'istanza Sophon usando il loro ID come chiave, permettendone la visualizzazione.</p>
<dlclass="field-list simple">
<dtclass="field-odd">JSON Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>id</strong> (<em>integer</em>) -- ID dell'utente.</p></li>
<li><p><strong>first_name</strong> (<em>string</em>) -- Nome dell'utente (non utilizzato se non specificato manualmente nell'interfaccia di amministrazione).</p></li>
<li><p><strong>last_name</strong> (<em>string</em>) -- Cognome dell'utente (non utilizzato se non specificato manualmente nell'interfaccia di amministrazione).</p></li>
<li><p><strong>email</strong> (<em>string</em>) -- Email dell'utente (non utilizzata se non specificata manualmente nell'interfaccia di amministrazione).</p></li>
<spanclass="sig-name descname"><spanclass="pre">GET</span></span><spanclass="sig-name descname"><spanclass="pre">/api/core/users/by-username/</span></span><aclass="headerlink"href="#get--api-core-users-by-username-"title="Link a questa definizione"></a></dt>
<dd><p>Accede agli <aclass="reference internal"href="../progetto/index.html#utenti-in-sophon"><spanclass="std std-ref">utenti</span></a> dell'istanza Sophon usando il loro username come chiave, permettendone la visualizzazione.</p>
<dlclass="field-list simple">
<dtclass="field-odd">JSON Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>id</strong> (<em>string</em>) -- ID dell'utente.</p></li>
<li><p><strong>first_name</strong> (<em>string</em>) -- Nome dell'utente (non utilizzato se non specificato manualmente nell'interfaccia di amministrazione).</p></li>
<li><p><strong>last_name</strong> (<em>string</em>) -- Cognome dell'utente (non utilizzato se non specificato manualmente nell'interfaccia di amministrazione).</p></li>
<li><p><strong>email</strong> (<em>string</em>) -- Email dell'utente (non utilizzata se non specificata manualmente nell'interfaccia di amministrazione).</p></li>
<spanclass="sig-name descname"><spanclass="pre">ANY</span></span><spanclass="sig-name descname"><spanclass="pre">/api/projects/by-slug/</span></span><aclass="headerlink"href="#any--api-projects-by-slug-"title="Link a questa definizione"></a></dt>
<dd><p>Accede a tutti i <aclass="reference internal"href="../progetto/index.html#progetti-di-ricerca-in-sophon"><spanclass="std std-ref">progetti di ricerca</span></a> dell'istanza Sophon, permettendone la visualizzazione (<codeclass="docutils literal notranslate"><spanclass="pre">GET</span></code>), la creazione (<codeclass="docutils literal notranslate"><spanclass="pre">POST</span></code>), la modifica (<codeclass="docutils literal notranslate"><spanclass="pre">PUT</span></code>) e l'eliminazione (<codeclass="docutils literal notranslate"><spanclass="pre">DELETE</span></code>), a condizione che si sia autorizzati ad effettuare l'operazione.</p>
<dlclass="field-list simple">
<dtclass="field-odd">JSON Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>slug</strong> (<em>string</em>) -- Slug del progetto.</p></li>
<li><p><strong>name</strong> (<em>string</em>) -- Nome del progetto.</p></li>
<li><p><strong>description</strong> (<em>string</em>) -- Descrizione del progetto.</p></li>
<li><p><strong>visibility</strong> (<em>string</em>) -- <aclass="reference internal"href="../progetto/index.html#visibilita-dei-progetti"><spanclass="std std-ref">Visibilità</span></a> del progetto.</p></li>
<li><p><strong>group</strong> (<em>string</em>) -- Slug del gruppo a cui appartiene il progetto.</p></li>
<li><p><span><aclass="reference external"href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.5">204 No Content</a></span> -- Risorsa eliminata.</p></li>
<li><p><span><aclass="reference external"href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.2">401 Unauthorized</a></span> -- Accesso non effettuato.</p></li>
<li><p><span><aclass="reference external"href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.4">403 Forbidden</a></span> -- Operazione non permessa.</p></li>
<li><p><span><aclass="reference external"href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.5">404 Not Found</a></span> -- Risorsa non esistente.</p></li>
<spanclass="sig-name descname"><spanclass="pre">ANY</span></span><spanclass="sig-name descname"><spanclass="pre">/api/projects/by-group/</span></span><spanclass="sig-paren">(</span><emclass="property"><spanclass="pre">str:</span></em><emclass="sig-param"><spanclass="pre">group_slug</span></em><spanclass="sig-paren">)</span><spanclass="sig-name descname"><spanclass="pre">/</span></span><aclass="headerlink"href="#any--api-projects-by-group-(str-group_slug)-"title="Link a questa definizione"></a></dt>
<dd><p>Accede ai <aclass="reference internal"href="../progetto/index.html#progetti-di-ricerca-in-sophon"><spanclass="std std-ref">progetti di ricerca</span></a> appartenenti a un certo gruppo, permettendone la visualizzazione (<codeclass="docutils literal notranslate"><spanclass="pre">GET</span></code>), la creazione (<codeclass="docutils literal notranslate"><spanclass="pre">POST</span></code>), la modifica (<codeclass="docutils literal notranslate"><spanclass="pre">PUT</span></code>) e l'eliminazione (<codeclass="docutils literal notranslate"><spanclass="pre">DELETE</span></code>), a condizione che si sia autorizzati ad effettuare l'operazione.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>group_slug</strong> -- Slug del gruppo di cui si vogliono ottenere i progetti.</p></li>
</ul>
</dd>
<dtclass="field-even">JSON Parameters</dt>
<ddclass="field-even"><ulclass="simple">
<li><p><strong>slug</strong> (<em>string</em>) -- Slug del progetto.</p></li>
<li><p><strong>name</strong> (<em>string</em>) -- Nome del progetto.</p></li>
<li><p><strong>description</strong> (<em>string</em>) -- Descrizione del progetto.</p></li>
<li><p><strong>visibility</strong> (<em>string</em>) -- <aclass="reference internal"href="../progetto/index.html#visibilita-dei-progetti"><spanclass="std std-ref">Visibilità</span></a> del progetto.</p></li>
<li><p><strong>group</strong> (<em>string</em>) -- Slug del gruppo a cui appartiene il progetto.</p></li>
<li><p><span><aclass="reference external"href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.5">204 No Content</a></span> -- Risorsa eliminata.</p></li>
<li><p><span><aclass="reference external"href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.2">401 Unauthorized</a></span> -- Accesso non effettuato.</p></li>
<li><p><span><aclass="reference external"href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.4">403 Forbidden</a></span> -- Operazione non permessa.</p></li>
<li><p><span><aclass="reference external"href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.5">404 Not Found</a></span> -- Risorsa non esistente.</p></li>
<spanclass="sig-name descname"><spanclass="pre">ANY</span></span><spanclass="sig-name descname"><spanclass="pre">/api/notebooks/by-slug/</span></span><aclass="headerlink"href="#any--api-notebooks-by-slug-"title="Link a questa definizione"></a></dt>
<dd><p>Accede a tutti i <aclass="reference internal"href="../progetto/index.html#notebook-in-sophon"><spanclass="std std-ref">notebook</span></a> dell'istanza Sophon, permettendone la visualizzazione (<codeclass="docutils literal notranslate"><spanclass="pre">GET</span></code>), la creazione (<codeclass="docutils literal notranslate"><spanclass="pre">POST</span></code>), la modifica (<codeclass="docutils literal notranslate"><spanclass="pre">PUT</span></code>) e l'eliminazione (<codeclass="docutils literal notranslate"><spanclass="pre">DELETE</span></code>), a condizione che si sia autorizzati ad effettuare l'operazione.</p>
<divclass="admonition note">
<pclass="admonition-title">Nota</p>
<p>Questo endpoint non restituisce i dettagli di connessione al notebook; a tale scopo, è necessario utilizzare <aclass="reference internal"href="#any--api-notebooks-by-project-(str-project_slug)-"title="ANY /api/notebooks/by-project/(str:project_slug)/"><codeclass="xref http http-any docutils literal notranslate"><spanclass="pre">ANY</span><spanclass="pre">/api/notebooks/by-project/(str:project_slug)/</span></code></a>.</p>
</div>
<dlclass="field-list simple">
<dtclass="field-odd">JSON Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>slug</strong> (<em>string</em>) -- Slug del notebook.</p></li>
<li><p><strong>name</strong> (<em>string</em>) -- Nome del notebook.</p></li>
<li><p><strong>is_running</strong> (<em>boolean</em>) -- Se il notebook è <aclass="reference internal"href="../progetto/index.html#stato-del-notebook"><spanclass="std std-ref">avviato</span></a> oppure no.</p></li>
<li><p><strong>locked_by</strong> (<em>integer</em>) -- ID dell'utente che ha <aclass="reference internal"href="../progetto/index.html#blocco-di-un-notebook"><spanclass="std std-ref">bloccato</span></a> il notebook.</p></li>
<li><p><strong>container_image</strong> (<em>string</em>) -- Il nome dell'<aclass="reference internal"href="../progetto/index.html#immagine-del-notebook"><spanclass="std std-ref">immagine</span></a> del notebook.</p></li>
<li><p><strong>project</strong> (<em>string</em>) -- Slug del progetto a cui appartiene il notebook.</p></li>
<li><p><span><aclass="reference external"href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.5">204 No Content</a></span> -- Risorsa eliminata.</p></li>
<li><p><span><aclass="reference external"href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.2">401 Unauthorized</a></span> -- Accesso non effettuato.</p></li>
<li><p><span><aclass="reference external"href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.4">403 Forbidden</a></span> -- Operazione non permessa.</p></li>
<li><p><span><aclass="reference external"href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.5">404 Not Found</a></span> -- Risorsa non esistente.</p></li>
<spanclass="sig-name descname"><spanclass="pre">ANY</span></span><spanclass="sig-name descname"><spanclass="pre">/api/notebooks/by-project/</span></span><spanclass="sig-paren">(</span><emclass="property"><spanclass="pre">str:</span></em><emclass="sig-param"><spanclass="pre">project_slug</span></em><spanclass="sig-paren">)</span><spanclass="sig-name descname"><spanclass="pre">/</span></span><aclass="headerlink"href="#any--api-notebooks-by-project-(str-project_slug)-"title="Link a questa definizione"></a></dt>
<dd><p>Accede ai <aclass="reference internal"href="../progetto/index.html#notebook-in-sophon"><spanclass="std std-ref">notebook</span></a> appartenenti a un certo progetto, permettendone la visualizzazione (<codeclass="docutils literal notranslate"><spanclass="pre">GET</span></code>), la creazione (<codeclass="docutils literal notranslate"><spanclass="pre">POST</span></code>), la modifica (<codeclass="docutils literal notranslate"><spanclass="pre">PUT</span></code>) e l'eliminazione (<codeclass="docutils literal notranslate"><spanclass="pre">DELETE</span></code>), a condizione che si sia autorizzati ad effettuare l'operazione.</p>
<dlclass="field-list simple">
<dtclass="field-odd">JSON Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>slug</strong> (<em>string</em>) -- Slug del notebook.</p></li>
<li><p><strong>name</strong> (<em>string</em>) -- Nome del notebook.</p></li>
<li><p><strong>is_running</strong> (<em>boolean</em>) -- Se il notebook è <aclass="reference internal"href="../progetto/index.html#stato-del-notebook"><spanclass="std std-ref">avviato</span></a> oppure no.</p></li>
<li><p><strong>locked_by</strong> (<em>integer</em>) -- ID dell'utente che ha <aclass="reference internal"href="../progetto/index.html#blocco-di-un-notebook"><spanclass="std std-ref">bloccato</span></a> il notebook.</p></li>
<li><p><strong>container_image</strong> (<em>string</em>) -- Il nome dell'<aclass="reference internal"href="../progetto/index.html#immagine-del-notebook"><spanclass="std std-ref">immagine</span></a> del notebook.</p></li>
<li><p><strong>project</strong> (<em>string</em>) -- Slug del progetto a cui appartiene il notebook.</p></li>
<li><p><strong>jupyter_token</strong> (<em>string</em>) -- Token per l'autenticazione sul <aclass="reference internal"href="../progetto/index.html#modulo-jupyter"><spanclass="std std-ref">modulo Jupyter</span></a>.</p></li>
<li><p><strong>legacy_notebook_url</strong> (<em>string</em>) -- URL per la connessione all'interfaccia legacy "<em>Jupyter Notebook</em>" del notebook.</p></li>
<li><p><strong>lab_url</strong> (<em>string</em>) -- URL per la connessione all'interfaccia <aclass="reference internal"href="../ricercacollaborativa/index.html#client-jupyter"><spanclass="std std-ref">JupyterLab</span></a> del notebook.</p></li>
<li><p><span><aclass="reference external"href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.5">204 No Content</a></span> -- Risorsa eliminata.</p></li>
<li><p><span><aclass="reference external"href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.2">401 Unauthorized</a></span> -- Accesso non effettuato.</p></li>
<li><p><span><aclass="reference external"href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.4">403 Forbidden</a></span> -- Operazione non permessa.</p></li>
<li><p><span><aclass="reference external"href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.5">404 Not Found</a></span> -- Risorsa non esistente.</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<sectionid="pagina-di-amministrazione-esposta">
<h3>Pagina di amministrazione esposta<aclass="headerlink"href="#pagina-di-amministrazione-esposta"title="Link a questa intestazione"></a></h3>
<p>In aggiunta alla web API, Sophon espone la <aclass="reference internal"href="../realizzazione/index.html#module-sophon.core.admin"><spanclass="std std-ref">pagina di amministrazione</span></a> Django al seguente URL.</p>
<dlclass="http get">
<dtclass="sig sig-object http"id="get--admin-">
<spanclass="sig-name descname"><spanclass="pre">GET</span></span><spanclass="sig-name descname"><spanclass="pre">/admin/</span></span><aclass="headerlink"href="#get--admin-"title="Link a questa definizione"></a></dt>
<dd><p>La pagina di amministrazione Django, personalizzata per Sophon.</p>
<p>La prima pagina richiede l'accesso con credenziali di un <aclass="reference internal"href="../progetto/index.html#livelli-di-accesso"><spanclass="std std-ref">superutente</span></a>.</p>
<p><spanclass="caption-number">Figura 6.1.1 </span><spanclass="caption-text">Schermata di login della pagina di amministrazione.</span><aclass="headerlink"href="#id1"title="Link a questa immagine"></a></p>
</figcaption>
</figure>
<p>Una volta effettuato l'accesso, all'interno della pagina è possibile modificare ogni genere di <aclass="reference internal"href="../progetto/index.html#entita-di-sophon"><spanclass="std std-ref">entità</span></a> presente nell'istanza.</p>
<p><spanclass="caption-number">Figura 6.1.2 </span><spanclass="caption-text">Elenco delle entità presenti all'interno dell'istanza.</span><aclass="headerlink"href="#id2"title="Link a questa immagine"></a></p>
<p><spanclass="caption-number">Figura 6.1.3 </span><spanclass="caption-text">Elenco dei notebook presenti all'interno dell'istanza di dimostrazione.</span><aclass="headerlink"href="#id3"title="Link a questa immagine"></a></p>
<p><spanclass="caption-number">Figura 6.1.4 </span><spanclass="caption-text">Pagina di modifica di uno dei notebook dell'istanza di dimostrazione.</span><aclass="headerlink"href="#id4"title="Link a questa immagine"></a></p>
<p><spanclass="caption-number">Figura 6.1.5 </span><spanclass="caption-text">Pagina di modifica dei dettagli dell'istanza Sophon.</span><aclass="headerlink"href="#id5"title="Link a questa immagine"></a></p>
</figcaption>
</figure>
</section>
</section>
<sectionid="stato-finale-del-modulo-frontend">
<h2><spanclass="section-number">6.2. </span>Stato finale del modulo frontend<aclass="headerlink"href="#stato-finale-del-modulo-frontend"title="Link a questa intestazione"></a></h2>
<p><spanclass="caption-number">Figura 6.2.1 </span><spanclass="caption-text">Pagina di selezione istanza.</span><aclass="headerlink"href="#id6"title="Link a questa immagine"></a></p>
<p><spanclass="caption-number">Figura 6.2.2 </span><spanclass="caption-text">Pagina di login all'istanza Sophon di dimostrazione, che utilizza il tema "Royal Blue".</span><aclass="headerlink"href="#id7"title="Link a questa immagine"></a></p>
<p><spanclass="caption-number">Figura 6.2.3 </span><spanclass="caption-text">Pagina di selezione e creazione gruppi di ricerca.</span><aclass="headerlink"href="#id8"title="Link a questa immagine"></a></p>
<p><spanclass="caption-number">Figura 6.2.4 </span><spanclass="caption-text">Pagina di selezione e creazione progetti di ricerca.</span><aclass="headerlink"href="#id9"title="Link a questa immagine"></a></p>
<p><spanclass="caption-number">Figura 6.2.5 </span><spanclass="caption-text">Pagina di selezione, creazione e avvio notebook.</span><aclass="headerlink"href="#id10"title="Link a questa immagine"></a></p>
<p><spanclass="caption-number">Figura 6.2.6 </span><spanclass="caption-text">Pagina di dettagli di un notebook, che permette l'accesso al modulo Jupyter.</span><aclass="headerlink"href="#id11"title="Link a questa immagine"></a></p>
</figcaption>
</figure>
</section>
<sectionid="stato-finale-del-modulo-jupyter">
<h2><spanclass="section-number">6.3. </span>Stato finale del modulo Jupyter<aclass="headerlink"href="#stato-finale-del-modulo-jupyter"title="Link a questa intestazione"></a></h2>
<h2><spanclass="section-number">6.4. </span>Stato finale del modulo proxy<aclass="headerlink"href="#stato-finale-del-modulo-proxy"title="Link a questa intestazione"></a></h2>
<p>Il modulo proxy terminato effettua correttamente proxying tra gli altri moduli.</p>
</section>
</section>
</div>
</div>
<footer><divclass="rst-footer-buttons"role="navigation"aria-label="Piè di pagina">
<ahref="../realizzazione/index.html"class="btn btn-neutral float-left"title="5. Realizzazione di Sophon"accesskey="p"rel="prev"><spanclass="fa fa-arrow-circle-left"aria-hidden="true"></span> Precedente</a>
<ahref="../conclusione/index.html"class="btn btn-neutral float-right"title="7. Il futuro di Sophon"accesskey="n"rel="next">Prossimo <spanclass="fa fa-arrow-circle-right"aria-hidden="true"></span></a>