
Une interface de type notebook , ou notebook informatique, est un environnement de programmation virtuelle utilisé pour la programmation littéraire , une méthode d'écriture de programmes informatiques . Certains notebooks sont des environnements WYSIWYG intégrant des calculs exécutables dans des documents formatés ; d'autres séparent les calculs et le texte en sections distinctes. Les notebooks partagent certains objectifs et fonctionnalités avec les tableurs et les traitements de texte , mais leurs capacités dépassent leurs modèles de données limités.
Les notebooks modulaires peuvent se connecter à divers systèmes de calcul, appelés « noyaux ». Les interfaces de notebooks sont largement utilisées en statistique , en science des données , en apprentissage automatique et en calcul formel .
Le concept de notebook repose sur l'idée d'outils de programmation littéraire qui « permettent d'organiser les parties d'un programme dans n'importe quel ordre et d'extraire la documentation et le code à partir du même fichier source » . Le notebook pousse cette approche plus loin, en l'enrichissant de fonctionnalités graphiques et en mettant l'accent sur l'interactivité . Selon Stephen Wolfram : « l'idée d'un notebook est de disposer d'un document interactif qui mélange librement code, résultats, graphiques, texte et tout autre élément » Et selon la documentation du projet Jupyter : « le notebook étend l'approche en ligne de commande de l'informatique interactive dans une direction qualitativement nouvelle, en fournissant une application web adaptée à la capture de l'ensemble du processus de calcul : développement, documentation et exécution du code, ainsi que communication des résultats »
VisiCalc , le premier tableur pour ordinateurs personnels , a été publié en 1979. Son concept de calculs visuels est encore largement utilisé aujourd'hui, mais limité aux documents qui tiennent dans un tableau .Les recherches sur les systèmes mathématiques WYSIWYG prenant en charge le texte mixte et les calculs avec une métaphore de document commencent à être publiées en 1987 : Milo de Ron Avitzur , INFOR de William Schelter , Tioga de Xerox PARC et CaminoReal .
Le premier système commercial utilisant la métaphore du document fut MathCAD , sorti également en 1987. Wolfram Mathematica 1.0 suivit en 1988. Puis vinrent Maple 5.2 (1992) et Macsyma 2.0 (1995).
Au cours des deux décennies suivantes, l'interface notebook a gagné en popularité et des notebooks pour divers systèmes d'exécution (« kernels ») ont été introduits, notamment MATLAB , Python , Julia , R , Scala , Elixir , SQL et d'autres.
La variété des interfaces de notebooks s'est depuis étendue et de nouvelles formes continuent d'évoluer.
Utiliser
Les carnets de laboratoire électroniques sont traditionnellement utilisés en sciences pour documenter les procédures de recherche, les données, les calculs et les résultats. Ils permettent de suivre la méthodologie afin de faciliter la reproduction des résultats et des calculs avec différents ensembles de données. Dans le domaine de l' éducation , l'interface du carnet de laboratoire offre un environnement d'apprentissage numérique, particulièrement adapté à l'enseignement de la pensée informatique . Leur capacité à combiner texte et code les rend uniques dans le domaine de l'éducation. Les carnets numériques sont parfois utilisés pour les présentations comme alternative à PowerPoint et autres logiciels de présentation, car ils permettent l'exécution de code au sein même du carnet. Grâce à leur capacité à visualiser les données et à les extraire de différentes sources par modification du code, les carnets de laboratoire s'intègrent également au domaine des logiciels de veille stratégique .
Exemples notables
Exemple de projets ou de produits de cahiers :
Carnets portables libres/open source
- Apache Spark Notebook – Licence Apache 2.0
- GNU TeXmacs (un traitement de texte qui peut également servir d'interface de bloc-notes) – GPLv3
- IPython – BSD
- Jupyter Notebook (anciennement IPython ) – Licence BSD modifiée (modèle de droit d'auteur partagé)
- JupyterLab – Licence BSD révisée
- Org-mode sur Emacs (avec l'extension Babel intégrée) – GPL
- R Markdown – GPLv3
- SageMath – Licence GPLv3
copie partielle
- Anaconda
- SMath Studio – Logiciel gratuit, mais non libre : sous licence Creative Commons Attribution-Pas de modifications
Carnets propriétaires
- CoCalc
- Google Colab
- Wolfram Mathematica
- Cahiers Kaggle
- Mathcad
- MATLAB – Éditeur en direct depuis 2016.
- Cloud Databricks (fondé en 2013).
- Carnets WolframAlpha