À retenir
- Colab et Jupyter vous permettent tous les deux d’exécuter Python dans des cellules, de combiner du code et des notes et de voir les outputs pendant votre apprentissage.
- Colab est plus facile pour commencer, parce qu’il fonctionne dans le navigateur et vous donne accès à du compute hébergé sans configuration locale.
- Jupyter convient mieux lorsque vous voulez contrôler davantage votre environnement local, vos fichiers, vos packages et vos workflows reproductibles.
Parlons de deux outils devenus extrêmement populaires en science des données, en apprentissage automatique et dans toutes sortes d’aventures de programmation : les notebooks Jupyter et Google Colab. Ces deux environnements fantastiques vous permettent d’écrire du code, de voir immédiatement les outputs, d’ajouter des notes et des explications pour vous-même ou pour les autres et, essentiellement, de créer des expériences interactives qui peuvent aller bien plus loin qu’un fichier de script traditionnel.


Google Colab (à gauche) et les notebooks Jupyter (à droite).
Vous avez peut-être entendu parler des deux et pensé qu’ils étaient essentiellement identiques. Ou peut-être que vous n’avez jamais vraiment utilisé l’un ou l’autre et voulez savoir par lequel commencer. Peu importe votre situation, je vais aujourd’hui vous présenter simplement les notebooks Jupyter et Google Colab, les comparer et vous donner quelques conseils pour choisir l’un ou l’autre.
Commençons par les notebooks Jupyter.
Les notebooks Jupyter sont pratiquement incontournables dans l’écosystème Python. Au lieu d’écrire toutes vos commandes Python dans un gros fichier portant un nom comme myscript.py, vous divisez votre code en cellules plus petites et indépendantes. Chaque cellule peut être exécutée seule, sans affecter le reste du code ni vous obliger à tout relancer. C’est extrêmement pratique, parce que vous pouvez tester un extrait de code, voir ce qu’il fait et, si le résultat vous plaît, continuer. S’il ne fonctionne pas, vous pouvez le modifier sans devoir recommencer tout votre programme. Votre processus de programmation devient ainsi beaucoup plus interactif et exploratoire.
Les notebooks Jupyter vous permettent aussi d’insérer des cellules spéciales qui contiennent du texte écrit en Markdown. Markdown est simplement une façon facile de mettre du texte en forme. Vous pouvez créer des titres, mettre du texte en italique ou en gras, ajouter des listes à puces à vos notes ou même intégrer des images et des équations en LaTeX. Cette fonctionnalité est vraiment géniale si vous aimez garder votre code et vos explications ensemble. Elle est particulièrement utile lorsque vous voulez partager vos résultats avec des coéquipiers ou des étudiants, ou simplement conserver une trace de votre propre réflexion avec du code exécutable en direct. Vous pouvez aussi créer des cellules brutes, qui contiennent essentiellement des données ou du contenu qui ne doivent pas être exécutés ou rendus d’une façon particulière, comme des images ou des vidéos.
Un autre terme que vous entendrez souvent dans l’univers Jupyter est le kernel. Ce kernel est essentiellement le moteur de calcul qui exécute votre code. Lorsque vous appuyez sur le bouton d’exécution d’une cellule, le kernel prend votre code, l’exécute et affiche le résultat directement dans le notebook. Si le kernel plante, vous perdez toutes vos variables et devez peut-être redémarrer ou réimporter vos librairies. Cela signifie qu’il faut relancer votre code depuis le début, comme avec de simples fichiers Python. De même, si vous voulez repartir de zéro, vous pouvez redémarrer le kernel pour effacer toutes les variables et tous les états. Vous évitez ainsi ces situations étranges où la mémoire de votre notebook se trouve dans un état inconnu.
Ce que j’aime beaucoup des notebooks Jupyter, c’est le feedback immédiat sur tout le code que vous écrivez, qu’il produise un tableau, un graphique ou un message d’erreur. Si vous cherchez quelle transformation appliquer à des données ou quelle partie d’un dataset contient des valeurs aberrantes, vous pouvez simplement essayer quelque chose, exécuter la cellule et observer le résultat sans tout relancer. Il n’est pas surprenant que tant de scientifiques des données et de chercheurs préfèrent les notebooks Jupyter pour le nettoyage de données, leur visualisation, les expériences d’apprentissage automatique et l’enseignement. Je les préférais aussi aux fichiers Python pendant ma maîtrise.
Comme les notebooks Jupyter sont très courants, vous pouvez les installer de plusieurs façons. L’une des plus simples est d’utiliser pip, le gestionnaire de packages Python. Il suffit d’écrire pip install notebook dans votre terminal. Idéalement, faites-le dans un environnement pour garder votre configuration Python organisée. Sinon, vous pourriez vraiment vous compliquer la vie.
Il existe deux façons courantes de créer un environnement :
La première utilise venv, qui est intégré à Python. Vous créez un environnement virtuel en exécutant python -m venv my_env, puis vous l’activez avec source my_env/bin/activate sur Mac/Linux ou my_env\\Scripts\\activate sur Windows. Une fois l’environnement activé, installez Jupyter à l’intérieur avec pip install notebook.
La deuxième utilise Anaconda, qui est populaire en science des données. Si Anaconda est installé, vous pouvez créer un environnement avec conda create --name my_env, l’activer avec conda activate my_env, puis installer Jupyter avec conda install jupyter.
Les deux méthodes gardent vos projets organisés et préviennent les conflits entre les librairies. Si vous débutez, Anaconda est souvent recommandé parce qu’il comprend plusieurs outils utiles préinstallés et possède une interface facile à utiliser. venv est toutefois une excellente option légère si vous aimez ouvrir votre terminal. Vous pouvez aussi demander à ChatGPT de vous donner toutes les étapes précises pour configurer facilement le tout! ;)
Une fois l’installation terminée, vous pouvez ouvrir un terminal ou une invite de commandes, écrire jupyter notebook et le notebook s’ouvrira dans votre navigateur. Vous verrez ce qui ressemble à un gestionnaire de fichiers qui vous permet de naviguer vers le dossier de votre choix et d’y créer un nouveau notebook. Celui-ci s’ouvrira dans un nouvel onglet et voilà, vous pouvez commencer à programmer. Si plusieurs versions de Python sont installées, assurez-vous simplement que votre kernel utilise la bonne.
Lorsque Jupyter fonctionne, les fichiers que vous voyez ou pouvez modifier sont ceux de votre ordinateur. Vous pouvez stocker vos notebooks où vous le souhaitez sur votre machine locale. L’avantage du travail local est votre contrôle total : vous pouvez installer n’importe quelle version d’une librairie. Vous pouvez aussi travailler hors ligne, ce qui est utile dans un avion ou à un endroit où la connexion Internet est peu fiable. L’inconvénient est que vous êtes limité par le matériel de votre ordinateur. Si vous avez un vieux portable, il risque d’être lent. C’est là que Google Colab devient une option pratique.
Google Colab est essentiellement Jupyter dans le cloud, et vous pouvez l’utiliser gratuitement. Au lieu d’installer quoi que ce soit sur votre ordinateur, vous évitez Anaconda et toute l’étape de démarrage. Vous ouvrez simplement votre navigateur, accédez au site de Colab et créez un nouveau notebook ou ouvrez celui de quelqu’un d’autre en cliquant sur un seul lien. Tous vos notebooks se trouvent dans Google Drive, auquel Colab peut se connecter directement. C’est très pratique si vous utilisez déjà Google Drive pour stocker de l’information. Colab offre les mêmes fonctionnalités que Jupyter, soit les cellules, le code, Markdown et le rendu du texte, avec même une apparence semblable. La grande différence est que votre code s’exécute sur une machine virtuelle dans les centres de données de Google. Au lieu d’utiliser votre CPU ou GPU local, vous utilisez le matériel du système distant.
Si vous voulez une démonstration simple de l’utilisation de Colab, ouvrez votre navigateur, accédez au site de Colab et vous verrez un gros bouton qui dit quelque chose comme New Notebook. En cliquant dessus, vous obtenez un nouveau notebook vide. Vous pouvez écrire quelque chose comme print(“Hello, I am Colab Notebook”) dans la cellule, puis appuyer sur Shift+Enter pour l’exécuter. L’output apparaît sous la cellule. Vous pouvez ajouter d’autres cellules, renommer le notebook, etc. Si vous voulez aller plus loin et vérifier si vous avez accès à un GPU, ouvrez le menu Runtime et choisissez GPU comme type de runtime. Écrivez ensuite quelque chose comme !nvidia-smi dans une cellule pour afficher l’information sur le GPU du système utilisé. Et oui, vous avez gratuitement accès à un GPU, même si cet accès est limité comparativement à celui des utilisateurs payants.
La facilité avec laquelle on partage un notebook constitue un autre avantage de Colab. Le processus ressemble essentiellement au partage d’un Google Doc. Vous pouvez permettre aux gens de consulter, de commenter ou de modifier le notebook. Colab sauvegarde aussi automatiquement vos changements. Vous pouvez littéralement fermer votre navigateur ou voir votre ordinateur planter, et votre notebook restera sauvegardé dans Drive.
Colab a évidemment aussi ses limites. Comme il fonctionne dans le cloud, vous avez besoin d’une bonne connexion Internet. Si votre connexion coupe et que vous perdez votre session, vous risquez de perdre une partie de votre travail, sauf si vous l’avez soigneusement sauvegardé ou que votre environnement était figé. Des limites s’appliquent aussi à la durée d’exécution d’un notebook et à la quantité de mémoire utilisable. Si vous voulez des performances ou des ressources plus constantes, un abonnement payant appelé Colab Pro donne accès à plus de temps GPU et à d’autres avantages. Autre point à considérer : vous ne pouvez pas simplement accéder aux fichiers locaux de votre ordinateur sans les téléverser manuellement ou les connecter par un service externe. La méthode la plus simple consiste à monter Google Drive dans votre notebook, ce qui ne demande que quelques lignes de Python. Vous pouvez ensuite lire ou écrire des fichiers comme s’ils se trouvaient dans un dossier local.
Vous vous demandez peut-être quel environnement vous convient, Jupyter ou Colab. La réponse honnête dépend de ce que vous faites. Si vous aimez tout contrôler, voulez configurer votre environnement exactement comme vous le souhaitez, devez travailler hors ligne et possédez un bon ordinateur avec une carte graphique, les notebooks Jupyter représentent peut-être la solution idéale. Si vous ne voulez rien installer, souhaitez tester quelque chose immédiatement, avez besoin de plus de puissance de calcul que votre portable peut en fournir ou voulez collaborer facilement, Colab est peut-être préférable. J’utilise généralement les deux selon mes besoins. Vous pouvez aussi développer localement, puis téléverser votre travail dans Colab si vous avez soudainement besoin de plus de ressources ou voulez le partager avec un ami. C’est très flexible.
Prenons l’exemple d’un scientifique des données qui explore un nouveau dataset. Vous pourriez lancer un notebook Jupyter localement, charger les données, puis commencer à les nettoyer et à les visualiser. Vous créerez quelques cellules pour lire les données, ajouterez peut-être une explication en Markdown pour suivre votre logique, puis quelques cellules de code pour produire des graphiques exploratoires. Une fois les données mieux comprises, vous pourriez mener quelques expériences d’apprentissage automatique. Si elles ne sont pas trop lourdes, tout ira bien sur votre CPU local. Mais si vous voulez essayer un grand réseau neuronal ou un algorithme qui profite beaucoup de l’accélération GPU, vous pourriez vous dire : « D’accord, téléversons ce notebook dans Colab, activons le mode GPU et voyons quel gain de performance nous obtenons. » Vous pouvez stocker votre dataset sur Google Drive, puis le connecter. Une fois cela fait, vous pouvez exécuter le même code dans le cloud, généralement sans beaucoup de modifications. Il pourrait s’exécuter en une fraction du temps, ou au moins ne pas monopoliser votre propre machine.
L’enseignement et le partage de tutoriels constituent un autre scénario. Lorsque j’ai enseigné Python ou la science des données, Colab était incroyable. Les étudiants ont seulement besoin d’un compte Google. Ils cliquent sur un lien, copient le notebook, puis peuvent suivre le cours, exécuter le code et tester des choses en direct. Plus besoin de se débattre avec des instructions comme « D’accord, installez Conda, ouvrez l’invite de commandes, installez cette librairie, configurez votre environnement avec conda », puis de corriger une tonne de bogues liés aux environnements locaux. D’un autre côté, si l’installation de Python ne pose aucun problème dans votre contexte d’enseignement, si vos étudiants l’ont déjà, si votre tâche exige peu de calcul, OU si vous avez un ordinateur puissant, Jupyter reste une approche classique. Vous leur donnez un fichier de notebook Jupyter, ils l’ouvrent dans leur Jupyter local et peuvent programmer. Dans les deux cas, ils profitent de la magie d’un notebook interactif, ce qui est parfait pour apprendre.
Bien sûr, tout n’est pas toujours parfait. Colab peut être frustrant. Votre session sera parfois réinitialisée après une certaine période d’inactivité, ou vous pourriez perdre des données qui n’ont pas été correctement sauvegardées. Vous devez toujours surveiller le temps restant dans une session GPU et vos limites d’utilisation. Au bout du compte, même si les notebooks sont fantastiques pour explorer, tester des idées et enseigner, ils ne sont pas la seule façon d’écrire du Python. Si vous construisez une application complète, déployez des modèles d’apprentissage automatique en production, automatisez des tâches ou travaillez sur de grands projets logiciels, les scripts Python traditionnels, soit les fichiers .py, sont souvent préférables. Ils s’intègrent plus facilement aux pipelines de production, peuvent être empaquetés dans des applications et structurent mieux les projets complexes. Cela dit, les notebooks auront toujours leur place, que ce soit pour prototyper, déboguer ou essayer rapidement de nouveaux concepts avant de les transformer en une base de code plus permanente.
J’espère que cette introduction aux notebooks vous a été utile et que vous comprenez maintenant mieux leur raison d’être. Merci d’avoir lu, et bon code!
P.-S. Cet article a été créé pour notre cours complet de Python. Maîtrisez à partir de zéro la compétence la plus recherchée pour construire des solutions propulsées par l’IA : https://academy.towardsai.net/courses/python-for-genai?ref=1f9b29
FAQ
Les débutants devraient-ils commencer avec Colab ou Jupyter?
Colab est généralement plus facile pour les débutants, parce qu’il fonctionne dans le navigateur et évite la plupart des problèmes de configuration.
Quand Jupyter est-il le meilleur choix?
Jupyter convient mieux lorsque vous voulez un contrôle local, des environnements personnalisés ou un workflow qui correspond à votre machine et aux fichiers de votre projet.
Quelles erreurs les débutants devraient-ils éviter avec les notebooks?
Évitez de traiter les notebooks comme de la magie. Exécutez les cellules avec soin, suivez les dépendances et assurez-vous de comprendre l’ordre dont dépend votre code.
Pourquoi Colab est-il pratique pour un premier notebook d’IA?
Il fonctionne dans un navigateur avec des librairies courantes de science des données déjà installées sur une machine virtuelle hébergée par Google.
Qu’arrive-t-il aux fichiers dans un runtime Colab?
La machine virtuelle temporaire peut être réinitialisée. Les fichiers et outputs importants doivent donc être sauvegardés dans un stockage persistant.
Quand faut-il transformer un notebook en script Python?
Passez aux fichiers .py lorsque le projet exige des modules réutilisables, des pipelines de production, des tests ou une structure qui dépasse l’exploration et le prototypage.

