L’un des usages des notebooks est d’ordre pédagogique. Cet usage est avant tout possible par la dimension narrative et structurée des notebooks offrant une démarche pédagogique pas à pas. En effet, l’exécution cellule par cellule permet de montrer le fonctionnement du code à des étudiant·e·s et construire une progression pédagogique.
Exemple de notebook pédagogique : alternance entre cellules de texte (Markdown) et cellules de code exécutables, permettant une progression narrative et l'apprentissage pas à pas.
Ainsi, le notebook se présente comme un tutoriel ou un modèle et est un outil de médiation, soit pour des étudiant·e·s, soit pour des collègues de recherche peu familiarisé·e·s avec la démarche.
Usages en recherche
Au-delà de l'usage pédagogique, les notebooks sont largement utilisés en recherche, au sein de différentes disciplines. Différents usages ont déjà été observés :
Décrire la méthodologie de recherche
Comme un carnet de laboratoire numérique, en détaillant les réflexions et présentant les étapes successives
Faciliter la discussion collaborative
Permettre les échanges autour du code et des résultats au sein d'une équipe de recherche
Documenter un projet
Créer une base de documentation technique (fonctions utilisées, packages installés, code employé) pour la pérennité du projet
Partager des traitements reproductibles
Diffuser via des plateformes collaboratives (Google Colab, GitLab, GitHub, Binder)
Enrichir une publication scientifique
Compléter un article en hébergeant les figures interactives et la méthodologie complète
Quelques exemples d'usages par discipline
Ces différents usages se déclinent de manière spécifique selon les disciplines et leurs besoins méthodologiques. Voici quelques exemples concrets :
Géographie
Constitution de cartes à partir de données géospatiales.
Histoire
Analyse de corpus textuels par text and data mining et OCRisation de sources anciennes. La revue Journal of Digital History publie des articles sous forme de notebooks détaillant méthodologie et réflexion.
Physique
Analyse et visualisation de gros volumes de données impossibles à traiter manuellement.
Traitement automatique des langues
Démonstration de modèles et algorithmes lors de conférences, soutenances de thèse ou ateliers de formation.