Le projet Jupyter fait suite à IPython en 2014, qui a marqué une véritable révolution dans le monde de Python grâce à la console interactive. Connu pour Jupyter Notebook, un carnet de feuilles en ligne qui permet d’afficher et d’exécuter du code (en Python, Julia, R, Scala et 96 autres langages) entouré de texte.

Véritable outil de formation et de démonstration, la suite Jupyter vient d’ouvrir au public son tout dernier petit : le JupyterLab. Qu’apporte-t-il et en quoi va-t-il, une fois encore, bousculer nos habitudes ? C’est ce que nous allons voir dans cet article axé sur l’outil de data science à ne pas négliger.

Retour sur le Notebook

Même si ce n’est pas l’objet de l’article, on souhaitait, à l’image du blog de Jupyter, revenir sur le succès incontestable du Notebook : sorti en 2011, il est utilisé par des millions d’utilisateurs. En effet, plus de 1,8 million de notebook sont accessibles sur Github et ce dans plusieurs langages, puisque pas moins de 100 sont supportés !

Comme le montre l’exemple ci-contre, Jupyter Notebook est utilisé pour afficher à la fois du texte explicatif et du code exécutable, pour pouvoir proposer à la communauté des tutoriels interactifs (vous pouvez ajouter des boutons ou des contrôles sur vos graphiques par exemple) ou pour démontrer vos résultats.

JupyterLab : vers un IDE ultra-complet ?

JupyterLab pousse le concept encore plus loin, en proposant de prendre en charge :

  • Vos notebook
  • Un éditeur de texte (de type notepad++)
  • Un terminal (cmd, bash)
  • Un visualiseur de données (de type Excel)
  • Des extensions personnalisées de la communauté

A l’image d’un IDE, vous aurez donc tous les outils pour travailler dans le Lab qui présente en plus l’avantage de pouvoir être hébergé sur un serveur et rendu accessible à tous vos collègues (grâce à JupyterHub) ! Vous pourrez évidemment déplacer les différents composants de votre environnement, exécuter des blocs de code spécifiques, lier un noyau à une console pour faire des tests sans dégrader vos variables, etc… comme dans Spyder, un autre IDE.

Si vous voulez le tester par vous-même…

Pour l’instant, JupyterLab est encore en version beta et il lui manque quelques fonctionnalités (comme par exemple pouvoir exécuter du code sélectionné dans la console avec CTRL + Enter), mais l’expérience utilisateur reste très bonne.
jupyterlab exemple

Enfin, si vous souhaitez mettre en place des extensions, que ce soit pour changer le thème, les éditeurs, les menus, les raccourcis clavier, ajouter une API d’accès ou autre, vous pouvez chercher sur Github le tag « jupyterlab-extension« . A l’heure actuelle, il y en a 22 dont une connexion à Git et une à JupyterHub que l’on recommande.

Mise en place de votre propre laboratoire

Dans cette dernière partie, on va mettre en place notre propre laboratoire JupyterLab pour mener à bien nos expériences.

Tout d’abord, au cas où vous en auriez besoin en complément de nos explications, voici la doc de JupyterLab.

Commençons par tout installer, via cmd (après avoir installé Python) :

Puis pour le lancer :

On aura vu plus dur pour démarrer un projet. Pour gagner du temps, on a téléchargé depuis le projet d’exemple de JupyterLab les fichiers Lorenz.ipynb et lorenz.py

Votre laboratoire est prêt ! Vous pouvez y créer des fichiers, en importer, les exporter…

Maintenant on va voir comment l’exposer sur le réseau grâce à JupyterHub.

Commencez par saisir la commande suivante dans Linux (vous ne pouvez pas héberger de serveur JupyterHub dans Windows) :

Une fois le serveur installé, vous pouvez le démarrer avec la commande suivante (le sudo permet d’autoriser plusieurs utilisateurs simultanément)

jhub-partsEnfin, pour accéder au hub, allez à l’adresse https://localhost:8000

Vous serez alors invités à saisir vos identifiants de connexion Linux et bénéficierez de tout ce qui est installé sur le serveur (dépendances).

Pour accéder au Hub, ajoutez en fin d’URL /hub, pour le Notebook, /tree et pour le Lab, /lab

Enfin, si vous souhaitez installer l’extension :

PARTAGER
Article précédentNeuralink, la puce neuronal d’Elon Musk
Article suivantCoupe du monde de football de robots à Bordeaux en 2020 ?
Lambert R.
Ingénieur d'Etudes et Data Scientist depuis plusieurs années, mes travaux et mon parcours scolaire (master en mathématiques fondamentales) m'ont amené aux abords de l'intelligence artificielle. Aujourd'hui j'écris des articles en data science, deep learning, big data et intelligence artificielle pour PenseeArtificielle.fr, dans le but de promouvoir et vulgariser les promesses d'avenir qu'offrent ces domaines de pointe.