Plateforme Jupyter Notebooks¶
Description du service¶
JupyterLab est un environnement web de développement interactif. Vous pouvez développer du code, rédiger de la documentation, exécuter votre code, visualiser les résultats, y compris les graphiques, dans un même document. C’est donc un outil pratique pour explorer les données et partager votre travail (document, code, résultat) avec d’autres. Pour plus d’informations, veuillez vous référer au site web du projet Jupyter.
La plateforme Jupyter Notebooks (bloc-notes par la suite) du CC-IN2P3 est destinée à tout utilisateur disposant d’un compte calcul au CC-IN2P3. Pour une compréhension générale de l’outil, veuillez vous référer à la documentation officielle de JupyterLab. Si vous rencontrez un problème, veuillez soumettre un ticket au support utilisateur.
Accès¶
Vous pouvez accéder à ce service depuis l’URL : notebook.cc.in2p3.fr.
L’accès est accordé via la fédération d’identité eduGAIN ou en saisissant l’identifiant et le mot de passe de votre compte calcul.
Important
La connexion via eduGAIN à la plateforme Jupyter requiert non seulement d’être reconnue par la fédération, mais aussi de posséder un compte calcul valide (qui n’a pas expiré) et de pouvoir faire le lien entre les deux : l’adresse e-mail rattachée à votre identité eduGAIN doit être la même que celui de votre compte au CC-IN2P3. Veuillez vérifier ces informations comme expliqué dans le paragraphe Gestion du compte.
En cas de problème, privilégiez la connexion en saisissant les identifianta de votre compte calcul (contactez le support utilisateur pour une assistance complémentaire).
Attention
Si vous êtes membres de plusieurs groupes, c’est le groupe principal qui sera retenu comme gid
dans le bloc-note, ce qui aura pour conséquence que tous les fichiers créés seront associés à ce groupe. Vérifiez votre groupe principal lors de la connexion à la plateforme et, le cas échéant, changez votre groupe principal. Si vous êtes connecté lors de l’utilisation de cette commande, vous devrez faire une déconnexion / reconnexion à la plateforme pour prendre en compte ce changement.
Après authentification, votre serveur de bloc-notes JupyterLab sera lancé et persistera jusqu’à votre déconnexion (la fermeture de la page Web n’arrête pas le bloc-note).
Une fois connecté, le serveur de notebooks fournira l’accès aux zones de stockage suivantes :
- répertoire HOME :
/pbs/home/u/username
- répertoire THRONG :
/pbs/throng
- répertoire SOFTWARE :
/pbs/software
- répertoire SPS :
/sps/x
selon vos groupes primaire et secondaires
Note
Les répertoires SPS doivent être ajoutés pour être disponibles via le serveur de bloc-notes. Demandez au support utilisateur si vous ne trouvez pas ceux attendus.
Le répertoire d’accueil du bloc-note est placée dans le HOME de l’utilisateur. Pour naviguer dans l’interface vers les autres répertoires listés ci-dessus, créez dans votre HOME les liens symboliques appropriés. Exemple :
% ln -s /pbs/throng/ccin2p3 $HOME/throng_ccin2p3
Les bloc-notes sont fournis avec l’interpréteur Python inclus dans une distribution récente d’Anaconda. Si l’environnement Python fourni par défaut ne répond pas à vos besoins, vous pouvez ajouter le vôtre avec le mécanisme des noyaux.
Gestion des noyaux¶
CC-IN3P3 fournit également des scripts spécifiques pour vous aider à mettre en place des noyaux personnalisés à partir des environnements Python, ROOT, Julia, Golang, R et C++/ROOT disponibles. La recette pour inclure un tel noyau personnalisé dans votre instance JupyterLab est donnée dans la section ci-dessous.
Conseils pratiques¶
- Démarrage
- S’il vous est impossible d’ouvrir un serveur de bloc-notes, veuillez suivre l’une des démarches suivantes classées par priorité :
- vérifiez que votre HOME ne soit pas plein avec la commande
df -h $HOME
; - videz le cache de votre navigateur ;
- supprimez le repertoire
$HOME/.jupyter/lab/workspaces
; - supprimez le repertoire
$HOME/.jupyter
(si pas sauvegardé, le fichier$HOME/.jupyter/jupyter_notebook_config.py
pourra être re-généré par la commandejupyter notebook --generate-config
).
- vérifiez que votre HOME ne soit pas plein avec la commande
- S’il vous est impossible d’ouvrir un serveur de bloc-notes, veuillez suivre l’une des démarches suivantes classées par priorité :
- Exécution
- Les
STDOUT
etSTDERR
de votre serveur de bloc-notes sont envoyés à/var/log/notebookserver/notebookserver.log
; - Les bloc-notes ne sont pas limités en nombre de CPU ou temps d’utilisation ; ils sont limités en RAM par groupe ou par login. Par défaut, tout groupe bénéficie de 2 Go, , veuillez contacter support utilisateur pour demander plus de mémoire.
- Les
- Logout
- Pour arrêter votre serveur de bloc-note, utilisez
File > Log Out
:- Les bloc-notes CPU inactifs sont détruits après 72 heures ;
- Les bloc-notes GPU inactifs sont détruits après 24 heures.
- Pour arrêter votre serveur de bloc-note, utilisez
Fonctionnalité de Dask¶
La plateforme Jupyter Notebooks permet d’exécuter des tâches Dask sur la platforme de calcul du CC-IN2P3. Cette fonctionnalité est décrite en détail ci-dessous.
Extensions JupyterLab disponibles¶
Pour obtenir la liste complète des extensions disponibles, utilisez la commande suivante sur un terminal de votre bloc-note :
% jupyter labextension list
Voici les extensions principales :
Voilà
permet la prévisualisation d’un bloc-note en HTML, cette prévisualisation peut se faire soit dans JupyterLab, soit dans un nouvel onglet du navigateur (dans ce cas, il faut autoriser les fenêtes pop-up), l’interactivité fournie par les extensionsipywidgets
etipympl
(voir ci-dessous) peut être conservée, pour plus de détails merci de consultez le dépôt officiel de Voilà ;Jupytext
offre la possibilité de synchroniser ses bloc-notes dans d’autres formats, tels que le Markdown, qui permettra ainsi le stockage de ses bloc-notes dans des dépôts Git, pour plus de détails, merci de consulter le dépôt officiel de Jupytext ;ipywidgets
permet d’accroître l’interactivité avec le bloc-note grâce à des gadgets logiciels (widgets), pour plus de détails merci de consulter le dépôt officiel de ipywidgets ;ipympl
offre de l’interactivité avec les graphes créés avec matplotlib, pour plus de détails merci de consulter le dépôt officiel de ipympl ;jupyterlab-git
fournit un contrôle de version en utilisant Git. Veuillez consulter le dépôt officiel JupyterLab-Git ;jupyterlab-latex
permet la prévisualisation de documents LaTeX (fichiers*.tex
) directement dans un bloc-note, pour plus de détails merci de consulter le dépôt officiel de jupyterlab-latex. LaTeX peut aussi être utilisé pour les légendes dans matplotlib et pour convertir et exporter un bloc-note en document PDF ;dask-labextension
permet de gérer les graphiques du Dashboard de Dask directement dans les panneaux de JupyterLab. Veuillez consulter le dépôt officiel de Dask-Labextension.
Si vous avez besoin d’aide pour utiliser la plateforme JupyterLab, ou pour configurer votre noyau personnalisé, veuillez contacter le support utilisateur.