Ecole SO SHS
ressources
Atelier Git, Forges Logicielles
Software Carpentries
enquêtes le Hackmd des enquêtes
TODO :
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
- partie code : exemple programming historian, mise en page
2/écriture partagée
3/historique (de l'écriture informatique)
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 ®, 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
- 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 –––––––––––––––––––––––––––––––––––-
See ?renv::status
for advice on resolving these issues.
renv::snapshot()
The following package(s) will be updated in the lockfile:
CRAN –––––––––––––––––––––––––––––––––––-
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]