Archives Wild Code School
Outils

 Jupyter Notebooks & Google Colaboratory

Quête 6 sur 6 · 6 images archivées

Pour te permettre de suivre au mieux cette formation intensive, tu auras besoin des bons outils. Google Colaboratory en fait partie. Dans cette quête, tu vas apprendre à t'en en servir. C'est parti !

Objectifs

✅ Comprendre l'utilité des Jupyter Notebook ✅ Apprendre à utiliser Google Colaboratory

Sommaire

Jupyter notebooks

Jupyter est une application qui interagit avec un navigateur web. Elle permet de créer des fichiers appelés "notebook" (extension ipynb), on parle ainsi de "Jupyter Notebook".

Dans ces notebooks, on peut créer des cellules qui peuvent contenir du texte (au format Markdown) ou du code dans de nombreux langages de programmation : Python, Ruby, Julia, R, Scala... Dans le cadre du métier de Data Analyst, tu t'en serviras essentiellement pour alterner du Python avec du texte mis en forme grâce au Markdown. C'est l'arme fatale du Data Analyst, qui permet de conserver un travail exploratoire, dans un ordre chronologique, de haut en bas.

Fonctionnement traditionnel

Pour exécuter du code Python sur une machine, un interpréteur est nécessaire. C'est un programme qui prend le script Python (étape 1), convertit les instructions en langage machine, le fait exécuter par le processeur, et retourne le résultat attendu (étape 2). En dehors d'un environnement interactif, toutes les étapes intermédiaires sont perdues lorsque le programme s'arrête.

 Fonctionnement d'un notebook

Le fonctionnement est similaire, mais découpé par "bloc" :

  • Bloc de texte Markdown : le texte sera mis en forme et affiché par le navigateur
  • Bloc de code Python : le code sera transmis à l'interpréteur et retournera le résultat, mais toutes les variables définies pendant le processus sont conservées en mémoire et peuvent être réutilisées ! L'intérêt est de pouvoir découper son script en plusieurs blocs, et de pouvoir refaire des étapes intermédiaires à volonté sans perdre ses résultats.

 Architecture technique

Pour faire fonctionner un notebook Jupyter, il faut donc :

  • un navigateur web qui affiche les blocs, le Markdown et les résultats intermédiaires
  • un interpréteur Python

Nous t'invitons à installer Anaconda sur ta machine, qui est une distribution open-source Python orientée pour la data et le travail scientifique. Cela t'éviteras des soucis d'installation de plusieurs logiciels. Ainsi, tu pourras utiliser Jupyter Notebook en "local", c'est-à-dire sur ta machine: personne n'y aura accès à part toi. Anaconda inclut directement un interpréteur Python, ainsi que le serveur Jupyter. Tout est déjà paramétré.

Info

En utilisant Jupyter Notebook, tu travailleras en local, en faisant fonctionner un Notebook dans ton navigateur, sans connexion Internet ! En effet, le "serveur" est alors Anaconda, qui est sur ton propre ordinateur. Le navigateur échange donc des informations avec le "serveur" Anaconda sur ton poste, pas besoin d'Internet.

↗
Anaconda downloads
anaconda.com

Les notebooks sont très pratiques. En effet, on peut créer autant de cellules que l'on veut. Ces dernières partagent le même environnement, ce qui signifie que si l'on a défini une fonction (ou une variable) dans une cellule (et qu'on a exécuté cette cellule), on peut l'utiliser dans toutes les autres. On peut également ajouter des commentaires explicatifs détaillés dans des cellules de texte (avec images ou vidéos).

La possibilité de créer des cellules de texte et d'autres de code fait du notebook un outil idéal pour travailler de manière itérative, ce dont le Data Analyst a besoin. Mais quel rôle joue Google Colaboratory dans tout cela ?

Google Colab

Google Colaboratory n'est rien d'autre que l'application Jupyter mise à la sauce Google, avec un aspect "Colab"oratif, et de jolies icônes. À l'origine il s'agissait d'un outil interne de Google. Il a l'avantage de ne nécessiter l'installation d'aucun logiciel (contrairement à Jupyter et Anaconda), puisqu'on peut y accéder directement via un navigateur web (depuis un ordinateur, une tablette ou un smartphone). De plus, il est connecté à notre adresse mail Gmail, ce qui signifie que les fichiers notebooks créés seront stockés sur le Google Drive.

Architecture technique C'est exactement identique, car il s'agit de la même technologie, 100% compatible. Seule la mise en forme et les icônes sont changées.

Info

Il est possible de télécharger un fichier notebook.ipynb depuis Google Drive vers son ordinateur pour l'exécuter en local sur Anaconda, et inversement.

Attention

Une connexion Internet est nécessaire utiliser pour Google Colab En effet, le "serveur" qui interprète Python est alors un serveur Google. Votre navigateur échange donc des informations avec le "serveur" Google.

Ressources

Dans cette quête, tu vas utiliser alternativement du Markdown pour la mise en page du texte, et du Python.

↗

Quiz

quiz
false|||true|||false
# Les Jupyter Notebook sont compatibles entre Google Colab et Anaconda
[x] Vrai
[] Faux
# Tu peux utiliser des Jupyter Notebook avec Anaconda sans connexion internet
[x] Vrai
[] Faux
# Tu peux utiliser des Jupyter Notebook avec Google Colab sans connexion internet
[] Vrai
[x] Faux
# Tous les blocs Python d'un notebook doivent être exécutés simultanément
[] Vrai
[x] Faux
# Les blocs Python peuvent être exécutés dans le désordre
[x] Vrai
[] Faux

Challenge

  • Crée un notebook vide sur Google colaboratory avec comme titre : "Notebook Prenom Nom"
  • Rend le notebook accessible en commentaire pour toute personne disposant du lien
  • Dans une cellule code, affiche la version de Python
  • Dans une cellule de code, calcule le résultat de 38 + 4

Une fois réalisé, poste le lien vers ton google colab en commentaire pour validation.

Critères de validation

  • Le notebook est accessible en commentaire pour toutes personnes disposant du lien
  • Chaque tâche est réalisée

Tu trouveras dans ce notebook une solution au challenge. Ce n'est pas la seule possible, mais elle fonctionne !

Ressources partagées sur cette quête