---
title: Webinaire 2 GT Notebook
date: 2023-04-19
---
# Webinaire 2 GT Notebook
###### tags: `gt notebook`,`webinaire`
## Disciplines et mots-clefs
disciplines : toutes
mots-clefs :
- calcul interactif
- calcul automatisé
- notebook
- Smalltalk

:::info
- Présent.e.s :
- Sébastien Rey-Coyrehourcq
- Raphaelle Krummeich
- Konrad Hinsen
- Nicolas Sauret
- Emilien Schultz
- Laurent Jégou
- Emilie Lerigoleur
- Benjamin Cuer
- Hugues Pecout
- Armelle Couillet
- Robin Cura
- Manon Marchand
- David BOURGOGNE
- Erwan Jacomino
- Mattia Bunel
- Nicolas Rougier
- Excusé.e.s :
- Nicolas Roelandt
- Lien site web : https://gt-notebook.gitpages.huma-num.fr/site_quarto/
- Issue & ODJ : https://gitlab.huma-num.fr/gt-notebook/webinaires/-/issues
- Lien visio BBB : https://webconf.univ-rouen.fr/greenlight/rey-px2-ewg-7av
- Lien chat public : https://rocket.esup-portail.org/channel/GT-Notebook
- Lien mailling-list : https://groupes.renater.fr/sympa/info/notebooks-inter-reseaux
- Lien support présentation et notebooks de démonstration: https://gitlab.huma-num.fr/gt-notebook/webinaires/
:::
## Ordre du Jour
- Accueil (5 minutes)
- Interactivité du notebook (20-30 minutes / Konrad Hinsen)
- Info sur le Zotero du GT, appel à participation
- Info sur la JupyterCon
- Discussions avec le public et les intervenants (10-15 minutes)
- Intro prochaine date Webinaire 3
## Interactivité du notebook
**L'interactivité**, d'après Larousse, est la "Qualité d'un logiciel dont l'exécution prend constamment en compte les informations fournies par l'utilisateur." Elle est l'opposé de **l'automatisation**, qui est l'"Exécution totale ou partielle de tâches techniques par des machines fonctionnant sans intervention humaine."
L'histoire des ordinateurs commence par l'automatisation dans les années 1940. L'interactivité est explorée a partir des années 1960, puis de façon plus intense avec l'apparition des premiers ordinateurs personnels (une personne, un ordinateur) dans les laboratoires de recherche, autour de 1980. Les systèmes de cette époque étaient parfois plus avancés que ce que nous utilisons aujourd'hui. Quelques démos:
- [APL](https://www.youtube.com/watch?v=a9xAKttWgP4), dans une version moderne, mais tout sauf la dernière partie (graphisme en pixels) fonctionnait pareil en 1970
- [Medley Interlisp](https://www.youtube.com/watch?v=HYWFTiai_tA), récemment [ressuscité]( ressuscité)
- La [démo de Smalltalk](https://www.youtube.com/watch?v=uknEhXyZgsg) qui a inspiré Steve Jobs pour l'Apple Lisa et par la suite le Macintosh
L'année dernière, Jack Rusher a fait une belle revue des systèmes de programmation interactive lors d'une [présentation à la conférence "Strange Loop"](https://jackrusher.com/strange-loop-2022/).
Aujourd'hui, les systèmes APL (par exemple [Dyalog](https://www.dyalog.com/)) et Smalltalk (principalement [Pharo](http://www.pharo.org/), [Squeak](https://squeak.org/), et [Cuis](https://cuis.st/)) survivent mais sont peu connus. Lisp existe encore comme langage, mais sans les environnements interactifs de ses meilleures années. Avec l'arrivée des PCs, personnels mais aussi abordables même si initialement peu performant, ces systèmes gourmands en mémoire et CPU ont été abandonnés.
Ce sont les systèmes conçus pour l'automatisation qui dominent les ordinateurs personnels (smartphones compris): DOS, puis Unix. Avec une surcouche graphique pour faire tourner des *applications*, logiciels à fonctionnalité fixe, non programmable.
Les notebooks sont apparus avec l'objectif d'introduire plus d'interactivité dans cet univers de l'automatisation. Leurs créateurs connaissaient les systèmes Lisp des années 1980, source principale d'inspiration.
Mais... pourrait-on venir aux notebooks de l'autre côté ? En rajoutant l'aspect du texte melé avec le code à un système conçu pour l'interactivité ? Oui, on peut. Je ferai une démonstration d'un tel système, appelé [Glamorous Toolkit](https://gtoolkit.com/), qui part d'un Smalltalk moderne (Pharo) et remplace complètement l'interface graphique, en introduisant de nouveaux outils de programmation, dont un notebook façon Wiki avec des possibilités intéressantes. La frontière entre texte et code disparaît complètement, tout comme la distinction entre code et outils interactifs imbriqués (les "widgets" de Jupyter par exemple). J'exploîte cette souplesse en intégrant une "notation scientifique numérique" (dont vous pouvez aussi voir une [démo enregistrée](https://diode.zone/w/1RUVjM5xj54gZjHXobSNUe)) avec ces outils de travail interactif.
D'ailleurs, les créateurs de Glamorous Toolkit proposent une série de tutoriels [sur YouTube](https://www.youtube.com/@gtoolkit/playlists), dont je conseille en particulier la collection "[GT en 7'](https://www.youtube.com/watch?v=-vFwfwy5WZA&list=PLfrs5bwLJOoAaHvQGSLeKpHWmFuZXPUTJ)" pour une première impression.
Je conclurai par quelques remarques sur la reproductibilité, qui est fondée sur la notion d'automatisation. Peut-on travailler de façon reproductible en mode interactif ? La réponse n'est ni facile ni simple.
### Prise de notes!
https://gtoolkit.com/
Peut servir pour un environnement python installé en interne. Possible pour JS et Guix aussi.
Notebooks sont en json, mais lisible uniquement par le même soft.
Produit par une société suisse: https://feenk.com/
#### Définitions


Interactivité : qualité d'un logiciel dont l'exécution prend constamment en compte les informations fournies par l'utilisateur
Automatisation: Exécution totale ou aprtielle des tâches techniques par des machines fonctionnant sans intervention humaine

#### Histoire
Perspective années 40
Distinction code / données d'entrées -> résultat
- logiciel virtuel ?

Perspectives Années 60:
- boucle infinie: commande → résultat
- L'ordinateur accumule des changements d'état.
- dissolution de la frontière entre données et code

Les hybrides
interfaces interactives aux processus
#### Interactivité à 2 niveaux
1. exécution de cellules de code
2. utilisation d'outils interactifs générés par ce code
#### Demo

Pharo / Smalltalk
Système interactif de A a Z, et l'on peut redéfinir à la volée les objets.
Inspection des résultats
Notebook n'est pas un objet/un document, cela fait partie d'un système.
Chaque page peut faire référence à une autre page, consultable avec un système de recherche intégré. Tout le système est documenté en Notebook/Page.
Widget/Vue sur les objets ici c'est la façon normale de travailler, tout est dans le même langage, uniforme.
#### Conclusion

Reproductibilité, mot clef c'est l'automatisation. Un grand calcul unique parfaitement automatisé, à fond. En même temps ce n'est pas comme cela que l'on aime travailler en mode créatif/interactif. Les deux sont tellement contradictoires, c'est pourquoi je m'intéresse à l'interactif et à la recherche d'un compromis.
Environement logiciels non controlé, cela dépend de beaucoup de choses et on oublie facilement. On ne peux pas faire acilement.
Là je vous ai montré un système interactif ou l'on peut tout modifié, y compris la notion de fraction. Catastrophe finalement ? Pas vraiment en fait dans mon expérience. On est toujours dans l'environnement, on ne peux pas le négliger, et on gère au quotidien les problèmes liés à la reproductibilité.
Physique fondamentale il n'y a pas de problème de reproductibilité, le sujet est maitrisé.
## INFO [Zotero du gt notebook](https://www.zotero.org/groups/4416056/gt-notebooks/library)
### Viz (voyant-tool) des `keywords` de la bibliothèque gt_notebook
#### nuage (122 références)

#### liens


### Collections (6 à ce jour)
- notebooks (45 références)
- litterate programming (8 références)
- pratiques (29 références)
- reproductibilite (16 références)
- semantic (2 références)
- knowledge (6 références)
### Pluri-trans- et inter-disciplinarité
- revues de littérature, notebooks & autres communications de membres du gt
- travail sur les catégories des collections
- bibliothèque de groupe & réseau de bibliothèques/groupes
- lien avec la base de connaissances
- méta-données etc.
:::info
**Rdvz d'échanges du sous-groupe Zotero lundi 24 avril à 9h30 (visio)**
Manon Marchand, Raphaëlle Krummeich, ...
:::
## INFO : JupyterCon
https://www.jupytercon.com/
Cette année, la JupyterCon est à Paris, du 10 au 12 Mai à la cité des sciences. C'est un community event - rencontre en personne des acteurs de l'éco-système Jupyter. Parmis les interventions, il y a des développeurs de la communauté Jupyter, des développeurs de modules, mais aussi des utilisateurs dans différents domaines (industrie, éducation, sciences). Il y a des tutoriaux aussi, dont une introduction. Il y a des coûts d'entrée assez fort (public aussi privé).
Le programme est ici : https://cfp.jupytercon.com/2023/schedule/
Elle est suivie de deux jours de Hackathon du 13 au 14 Mai qui eux sont gratuits.
## Prochain webinaire \#3 11/05/2023
Nous aurons le plaisir d'accueillir deux équipes sur des projets en lien avec l'édition, le déploiement et la reproductibilité des Notebook :
- L'équipe de [Computo](https://computo.sfds.asso.fr/) avec la présence de Ghislain Durif IGR Biostatistique à l'ENS Lyon
Computo est un journal en statistique et machine-learning de type Open Access Diamant très fortement orienté sur la reproductibilité. Les soumissions sont acceptés au format Notebook avec la mise à disposition d'un template Quarto. A l'instar d'autres plateformes (RZine, ReScience, etc.) le Peer-Reviewing intègre une revue de code ouverte au public, avec un workflow de soumission adapté utilisant [Scholastica]( https://computo.scholasticahq.com/).
- L'équipe de la plateforme [Onyxia](https://onyxia.lab.sspcloud.fr/) avec Frédéric Comte, Lino Galiana, Romain Avouac et Romain Lesur.
La plateforme open source [Onyxia/SPCloud](https://github.com/InseeFrLab/onyxia-web) développé à l'INSEE en collaboration avec la DINUM propose tout un ensemble de services autour des Notebooks (R/Python) pour les "data scientist". Cette plateforme s'appuie sur un ensemble de technologies (Kubernetes, Docker, GPU, etc.) pour assurer un passage à l'échelle sans perte de services à une communauté croissantes d'utilisateurs/trices venant de différents horizons.
Nous aurons probablement des échanges passionants sur la question de la reproductibilité à la suite de ces deux présentations :)