Skip to content
Snippets Groups Projects
Commit 963f2c3e authored by Emmanuel Bruno's avatar Emmanuel Bruno
Browse files

cleans up.

parent ec4a0a25
No related branches found
No related tags found
No related merge requests found
%% Cell type:markdown id:9f9ae14d-164e-455d-bd4a-38144281a90b tags:
# JupyterHub à l'UTLN
## Qu'est-ce qu'un notebook Jupyter ?
Un notebook [Jupyter](https://jupyter.org/) est une application web ouverte et libre qui permet de créer et de partager des documents qui contiennent des fragments de programmes éditables et exécutables, des équations, de la visualisation graphique et du texte libre. Ils sont très utilisés dans les domaines de la science des données, de la simulation numérique et des statistiques. Ils permettent de collecter et de préparer des données, de faire des calculs ou de l'apprentissage machine et de visualiser les données. C'est une brique importante de la science ouverte et reproductible. C'est aussi un outils pédagogique intéressant pour associer théorie, pratique et expérimentation.
%% Cell type:markdown id:c0de0d0b-3487-4efe-9292-6b21c8ffe7b4 tags:
### Un exemple simple
L'exemple suivant télécharge automatiquement le dataset [Iris](https://archive.ics.uci.edu/ml/datasets/iris).
%% Cell type:code id:36aa9ec5-39fa-4481-974e-26456f86ae1b tags:
``` python
# L'accès à internet se fait via le proxy de l'UTLN
# Les sites pypi.org, pythonhosted.org, continuum.io, anaconda.com, conda.io, github.com, githubusercontent.com, npmjs.com, yarnpkg.com devraient être accessible directement
# Le proxy et ses identifiants doivent être indiqués dans un fichier de configuration.
import os
os.environ['http_proxy'] = "http://proxy.univ-tln.fr:3128/"
os.environ['https_proxy'] = "http://proxy.univ-tln.fr:3128/"
```
%% Cell type:code id:1a00d1de-0a06-4d54-8544-cfd6a655e1b0 tags:
``` python
# Le dataset est téléchargé depuis le Web (idélament, il devrait être accessible depuis un partage).
import seaborn as sns
iris = sns.load_dataset("iris")
```
%% Cell type:markdown id:d420e980-db5e-4860-8080-cc4485aec252 tags:
On peut ensuite afficher les cinq premières lignes,
%% Cell type:code id:a73f1ef9-8c50-4297-8d2e-02a6a8c732e4 tags:
``` python
iris.head()
```
%% Output
sepal_length sepal_width petal_length petal_width species
0 5.1 3.5 1.4 0.2 setosa
1 4.9 3.0 1.4 0.2 setosa
2 4.7 3.2 1.3 0.2 setosa
3 4.6 3.1 1.5 0.2 setosa
4 5.0 3.6 1.4 0.2 setosa
%% Cell type:markdown id:88aa343e-f4b2-458e-ab09-9430e6b16085 tags:
puis des statistiques sur les données
%% Cell type:code id:28dd3330-14b8-4317-aba9-b7dfe8f04601 tags:
``` python
iris.describe()
```
%% Output
sepal_length sepal_width petal_length petal_width
count 150.000000 150.000000 150.000000 150.000000
mean 5.843333 3.057333 3.758000 1.199333
std 0.828066 0.435866 1.765298 0.762238
min 4.300000 2.000000 1.000000 0.100000
25% 5.100000 2.800000 1.600000 0.300000
50% 5.800000 3.000000 4.350000 1.300000
75% 6.400000 3.300000 5.100000 1.800000
max 7.900000 4.400000 6.900000 2.500000
%% Cell type:markdown id:148ad277-91e9-470c-b8e4-58f53c330e1a tags:
et enfin visualiser les relations entre les caractéristiques (longueurs et largeurs de pétales et sépales) pour chacune des trois espèces et les distributions sur la diagonale.
%% Cell type:code id:a5181228-2317-485a-aa91-e5da362b3eec tags:
``` python
sns.pairplot(iris, hue='species', height=1.5);
```
%% Output
%% Cell type:markdown id:5bbd4022-4058-4482-bd89-c0a57d4b7c57 tags:
Le notebook peut être partagé sous sa forme exécutable ou exporté comme un fichier pdf, une page HTML static, un diaporama HTML Reveal.js, ... (Menu File->Export Notebook As...).
%% Cell type:markdown id:7a1ab036-531b-4f93-a66a-eeba00ad6240 tags:
%% Cell type:markdown id:9dc81533-3683-4938-9c8a-af04dd88afa3 tags:
## Qu'est-ce que JupyterHub
%% Cell type:markdown id:7cccebee-f26c-4e29-b9e8-a4f84d24f88a tags:
[JupyterHub](https://github.com/jupyterhub/jupyterhub) permet de mettre simplement à disposition des utilisateurs des notebooks et fournit l'accès à des ressources de calcul partagées. Les utilisateurs peuvent consulter, modifier ou créer des notebooks dans un espace de travail personnel (le répertoire *work*). JupyterHub permet de changer à volonté d'environnement d'exécution (par exemple pour avoir des logiciels ou des versions différentes).
%% Cell type:markdown id:efd75a31-ce30-4226-baae-d0c777034f46 tags:
## A qui est destiné ce service ?
JupyterHub est un service ouvert aux enseignants et aux étudiants de l'UFR de Sciences et Techniques de [l'Université de Toulon](http://www.univ-tln.fr) (UTLN). C'est actuellement une "preuve de concept". **Les utilisateurs doivent sauvegarder régulièrement leur données eux-même**.
%% Cell type:markdown id:0cc42c20-246c-4a59-a6d2-cc8e5a2edd5a tags:
## Est-possible de faire autre chose que des notebooks ?
Oui ! Il s'agit en fait d'un environnement linux isolé. Il est possible d'ouvrir un terminal de commande (+ en haut à gauche puis Terminal). Il est aussi possible d'ouvrir un éditeur de texte web : Visual Studio code (+ en haut à gauche puis VS Code IDE). Il peut donc être utilisé comme un environnement de travail complet.
%% Cell type:markdown id:cb0f6f5e-ff87-4069-a507-76172bb5303f tags:
## Comment fournir du contenu aux étudiants ?
La solution préconisée est de gérer ce contenu sur un entrepôt git et d'utiliser [nbgitpuller](https://jupyterhub.github.io/nbgitpuller/). Avec nbgitpuller vous pourrez contruire un lien à donner aux étudiants qui ouvrira directement le bon environnement, téléchargera ou mettra à jour votre contenu pour les étudiants.
%% Cell type:markdown id:ae43ab79-2b5c-47e0-a9f7-741696d6c6e5 tags:
## Est-ce possible de personnaliser l'environnement ?
Quatres types de personalisations sont possibles :
* Il est possible d'installer certains outils en tant qu'utilisateur (!pip install *package* ou !conda install *package*) mais ces installations devront être executé à chaque lancement de l'environnement. Pour les utilisateurs avancés, il est possible de créer des environnements persistants (dans le répertoire *work*) avec conda.
* Pour les outils de bases qui peuvent concerner tous le monde [ouvrez un ticket](https://github.com/ebpro/jupyterhub-utln/issues) pour faire une demande d'ajout.
* Il est aussi possible de créer des environnements complètement spécifiques avec une image docker.
%% Cell type:markdown id:a6496213-a224-44a8-a654-8b3fc6e1f0eb tags:
## D'autres questions
Si vous avez d'autres questions [ouvrez un ticket](https://github.com/ebpro/jupyterhub-utln/issues).
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment