Ecole SO SHS

ressources
Atelier Git, Forges Logicielles
Software Carpentries

enquêtes le Hackmd des enquêtes

TODO :

  • Hugues fait le dépot sur le gt notebook

  • Hugues Transformation Atelier pratique 1 en site web (et il faudra faire le AP 2)

  • 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:
  • 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
  • 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

  • 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 -

  • 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]