---
title: "Qu'est-ce qu'un notebook Jupyter (et pourquoi c'est une excellente façon de débuter en programmation)"
slug: cuadernos-jupyter.fr
kind: essay
summary: "Un notebook Jupyter mêle explication et code exécutable dans un même document. Ce que c'est, comment ça marche, et pourquoi je pense que c'est l'une des meilleures portes d'entrée vers la programmation, surtout pour enseigner."
publishedAt: 2026-06-25
updatedAt: 2026-06-25
---
Il y a un outil que j'utilise presque tous les jours et qui, la première fois que
je le montre, provoque souvent la même réaction : « on pouvait faire comme ça ? ».
Ce sont les notebooks Jupyter. Ce n'est ni un langage de programmation ni un
logiciel compliqué : c'est une façon d'écrire du code et de l'expliquer dans le
même document. Et je pense que c'est l'une des meilleures portes d'entrée vers la
programmation qui existent aujourd'hui.

## Qu'est-ce qu'un notebook Jupyter

Un notebook Jupyter est un document qui réunit deux choses qui vivent habituellement
séparées : le texte qui explique et le code qui s'exécute. Dans un même fichier, on
peut écrire un paragraphe mis en forme —titres, listes, formules, liens— et, juste
en dessous, un bloc de code en **Python** qui s'exécute et affiche son résultat sur
place : un nombre, un tableau, un graphique.

Le nom vient des trois langages avec lesquels il est né —**Ju**lia, **Pyt**hon et
**R**—, même si, en pratique, l'immense majorité des notebooks sont en Python. C'est
un projet libre et open source, héritier d'IPython, et il s'ouvre dans le
navigateur : pas besoin d'installer un environnement compliqué pour commencer à
essayer.

L'essentiel n'est pas la technologie qu'il y a dessous, mais le format. Un notebook
se lit de haut en bas comme un article —sauf que c'est un article qu'on peut aussi
exécuter.

## Comment ça marche

Un notebook s'organise en **cellules**, et chaque cellule est de l'un de deux types :

- **Cellules de texte** (en Markdown) : où l'on écrit l'explication. C'est là que
  vont la théorie, les notes, les formules, la raison de ce qui suit.
- **Cellules de code** : où l'on écrit du Python. Quand on exécute la cellule, le
  résultat apparaît juste en dessous.

Derrière le notebook, il y a un **kernel** (ou noyau) : le processus qui exécute le
code et garde l'état en mémoire. Si l'on définit une variable dans une cellule, les
cellules suivantes la connaissent. Cela permet de construire un raisonnement par
étapes : on charge des données dans une cellule, on les transforme dans la suivante,
on les trace dans une troisième —et entre les deux, par du texte, on explique ce que
l'on fait et pourquoi.

Tout est enregistré dans un fichier portant l'extension `.ipynb` qui contient à la
fois le texte, le code et les résultats. Ce fichier peut être partagé, suivi dans un
gestionnaire de versions et réexécuté de zéro sur un autre ordinateur.

## Pourquoi je pense que c'est la meilleure façon de débuter en programmation

Quand on apprend à programmer, l'obstacle n'est presque jamais la syntaxe. C'est la
distance entre l'idée et le code : comprendre *ce que* l'on veut faire avant de se
battre avec *comment* l'écrire. Le notebook Jupyter raccourcit cette distance, et ce
pour trois raisons.

**D'abord : on peut documenter avant de programmer.** Avant d'écrire une seule ligne
de code, on peut rédiger en Markdown la théorie, la formulation du problème ou ses
propres notes. Le code cesse d'être un texte isolé et se retrouve entouré de son
explication. Pour qui apprend, cela transforme le notebook en un support d'étude
qui, en plus, fonctionne.

**Ensuite : le code est vivant.** Comme chaque cellule s'exécute séparément, on peut
changer une ligne, réexécuter et voir l'effet à l'instant, sans monter un programme
entier pour tester une idée. Cette boucle —écrire, exécuter, se tromper, corriger—
est exactement celle avec laquelle on apprend à programmer, et le notebook la rend
confortable. Créer un petit exemple pour comprendre un concept prend quelques
secondes.

**Et ce que je préfère : il sert à enseigner.** Un enseignant peut préparer un
notebook de base —avec la théorie expliquée et le code à moitié fait— et le remettre
à ses élèves. Chaque élève complète ce dont il a besoin : il remplit les cellules
vides, essaie des variantes, note ses questions dans une cellule de texte. Le
notebook devient un espace de travail partagé où l'explication et la pratique sont
au même endroit. J'enseigne l'informatique, et je ne connais pas de façon plus nette
de mettre tout un groupe à programmer dès le premier jour.

Dans mon propre travail —analyser des signaux audio, tester des modèles, observer
des spectres— le notebook est l'endroit où presque tout se passe avant que quoi que
ce soit ne devienne un programme formel. Mais ce n'est que mon prétexte pour les
utiliser. La raison pour laquelle je les recommande est plus simple : c'est la façon
la plus honnête que je connaisse d'apprendre en programmant, parce qu'elle oblige à
expliquer ce que l'on fait pendant qu'on le fait.

## Références

Les références sur lesquelles s'appuie cet article, et par où poursuivre la lecture :

- Pérez, F. et Granger, B. E. (2007). [« IPython: A System for Interactive Scientific Computing »](https://doi.org/10.1109/MCSE.2007.53). *Computing in Science & Engineering*, 9(3), 21–29.
- Kluyver, T. et al. (2016). [« Jupyter Notebooks — a publishing format for reproducible computational workflows »](https://doi.org/10.3233/978-1-61499-649-1-87). Dans *Positioning and Power in Academic Publishing*. IOS Press.
- Rule, A. et al. (2019). [« Ten simple rules for writing and sharing computational analyses in Jupyter Notebooks »](https://doi.org/10.1371/journal.pcbi.1007007). *PLOS Computational Biology*, 15(7).
- Project Jupyter — [jupyter.org](https://jupyter.org).
