owned this note
owned this note
Published
Linked with GitHub
# Ecole SO SHS
ressources
[Atelier Git, Forges Logicielles](https://cahiers.umr-idees.fr/formations/ateliers-adn-forge/)
[Software Carpentries](https://software-carpentry.org/workshops/workshops-upcoming/)
enquêtes [le Hackmd des enquêtes](https://hackmd.io/uiSNKylFTJOc2GXnjrntbw)
TODO :
- [name=Hugues] fait le dépot sur le gt notebook
- [name=Hugues] Transformation Atelier pratique 1 en site web (et il faudra faire le AP 2)
- [name=Sébastien]
- Chic Choc :
- Python 100% (dév + publi) :heavy_check_mark:
- Lisp 100% mais à tester (dév publi)
- R 100% mais à publier en html :heavy_check_mark:
- Make à passer en html à publier
- Org-Mode 20% :arrow_double_up:
- Partie Install Jupyter + screenshoot (AM) :heavy_check_mark:
- Finir commentaire Schéma Quarto/Jupyter / simplifier ; prise recul critique ; contexte économique (PM)
- Contenu Atelier pratique Python (AM) :heavy_check_mark:
- Scripts déploiements de la solution à l'atelier du matin : super notebook R ( Python c'est fait) (AM) :heavy_check_mark:
- Image Python :heavy_check_mark:
- Démo Renv (PM) :heavy_check_mark:
- Démo Renv + cache
- Paragraphe sur la reproductibilité :heavy_check_mark:
- [name=Raphaëlle]
- explicitation (capture d'écran) pull request & merge sur slot 3 des sessions info dans un seul markdown
- plan détaillé du cours dans README & sélection/structure des slides quarto
- [name=Raphaëlle, Sébastien]
- Interet plurilingue !
- Déroulé de la partie plurilingue deb/R/Python/Org = 1 à 2 points saillant (15 min ?)
Réunion le 30
Trouver un fil directeur tout de suite :
- Ticket chic/choc pour montrer la diversité :
- debian (fait - transormer en html)
- lisp (fait)
- org-mode (a faire)
- R (fait)
- Python (a faire)
=> fonction computationelle et fonction thématique du Notebook en tant qu'outil
=> différence peut être entre l'objectif "DATA Science" et "l'objectif Logiciel" du LP
=> différence communauté de pratique au départ
=> ex de claerbout, figure sans montrer le code, pas du tout l'objectif initial du LP => les gens des notebook se réclame du LP mais en fait il n'en font pas vraiment.
**Premier Slot 9h - 10h30**
*magistral*
Pourquoi ces paradigmes & technologies apparaissent ? *perspective question écoinfo & interopérabilité/reproductibilité technique*
1/fichiers / lisibles & interopérables
- exemple docx / exemple txt (conversion docx en archives) (https://endof10.org/)
- langage de "balisage léger" ([html](https://htmlforpeople.com/), markdown, lowdown, [rst](https://en.wikipedia.org/wiki/ReStructuredText), [org](https://orgmode.org/fr/), [asciidoc](https://asciidoc.org/) ), tex (latex)
- AST - parser "pandoc" https://mystmd.org/sandbox, https://en.wikipedia.org/wiki/Abstract_syntax_tree
- collaboratif etherpad / hackmd - suivi & version / démo
ajout

+ partie code : exemple programming historian, mise en page
2/écriture partagée
- écriture en **gras** (ref https://ellanew.com/ptpl/161-2025-06-16-markdown-emacs-and-vim)
- apparence d'un `code` mais à jouer "à côté"
- spécificité / introduction notebook / "supprimer la dualité texte / code" voir https://elementr.gitpages.huma-num.fr/session_notebook/programmation_lettree/#/3/2
3/historique (de l'écriture informatique)
- Programmation Lettrée (voir slide LP)
- Notebook (voir slide https://elementr.gitpages.huma-num.fr/session_notebook/programmation_lettree/#/s-show voir Émergence de la recherche reproductible computationnelle)
- une réflexivité spécifique aux shs
4/question de la publication scientifique vs working paper
- un langage Turing complet vs langage de balisage (qui n'est pas nécessairement un langage de programmation)
- interprétations disciplinaires
- exemple notebook rzine (caractère polymorphe)
5/plurlingue - diversité de pratiques
- définition document computationnel ? multiplicité / complexité
- LP est une propriété qui n'est pas forcément incluse dans ces docs (exemple de la linéarité des "blocs de code" des notebooks alors que LP est la construction d'un récit)
- Exemples et des démo (générer du html statique)
- cultures scientifiques data science/DeepLearning vs explicitation de méthodes shs & R
6/Focus Jupyter et Quarto : processus/schéma/éosystème "compatible"
7/observation/réflexivité critique sur "nos pratiques"
- gt notebook (epistémo, écosophie, littératie, reproducibilité), inachevé d'imprimer
- journal of digital history (réf. médiéviste & ordinateur), bertin (géographie & code)
- actualité mooc rr
7bis/notebook / regards
**Deuxième Slot 11h - 12h30**
*document computationnel versionné : individuel, cadré avec expérimentation en live*
support site web quarto
- présentation de l'atelier
- choix de la technologie (script R, script Python)
- 2 déclinaisons Quarto (R), Jupyter (python)
- construction du notebook
- en-tête du document (.yml)
- bibliographie liée (csl)
- css
- blocs de code
- écriture / LP
- déploiement forge logicielle
**Objectif** : *Passage script à un notebook, à l'échelle individuelle, env hétérogène*
- Deux technos (quarto / jupyter), a priori les groupes ont déjà choisi en fonction de leur affinités : env rstudio Quarto Notebook
- Installation des packages
- Récupération de l'atelier pratique / TP et choix :
- Jupyter Lab / Book / Mystmd avec R/Python
- RStudio / Quarto avec R~~/Python~~
- Session info : discussions sur l'hétérogeneité des env.
- Déploiement CI pour les pages
- création coté forge du gitlab-ci.yaml
- a) fichier html
**Conclusion** : On a des environnements hétérogènes, comment fait on pour travailler collectivement avec tous le même environnement ?
**Troisième Slot 14h - 15h30**
pull request & merge version info des notebooks individuels
*document computationnel versionné : collectif en groupe*
Objectif : *Comment le rejouer sur n'importe quel machine ? = Fixer la recette*
- Théorie :
- collectif = reproductif, harmonisation des pratiques
- Reproductibilité : Pile logicielle = Bonne pratique
- v1 = CI, c'est déjà ordinateur de quelqu'un d'autre, fixer l'environnement distant
- v2 = Comment faire çà en local ? Renv/Pyenv
- Installation et Explication pour que çà marche :
- VirtualEnv et pip
- Rstudio et Renv
- Déploiement CI pour les pages (reproductibilité)
- b) build site à chaque commit -CI/CD-
*Question du collectif dans le slot ?*
- Bascule sur le mode groupe, on en choisit un et on
- Modif perso - Git pull commit push
- Fork et pull request - choisit un collegue, il propose un pull request sur son dépot
- dépôt sur un dépôt perso gitlab
:::info
- Installation et Explication pour que çà marche :
- VirtualEnv / Renv pour Rstudio
- ? jupyter
:::
Les gens manipulent les différentes technologies.
Quatrième Slot 16h - 18h
*atelier*
Normalement ils ont déjé créé un dépot git avec un script R ou Python, en local ou sur la forge, dans l'atelier précédent.
## Scratch SEB
The following package(s) will be installed:
- plyr [1.8.9]
These packages will be installed into "~/SOSHS/mon_super_notebook_R-main/renv/library/R-4.2/x86_64-w64-mingw32".
Do you want to proceed? [Y/n]:
# Installing packages --------------------------------------------------------
- Installing plyr ... OK [installed binary and cached in 0.34s]
Successfully installed 1 package in 0.41 seconds.
> renv::status()
The following package(s) are out of sync [lockfile != library]:
# CRAN -----------------------------------------------------------------------
- plyr [1.8.8 != 1.8.9]
See `?renv::status` for advice on resolving these issues.
> renv::snapshot()
The following package(s) will be updated in the lockfile:
# CRAN -----------------------------------------------------------------------
- plyr [1.8.8 -> 1.8.9]
Do you want to proceed? [Y/n]: Y
- Lockfile written to "~/SOSHS/mon_super_notebook_R-main/renv.lock".
> renv::restore()
It looks like you've called renv::restore() in a project that hasn't been activated yet.
How would you like to proceed?
1: Activate the project and use the project library.
2: Do not activate the project and use the current library paths.
3: Cancel and resolve the situation another way.
Sélection : 1
- Project '~/SOSHS/reproduce_mon_super_notebook_R' loaded. [renv 1.1.4]
- One or more packages recorded in the lockfile are not installed.
- Use `renv::status()` for more details.
> renv::restore()
The following package(s) will be updated:
# CRAN -----------------------------------------------------------------------
- askpass [* -> 1.1]
- base64enc [* -> 0.1-3]
- BH [* -> 1.81.0-1]
- brew [* -> 1.0-8]
...
- webshot [* -> 0.5.4]
- withr [* -> 2.5.0]
- wk [* -> 0.7.2]
- xfun [* -> 0.39]
- yaml [* -> 2.3.7]