Skip to content

jupyter et notebooks

jupyter et notebooks

Les notebooks sont de petits cahiers d’exercices exécutables. Ils sont très pratiques pour expliquer pas à pas ce qu’on fait, comme dans ces cours, mais ils sont aussi très pratiques dans la vraie vie !

Nous allons vous montrer dans cette section comment utiliser jupyter, localement sur votre ordi, pour créer des notebooks avec des cellules de texte et des cellules de code…

utilisation de base

lancer JupyterLab

pour lancer un serveur jupyter vous tapez dans le terminal la commande

Terminal window
jupyter lab

quelle que soit l’option choisie, le terminal va afficher plein de messages, mais ça aura aussi pour effet, bien plus intéressant, d’ouvrir une fenêtre ou un onglet dans votre navigateur Web:

le serveur se lance dans le terminal

jlab-001-blob.png

mais ça ouvre aussi une page dans votre browser web

jlab-002-welcome.png
notebook classic

si on préfère on peut aussi lancer ceci - c’est une interface un peu plus simple, mais le principe est grosso-modo le même

Terminal window
jupyter notebook

le processus serveur

en fait là on fait deux choses complémentaires

  • on lance un programme (le serveur Jupyter) qui tourne dans le terminal
  • on demande au browser de créer une page qui interagit avec ce serveur

du coup ça signifie que le serveur Jupyter doit tourner en permanence

  • si vous le tuez depuis le terminal, le notebook dans le browser va cesser de fonctionner
  • ça signifie aussi que cette session du terminal n’est plus utilisable pour autre chose…

pour terminer la session

pour éviter les soucis, prenez l’habitude de sortir de Jupyter par le menu FileShut Down

de cette façon le processus server est proprement terminé
car notamment sur Windows, lorsqu’on essaie de terminer “sauvagement” le processus serveur il arrive que cela “coince” le Git Bash…

micro-démo Jupyter lab

depuis le navigateur, vous pouvez vous déplacer dans le cours
pour commencer allez dans le dossier demo/notebooks où vous verrez ceci

jlab-003-in-demo.png

créer un notebook

créez un nouveau notebook, et appelez-le foo (File -> Rename Notebook…), vous devez voir maintenant ceci

jlab-004-new-notebook-foo.png

créer des cellules mixtes

à présent arrangez-vous pour créer une nouvelle cellule, de sorte à avoir une cellule de texte suivie d’une cellule de code, comme ceci

jlab-005-mixed-cells.png

gérer l’affichage

vous pouvez libérer de la place et supprimer le browser de fichiers sur la gauche
essayez de cliquer sur les boutons de la barre de gauche pour comprendre la logique
remarquez la troisième icône jlab-006-toc-icon.png , qui permet d’afficher la table des matières

jlab-006-more-space.png

mode édition ou commande

chaque cellule est dans un des deux modes :

  • édition : pour changer le contenu d’une cellule (le texte que vous tapez va directement dans la cellule)
  • commande : cette fois quand vous tapez un caractère il est interprété comme une commande
  • pour sortir du mode édition : tapez Escape ou encore Control-M

en mode 'commande'

voici à quoi ressemblent nos deux cellules en mode ‘commande’

jlab-007-command-mode.png

et en mode 'édition'

la différence est un peu subtile

jlab-007-edit-mode.png

raccourcis utiles

autant prendre rapidement l’habitude d’utiliser les raccourcis clavier - ça va tellement plus vite !

parmi les plus fréquemment utilisés, il y a :

  • Shift-Entrée: pour évaluer la cellule courante et passer à la suivante
  • ⌥-Entrée: pour évaluer la cellule et en insérer une dessous
  • Control-M M pour passer la cellule courante en Markdown
  • Control-M Y pour passer la cellule courante en Code (y comme pYthon)

il y a aussi des raccourcis pratiques pour créer directement des sections

  • Control-M 1 met la cellule en markdown, et insère si nécessaire un # au début de la cellule; on crée ainsi une cellule de titre de rang 1

  • Control-M 2 : de rang 2, etc…

pour une liste exhaustive, à partir du menu, faites HelpKeyboard Shortcuts

la palette

mimée sur celle de vs-code, il y a ici aussi une palette, que l’on invoque avec Shift-Ctrl-C (Shift-Command-C sur Mac)

c’est extrêmement utile pour trouver des commandes un peu évoluées, qui ne sont pas forcément toutes accessibles au travers d’un bouton dans l’interface

jlab-008-palette.png

sélection multiple

  • en général on a exactement une cellule courante
  • mais avec Shift-⬆ ou Shift-⬇ on peut sélectionner plusieurs cellules contigües
jlab-009-multiple-selection.png

c’est utile pour par exemple les déplacer toutes ensemble

déplacer les cellules

parlant de déplacer les cellules, on peut le faire à la souris comme ceci

jlab-010-move-cells.gif

lire le cours localement

maintenant que vous avez cloné le cours, et que vous savez utiliser Jupyter, vous pouvez lire le cours directement sur votre ordi
on rappelle toutes fins utiles qu’il est nécessaire d’avoir bien configuré jupytext]

le rendu va être parfois un tout petit peu différent de la version web (HTML statique), mais c’est le même contenu (enfin, si vous êtes bien jour sur votre ordi, voyez comment bien suivre les éventuelles modifications ultérieures )

donc vous pouvez par exemple

  • ouvrir un des notebooks de démonstration (dans le dossier demo/notebooks)
    (on ne recommande pas forcément de commencer avec le présent notebook, car il utilise un kernel bash qui n’est pas standard…)

  • l’exécuter localement

  • et vous amuser à le modifier

je vous demande surtout de

  • ouvrir le notebook de checklist, qui résume les compétences attendues
  • et vérifier que vous avez bien tout installé
  • et si vous êtes en avance, attaquez-vous à l’exercice qui figure à la fin de la checklist