mirror of
https://github.com/Steffo99/sophon.git
synced 2024-12-23 15:24:21 +00:00
155 lines
5.3 KiB
ReStructuredText
155 lines
5.3 KiB
ReStructuredText
Notebook
|
|
========
|
|
|
|
Un *notebook* rappresenta una **postazione di lavoro** che può essere allegata ad un :ref:`progetto di ricerca`.
|
|
|
|
.. image:: diagram.png
|
|
:width: 400
|
|
|
|
|
|
Creazione di nuovi notebook
|
|
---------------------------
|
|
|
|
Qualsiasi **membro** di un :ref:`gruppo di ricerca` può creare nuovi notebook all'interno di uno dei progetti del gruppo a cui appartiene.
|
|
|
|
.. image:: creation.png
|
|
|
|
.. note::
|
|
|
|
Per motivi tecnici, i notebook non possono avere come slug ``backend``, ``frontend``, ``proxy``, ``api``, ``static`` e ``src``, oppure iniziare o terminare con un trattino ``-``.
|
|
|
|
|
|
Stato del notebook
|
|
------------------
|
|
|
|
Un notebook può essere *avviato* o *fermo* in base al suo stato di esecuzione sull':ref:`istanza` Sophon:
|
|
|
|
- è *avviato* se sta venendo eseguito ed è accessibile;
|
|
|
|
.. image:: status_stopped.png
|
|
:height: 40
|
|
|
|
- è *fermo* se non sta venendo eseguito o sta venendo preparato.
|
|
|
|
.. image:: status_running.png
|
|
:height: 40
|
|
|
|
Alla creazione, un notebook è *fermo*.
|
|
|
|
|
|
Avviare un notebook
|
|
^^^^^^^^^^^^^^^^^^^
|
|
|
|
Un **membro** del :ref:`gruppo di ricerca` a cui appartiene il notebook può richiedere al server l'avvio di quest'ultimo, in modo da poterlo utilizzare successivamente.
|
|
|
|
.. image:: action_start.png
|
|
|
|
|
|
Fermare un notebook
|
|
^^^^^^^^^^^^^^^^^^^
|
|
|
|
Un **membro** del :ref:`gruppo di ricerca` a cui appartiene il notebook può richiedere al server l'arresto di quest'ultimo, salvando i dati e interrompendo la sessione di lavoro attualmente in corso.
|
|
|
|
.. image:: action_stop.png
|
|
|
|
.. warning::
|
|
|
|
Se un notebook viene fermato durante un upload o download di file, essi risulteranno corrotti e saranno da ritrasferire.
|
|
|
|
|
|
Immagine del notebook
|
|
---------------------
|
|
|
|
In **fase di creazione** di un notebook, oppure mentre esso è **fermo**, è possibile selezionare un'*immagine*, ovvero il programma che sarà eseguito dal notebook all'avvio.
|
|
|
|
Attualmente, l'unica immagine configurata è **Jupyter (Sophon)**, che esegue un server `Jupyter`_ con un'interfaccia `JupyterLab`_.
|
|
|
|
|
|
.. _Jupyter: https://jupyter.org/
|
|
.. _JupyterLab: https://jupyterlab.readthedocs.io/en/stable/
|
|
|
|
|
|
Collegarsi a un notebook
|
|
------------------------
|
|
|
|
I **membri** del :ref:`gruppo di ricerca` a cui appartiene il notebook possono connettersi ad un notebook **avviato** attraverso un URL segreto comunicatogli dall':ref:`istanza`.
|
|
|
|
.. image:: connection.png
|
|
|
|
|
|
Utilizzo di un notebook
|
|
^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Una volta connessi ad un notebook, sarà visualizzato il programma eseguito dall'immagine selezionata.
|
|
|
|
.. seealso::
|
|
|
|
Per informazioni su come usare JupyterLab, è possibile consultare l'apposita `documentazione <https://jupyterlab.readthedocs.io/en/stable/>`_.
|
|
|
|
|
|
Collaborazione
|
|
^^^^^^^^^^^^^^
|
|
|
|
È possibile il collegamento **simultaneo** di più membri al notebook: l'immagine selezionata permetterà loro di collaborare in tempo reale sugli stessi file.
|
|
|
|
.. image:: collaboration.png
|
|
|
|
|
|
Blocco di un notebook
|
|
---------------------
|
|
|
|
Qualsiasi **membro** del :ref:`gruppo di ricerca` a cui appartiene il notebook può *bloccarlo* per segnalare agli altri utenti che vi hanno accesso di non utilizzare quello specifico notebook.
|
|
|
|
.. image:: action_lock.png
|
|
|
|
Bloccare un notebook **rimuove dall'interfaccia web** i bottoni per l'avvio, l'arresto, l'eliminazione al notebook bloccato, e, per tutti tranne l':ref:`utente` che ha effettuato la richiesta, anche il bottone per la connessione.
|
|
|
|
.. image:: locked.png
|
|
|
|
.. warning::
|
|
|
|
Il blocco di un notebook è solo estetico, e non impedisce agli utenti di effettuare queste operazioni tramite strumenti esterni, come la Console per sviluppatori del browser web.
|
|
|
|
Un notebook bloccato potrà essere sbloccato da qualsiasi **membro** del :ref:`gruppo di ricerca`; il membro che ha richiesto il blocco potrà sbloccarlo **immediatamente**, mentre agli altri membri sarà richiesto di confermare l'azione come se stesse venendo effettuata un'eliminazione.
|
|
|
|
.. seealso::
|
|
:ref:`Conferma di eliminazione`
|
|
|
|
|
|
Isolamento dei notebook
|
|
-----------------------
|
|
|
|
I notebook risiedono tutti sullo **stesso elaboratore fisico** che esegue l':ref:`istanza` Sophon, pertanto ne condividono le risorse, come processore, scheda video e memoria.
|
|
|
|
Sono però **logicamente isolati**: i file contenuti in un notebook non sono accessibili agli altri, e i notebook non hanno modo di comunicare direttamente tra loro.
|
|
|
|
.. image:: diagram_network.png
|
|
:width: 400
|
|
|
|
|
|
Modifica di un notebook
|
|
-----------------------
|
|
|
|
Qualsiasi *membro* di un :ref:`gruppo di ricerca` può modificare **nome** e **immagine** dei notebook *fermi* al suo interno.
|
|
|
|
I notebook *avviati* non possono essere modificati.
|
|
|
|
Lo *slug*, l'identificatore univoco del notebook, non è modificabile successivamente alla creazione, in quanto è utilizzato all'interno degli URL, che devono essere immutabili.
|
|
|
|
|
|
Eliminazione di un notebook
|
|
---------------------------
|
|
|
|
Qualsiasi *membro* di un :ref:`gruppo di ricerca` può eliminare i notebook all'interno dei progetti del gruppo, a condizione che questi siano *fermi* e *non bloccati*.
|
|
|
|
|
|
Notebook nell'interfaccia web
|
|
-----------------------------
|
|
|
|
Dopo aver selezionato un :ref:`progetto di ricerca`, l'interfaccia web mostra l'elenco dei notebook che gli appartengono, assieme alle azioni che è possibile effettuare su di essi.
|
|
|
|
.. image:: list.png
|
|
|
|
È possibile selezionare un notebook per visualizzarne i dettagli o connettercisi.
|
|
|
|
.. image:: detail.png
|