Aller au contenu principal

Utiliser un notebook Python à distance

Soumis par Sylvain Bentz le

Tu souhaites lancer ton notebook Python sur une machine précise, et l'utiliser depuis n'importe quel poste de l'école ? Tu es au bon endroit :)

A la fin de ce tutoriel, vous saurez comment vous connecter et utiliser à distance un notebook Python. Pour cela, nous allons créer un tunnel entre le notebook et votre ordinateur.

Note: On appelle «distante» la machine précise sur laquelle tourne le notebook.

Procédure

1- On se choisit un bon_port à utiliser sur la machine distante, un chiffre entre 10 000 et 60 000, par exemple 35678.

2- On crée le tunnel, tout en se connectant sur la machine distante: (garder la console ouverte !). :

$ ssh -L 8888:localhost:bon_port tonlogin@distante

3- Maintenant qu'on est sur la machine distante, on lance le jupyter notebook, en précisant notre bon_port :

$ jupyter-notebook --no-browser --port bon_port

4- On ouvre son navigateur web préféré, et on tape dans la barre d'adresse : localhost:8888

Et voilà ! Tant que la console du tunnel est ouverte, ça devrait marcher :)

Exemple

Je souhaite lancer un notebook sur calade164.

$ ssh -L 8888:localhost:35678 sbentz@calade164.etu.ec-m.fr

$ jupyter-notebook --no-browser --port 35678

A noter

On peut changer 8888 par n'importe port, à l'instar de bon_port

ssh n'existe pas ! / Windows

Sur Windows, la commande ssh n'existe pas forcément. Dans ce cas, on peut utiliser putty et s'inspirer de ce tuto pour la configuration. Aller sur techniques-ingenieur depuis chez soi ? Utiliser le sas comme serveur proxy - VPN ?

Et si je veux le consulter depuis ma maison ?

Ça complexifie un peu le tunnel SSH : il faut indiquer au tunnel de passer par le sas de l'école pour atteindre la machine distante :

$ ssh -J sas1.ec-m.fr -L 8888:localhost:bon_port tonlogin@distante