Présentation
Résumé des épisodes précédents
Si on scénarise un peu notre progression, nous pouvons prendre l’exemple de Paul.
Paul est un étudiant en L3 en Sociologie, sa machine et son OS sont relativement ancien, mais cela ne l’empeche pas de développer avec R des petits scripts pour traiter ces enquêtes. Il a besoin de gdal et de sf car il y a de l’analyse spatiale et de la cartographie. Après une formation à Git, il se lance dans l’aventure de l’Open Source et décide de partager la plupart de ces scripts sur la forge Humanum.
Tout aurait pu s’arrêter la, mais voilà. Quelqu’un trouve que ces scripts sont géniaux et décide d’inviter Paul dans une session R du FOSDEM2025.
Oui, il y a beaucoup de monde au FOSDEM.
Quelques jours plus tard, Eric envoi un mail à Paul pour lui dire qu’il a développé une nouvelle “features qui tue” qu’il voudrait verser dans le dépot de Paul. Ce dernier accepte, mais quand il récupère le contenu, il se rend compte qu’il ne peux pas l’executer car Eric à utiliser une nouvelle fonction qui n’existe pas dans sa version de Sf.
Paul veut bien faire un effort et mettre à jour sa version de R mais il ne peux pas changer de système d’exploitation car sa machine est bien trop ancienne. Cela limite aussi les version de R, de Gdal et donc de Sf qu’il peut installer car il s’agit de dépendance système, et les binaire n’existe pas forcément pour son Os.
Paul et Eric doivent trouver un compromis si ils veulent travailler ensemble. A partir de là il y a plusieurs futur possible, mais on va en choisir un pour eux.
Après quelques échanges de mails, ils s’avèrent qu’ils veulent vraiment travailler ensemble.
Le CI peux les aider à travailler ensemble car Paul peux déléguer la création de son package au Runner. Le Runner est véritablement l’ordi de quelqu’un d’autre qui peut utiliser une image Docker avec n’importe quel système et n’importe quel version de R.
Paul et Eric font le choix d’une image basé sur une version de R similaire à celle de Paul, et si Eric fait attention dans l’écriture de ces fonctions à ne pas utilise de fonctionnalités trop récente, tout devrait bien se passer.
Si le CI valide c’est que Paul, mais aussi Eric peuvent a priori travailler sereinement en local, n’est-ce pas magnifique ?
Objectif
L’utilisation des forges logicielles permet l’intégration et le déploiement d’un document computationnel en ligne. Mais cela permet également le travail collaboratif sur un notebook. Cet exercice initie au développement collectif d’un notebook.
Dans cet atelier, nous vous proposons de travailler collectivement sur un même document computationnel, un Quarto website :
Chaque participant·e va devoir apporter une modification à ce Quarto website existant, déjà compilé et déployé sur une forge GitLab :
Cet exercice va se dérouler en trois étapes :
- Clône d’un dépot Git contenant le code source de ce quarto website
- Modification d’une page de ce quarto website en local
- Puis
Push
des modifications sur le dépôt distant