diff --git a/01_initiation/10_manipuler_commit.qmd b/01_initiation/10_manipuler_commit.qmd index 72a09779c6556aae63c28cf968d7445327a9feef..0ff6e63830cf9956fdba835a3fbd922e8a14ce8f 100644 --- a/01_initiation/10_manipuler_commit.qmd +++ b/01_initiation/10_manipuler_commit.qmd @@ -7,7 +7,7 @@ Dans cette section : - Annuler des modifications non commitées - en ligne de commande (@sec-annuler-modif-ligneComm) - avec RStudio (@sec-annuler-modif-RStudio) - - avec VS Code (@sec-annuler-modif-VS Code) + - avec VS Code (@sec-annuler-modif-VSCode) - Grouper un commit avec un commit précédent (@sec-grouper-commit) ## Annuler des modifications non commitées {#sec-annuler-modif-ligneComm} @@ -72,7 +72,7 @@ Attention, c'est tout ce qui a été modifié dans le fichier depuis le dernier {width=70%} -## Annuler des modifications non commitées {#sec-annuler-modif-VS Code} +## Annuler des modifications non commitées {#sec-annuler-modif-VSCode} ### VS Code {.absolute top=-10 right=0 width="8%"} @@ -95,7 +95,7 @@ On peut aller dans l'interface de commit pour voir les modifications : Si l'on souhaite supprimer **toutes** les modifications non commitées, on peut cliquer sur la flèche "discard changes" pour le fichier concerné : - + --- @@ -103,10 +103,10 @@ Si l'on souhaite supprimer **toutes** les modifications non commitées, on peut Attention, c'est tout ce qui a été modifié dans le fichier depuis le dernier commit qui sera supprimé : - + ## Grouper un commit avec un commit précédent {#sec-grouper-commit} -### Ligne de commande (uniquement) +### Ligne de commande {.absolute top=-10 right=0 width="10%"} @@ -118,6 +118,18 @@ git commit -m "groupement de commit" --amend Constatez qu'il n'y a pas de nouveau commit dans la liste dans l'historique. +--- + +### RStudio + + + +--- + +### VS Code + +Utiliser le menu déroulant du bouton *Commit*. + ## Pratique ::: callout-tip @@ -127,4 +139,4 @@ Constatez qu'il n'y a pas de nouveau commit dans la liste dans l'historique. 2) Constater (status) qu'il est proposé à l'enregistrement lors du prochain commit 3) Utiliser Git pour revenir à la version précédente du fichier 4) Constater que le fichier n'est plus proposé pour le prochain commit -::: \ No newline at end of file +::: diff --git a/01_initiation/12_plus_loin.qmd b/01_initiation/12_plus_loin.qmd index 0f8d549550f66ead30f09768aa3087432cf2e044..de6d75f720ec947b11621fca3342120d214f300c 100644 --- a/01_initiation/12_plus_loin.qmd +++ b/01_initiation/12_plus_loin.qmd @@ -13,7 +13,7 @@ Utilisation du package `saperlipopette`, 12 exercices pour prendre confiance ave ## De la lecture - [Git in practice](https://github.com/MikeMcQuaid/GitInPractice#git-in-practice){target="_blank"} de Mike McQuaid -- [Oh shit Git](https://ohshitgit.com/){target="_blank"} de Katie Sylor-miller +- [Oh shit Git](https://ohshitgit.com/fr/){target="_blank"} de Katie Sylor-miller ## Cheat sheet @@ -22,5 +22,3 @@ Utilisation du package `saperlipopette`, 12 exercices pour prendre confiance ave - [Par Julia Evans](https://wizardzines.com/git-cheat-sheet.pdf){target="_blank"} - [En français](https://raw.githubusercontent.com/pastjean/git-cheat-sheet/refs/heads/master/git-cheat-sheet-fr.svg){target="_blank"} - [Interactive et multilingue](https://ndpsoftware.com/git-cheatsheet.html#loc=index;){target="_blank"} - - diff --git a/01_initiation/3_a_quoi_sert_git.qmd b/01_initiation/3_a_quoi_sert_git.qmd index 033c4b7f95edd4c5972a1dedba0417316545037e..c6c387935289fb25c6822ef54befd9dcbe5304da 100644 --- a/01_initiation/3_a_quoi_sert_git.qmd +++ b/01_initiation/3_a_quoi_sert_git.qmd @@ -15,7 +15,6 @@ * Traçabilité des modifications * Retour à une version antérieure, reproductibilité -* Synchronisation entre plusieurs postes, accessibilité * Copie de travail locale (pour un travail hors ligne) -* Travail sur des questions en parallèle - +* Synchronisation entre plusieurs postes, accessibilité (session 2) +* Travail sur des questions en parallèle (session 3) diff --git a/01_initiation/6_pratiques_en_local.qmd b/01_initiation/6_pratiques_en_local.qmd index b2948b6f0d9c40b546c6949197fd32995098b9ce..937f04e27aa6c3c95865f3a312c751fde0e249d1 100644 --- a/01_initiation/6_pratiques_en_local.qmd +++ b/01_initiation/6_pratiques_en_local.qmd @@ -14,7 +14,7 @@ Un logo est présent sur chaque diapo pour rappeler de quel mode il s'agit. ## Installation de Git - Windows : [https://git-scm.com/download/win](https://git-scm.com/download/win){target="_blank"} -- Linux (basé sur Debian ou Ubuntu) : `sudo apt-get install git` +- Linux (basé sur Debian ou Ubuntu) : `sudo apt-get install git` - Mac : [https://git-scm.com/download/mac](https://git-scm.com/download/mac){target="_blank"} ## Installation des interfaces @@ -25,7 +25,7 @@ Un logo est présent sur chaque diapo pour rappeler de quel mode il s'agit. - Installation automatique de l'interface graphique Git-Gui ([fiche aide](https://git-scm.com/book/fr/v2/Annexe-A%3A-Git-dans-d%E2%80%99autres-environnements-Interfaces-graphiques){target="_blank"}) - Possibilité d'installer d'autres interfaces graphiques [GUI Clients](https://git-scm.com/downloads/guis){target="_blank"} (attention à la maintenance des outils) -- Interface client (intégrée à l'explorateur de fichiers) : [tortoisegit](https://tortoisegit.org/){target="_blank"} +- Interface client (intégrée à l'explorateur de fichiers) : [tortoisegit](https://tortoisegit.org/){target="_blank"} ::: callout-important Nous ne parlerons pas de l'interface graphique Git-Gui directement installée au moment du téléchargement de Git. @@ -34,7 +34,7 @@ Nous ne parlerons pas de l'interface graphique Git-Gui directement installée au #### RStudio {.absolute top=-10 right=0 width="10%"} -D'abord installer R : +D'abord installer R : - Windows, Linux et Mac : [https://cran.rstudio.com/bin/](https://cran.rstudio.com/bin/){target="_blank"} @@ -162,11 +162,11 @@ Lors de la création d'un projet : ::: columns ::: {.column width="33%"} - + ::: ::: {.column width="33%"} - + ::: ::: {.column width="33%"} @@ -232,7 +232,7 @@ Ne pas essayer d'éditer les fichiers du dossier `.git`. 1) Créer un dossier "mon_projet" 2) En choisissant votre éditeur préféré ou simplement la ligne de commande, initialiser Git sur ce dossier -3) Parcourir l'arborescence et constater qu'un dossier ".Git" a été créé +3) Parcourir l'arborescence et constater qu'un dossier `.git` a été créé ::: ## Consultation état du dépôt @@ -251,8 +251,8 @@ git status On obtient la liste : -- des nouveaux fichiers (**U**ntracked) -- des fichiers modifiés (**M**odified) +- des nouveaux fichiers +- des fichiers modifiés ::: ::: {.column width="50%"} @@ -305,15 +305,17 @@ On voit donc que: ::: {.panel-tabset} #### Définition -Le fichier `.gitignore` permet de préciser quels fichiers doivent être ignorés par Git. +Le fichier `.gitignore` permet de préciser quels fichiers et dossiers doivent être ignorés par Git. -Ainsi tous les fichiers répondant aux modèles déclarés dans ce fichier seront ignorés par Git. +Pour cela, on utilise des modèles (ou patterns) et des noms de fichiers et dossiers explicites : -Généralement, on y trouve des modèles (ou patterns), et des noms de fichiers explicites: - -- *.txt -- *.back -- ce_fichier_a_ignorer.data +``` +*.txt +*.back +ce_fichier_a_ignorer.data +/logs/ +temp/ +``` #### Créer un fichier `.gitignore` @@ -325,12 +327,13 @@ touch .gitignore - Avec VS Code il faut créer un fichier `.gitignore` à la racine de votre projet. -- Sur RStudio, le `.gitignore` est automatiquement créer au moment de l'initialisation de Git dans le projet. Par défaut il contient les fichiers suivants : +- Sur RStudio, le `.gitignore` est automatiquement créé au moment de l'initialisation de Git dans le projet. + Par défaut il contient les fichiers suivants : -``` bash +``` .Rproj.user .Rhistory .RData .Ruserdata ``` -::: \ No newline at end of file +::: diff --git a/01_initiation/7_ajout_fichiers_et_modifs_depot.qmd b/01_initiation/7_ajout_fichiers_et_modifs_depot.qmd index 3ae77ca4ef0a6a5edb59667e1046c8189ebc1e5f..049150428ca0a134747ddceb6f92e87c613fb92e 100644 --- a/01_initiation/7_ajout_fichiers_et_modifs_depot.qmd +++ b/01_initiation/7_ajout_fichiers_et_modifs_depot.qmd @@ -11,7 +11,7 @@ Chaque "commit" dispose d'un identifiant unique, géré par Git, et de métadonn ## État des fichiers dans Git -Les fichiers des dossiers peut être dans trois états : +Les fichiers des dossiers peuvent être dans quatre états : - **Untracked** : nouveau fichier - **Modified** : vous avez fait des changements, et il diffère depuis la version stockée dans le dossier `.git` @@ -71,7 +71,7 @@ Pour créer un commit contenant le fichier `.gitignore` : 2. Écrire un message de commit 3. Cliquer sur le bouton "Commit" - + ## Commiter avec VS Code 1/2 @@ -128,11 +128,10 @@ On peut ensuite relancer le commit. ::: ::: callout-tip -## Ignorer les fichiers avec l'extension .Rproj +## Ignorer les fichiers avec l'extension `.data` 1) Créer un fichier `.gitignore`. -2) Modifier le fichier pour qu'il ne prenne pas en compte les fichiers avec l'extension `.Rproj`. +2) Modifier le fichier pour qu'il ne prenne pas en compte les fichiers avec l'extension `.data`. 3) Ajoutez le au dépôt avec un commit et profitez-en pour visualiser l'état du fichier avec `git status` ou via l'interface de votre IDE. -4) Créer un fichier test.Rproj avec un contenu quelconque et constater qu'il n'est pas proposé au suivi +4) Créer un fichier `test.data` avec un contenu quelconque et constater qu'il n'est pas proposé au suivi ::: - diff --git a/01_initiation/images/05_rstudio_amend.png b/01_initiation/images/05_rstudio_amend.png new file mode 100644 index 0000000000000000000000000000000000000000..7b8a12d24c5c3d2271865c6f78b7ea7daae8c14c Binary files /dev/null and b/01_initiation/images/05_rstudio_amend.png differ diff --git a/retour_experiences.md b/retour_experiences.md index c933afe02595a0f0cb4c3857a5613e3e6ceec341..985965acf90c75ead43c5d8aabdb65c4338091ab 100644 --- a/retour_experiences.md +++ b/retour_experiences.md @@ -1,8 +1,8 @@ # Retours d'expérience suite formations -| Date | Qui | Combien | Mode | Durée |Session | -|:-: |:-: |:-: |:-: |:-: |:-: | -| 5 Juin 2023 | Olivier AgroClim | 10 | RStudio| 1h15 | 1 +| Date | Qui | Combien | Mode | Durée | Session | +| :---------: | :--------------: | :-----: | :-----: | :---: | :-----: | +| 5 Juin 2023 | Olivier AgroClim | 10 | RStudio | 1h15 | 1 | - il faut que les ordinateurs aient Git installé au début, sinon on perd du temps - il y a redondance entre À quoi sert Git ? / Bénéfices / Cas d'utilisation @@ -11,35 +11,35 @@ - les étiquettes, c'est un usage avancé, utile que pour certains cas - utiliser la touche S pour avoir l'affichage Note du présentateur. -| Date | Qui | Combien | Mode | Durée |Session | -|:-: |:-: |:-: |:-: |:-: |:-: | -| 5 Juin 2023 | Philippe URFM | 7 | 5 Rstudio, 2 Vscode |1h05 | 1| +| Date | Qui | Combien | Mode | Durée | Session | +| :---------: | :-----------: | :-----: | :-----------------: | :---: | :-----: | +| 5 Juin 2023 | Philippe URFM | 7 | 5 Rstudio, 2 Vscode | 1h05 | 1 | -- Nécessité d'avoir les outils déployés ou présence de l'IP +- Nécessité d'avoir les outils déployés ou présence de l'IP - Il y a redondance entre "À quoi sert Git ? / Bénéfices / Cas d'utilisation": pour moi, ça permet d'insister sur ces concepts forts - « Les états du système de fichiers » pourrait être placé à la fin de la session 2 -- 1h, c'est Ok avec le contenu. +- 1h, c'est Ok avec le contenu. - les étiquettes: Je suis également passé rapidement là -dessus. Mais j'ai insisté sur l'avantage qu'on pouvait en tirer. Ils ont trouvé par eux-mêmes où apparaissaient les étiquettes dans leur interface Rstudio ! Au bilan, déçu de ne pas avoir eu plus de monde, mais c'était pour se faire la main, donc ce sera encore mieux la fois prochaine. J'ai reproposé une session la semaine suivante, une seule personne est venue. Elle connaissait déjà git ! -| Date | Qui | Combien | Mode | Durée |Session | -|:-: |:-: |:-: |:-: |:-: |:-: | -| 19 Juin 2023 | Philippe URFM | 4 | gitlab |1h30 | 2| +| Date | Qui | Combien | Mode | Durée | Session | +| :----------: | :-----------: | :-----: | :----: | :---: | :-----: | +| 19 Juin 2023 | Philippe URFM | 4 | gitlab | 1h30 | 2 | -- Une personne présente qui n'avait pas suivi la session 1: on a rapidement créé un projet sur son poste. Pas trop perturbant +- Une personne présente qui n'avait pas suivi la session 1: on a rapidement créé un projet sur son poste. Pas trop perturbant - quelques points à ajouter dans certaines diapos (anecdotique) - La majorité des git init lancé sur les postes à créé une branche master. Rajouter la commande de renommage (master --> main) et être vigilant lors du git init pour éviter ce piège, qui amène les utilisateurs devant un message difficile à comprendre quand on n'a pas d'expérience. -- On a eu tout juste le temps. Ne pas prévoir moins d'1h30 pour cette session +- On a eu tout juste le temps. Ne pas prévoir moins d'1h30 pour cette session - les commandes initiales pour faire le premier push ne sont pas assez explicite pour certains. En particulier le cd existing_project. Une personne l'a tapée telle quelle ! - la création de la clef prend du temps ... Au bilan, encore une fois, déçu de ne pas avoir eu plus de monde. -| Date | Qui | Combien | Mode | Durée |Session | -|:-: |:-: |:-: |:-: |:-: |:-: | -| 23 Octobre 2023 | Philippe URFM | 2 | Branches |1h30 | 2| +| Date | Qui | Combien | Mode | Durée | Session | +| :-------------: | :-----------: | :-----: | :------: | :---: | :-----: | +| 23 Octobre 2023 | Philippe URFM | 2 | Branches | 1h30 | 2 | - Très peu de monde ... - Vu presque toute la présentation, sans pratique @@ -49,9 +49,9 @@ Au bilan, encore une fois, déçu de ne pas avoir eu plus de monde. - D64: quand on lit le message de conflit, on ne voit apparaitre qu'un seul nom de branche (patch-1). Est-ce que c'est parce que c'est avec main ? Que signifie HEAD dans ce contexte. Une des personnes présentes à fait un test après le TP, et le message de conflit ne donne le nom d'aucune des branches mergées. Option ? - Quand on merge depuis l'IHM de gitlab et qu'un conflit apparait, comment doit-on gérer pour le résoudre puisque le dépôt local ne sait pas qu'on a cherché à faire un merge et donc l'éditeur ne peut pas le montrer ? Un fetch peut-être ? -| Date | Qui | Combien | Mode | Durée |Session | -|:-: |:-: |:-: |:-: |:-: |:-: | -| 2 octobre 2023 | Olivier AgroClim | 8 | GitLab + RStudio + VS Code + ligne de commande | 2h | 3 | +| Date | Qui | Combien | Mode | Durée | Session | +| :------------: | :--------------: | :-----: | :--------------------------------------------: | :---: | :-----: | +| 2 octobre 2023 | Olivier AgroClim | 8 | GitLab + RStudio + VS Code + ligne de commande | 2h | 3 | - Créer la bifurcation du projet avant et le configurer (méthode de fusion, Squasher les commits lors de la fusion, manque un cadrage précis sur ce point). - Nous nous sommes retrouvés à ne pas avoir le bouton _Créer une demande de fusion_ depuis les tickets. Cela a été l'occasion de montrer une autre voie, mais a brouillé un peu le discours sur le coup. @@ -62,9 +62,9 @@ Au bilan, encore une fois, déçu de ne pas avoir eu plus de monde. - un TP uniquement sur Rebase et fusion - les pipelines : ce que c'est, quelles sont les possibilités, quelques exemples -| Date | Qui | Combien | Mode | Durée |Session | -|:-: |:-: |:-: |:-: |:-: |:-: | -| 06 décembre 2023 | Philippe URFM | 3 | Tous | 1h45 | 1| +| Date | Qui | Combien | Mode | Durée | Session | +| :--------------: | :-----------: | :-----: | :--: | :---: | :-----: | +| 06 décembre 2023 | Philippe URFM | 3 | Tous | 1h45 | 1 | - 3 scientifiques présents. - il a fallu installer le client Git sur 2 postes mais peu chronophage au final @@ -72,11 +72,9 @@ Au bilan, encore une fois, déçu de ne pas avoir eu plus de monde. - Correction d'une typo dans les lignes de commandes (ligne 80 de 04_ligne de commande_complet.md) - une durée allongée, permet une discussion à la fin, pour se projeter sur la suite. - - -| Date | Qui | Combien | Mode | Durée |Session | -|:-: |:-: |:-: |:-: |:-: |:-: | -| 14 décembre 2023 | Philippe URFM | 4 | Web + LC| 2h15 | 2| +| Date | Qui | Combien | Mode | Durée | Session | +| :--------------: | :-----------: | :-----: | :------: | :---: | :-----: | +| 14 décembre 2023 | Philippe URFM | 4 | Web + LC | 2h15 | 2 | - 4 scientifiques présents. - Quelques questions posées (cf [issue 28](https://forgemia.inra.fr/git-gitlab-paca/support-de-formation/-/issues/28) ) @@ -84,37 +82,36 @@ Au bilan, encore une fois, déçu de ne pas avoir eu plus de monde. - Problème pour l'affichage de la clef publique (typo corrigée directement dans le main) - trop bavard, on n'a pas eu le temps de bien tester les issues ... - -| Date | Qui | Combien | Mode | Durée |Session | -|:-: |:-: |:-: |:-: |:-: |:-: | -| 21 décembre 2023 | Philippe URFM | 3 | Web + LC| 2h15 | 3| +| Date | Qui | Combien | Mode | Durée | Session | +| :--------------: | :-----------: | :-----: | :------: | :---: | :-----: | +| 21 décembre 2023 | Philippe URFM | 3 | Web + LC | 2h15 | 3 | - 3 scientifiques présents - parcours rapide des diapos et tests avec le repo exercise_session3 forké dans collection URFM - diapos non parcourues: gestion des branches en local - pas eu le temps d'aller jusqu'au test du rebasage -| Date | Qui | Combien | Mode | Durée |Session | -|:-: |:-: |:-: |:-: |:-: |:-: | -| 25 avril 2024 | Olivier AgroClim & Philippe URFM | 12 | RStudio | 1h45 | 1 | +| Date | Qui | Combien | Mode | Durée | Session | +| :-----------: | :------------------------------: | :-----: | :-----: | :---: | :-----: | +| 25 avril 2024 | Olivier AgroClim & Philippe URFM | 12 | RStudio | 1h45 | 1 | - stagiaires, CDD, doctorants, post-doc, scientifiques : 3 AgroClim, 8 URFM, 1 UEFM - RStudio et Git installés avant la formation - RStudio fraîchement installé a dysfonctionné sur 2 portables : la création de projet bloque en choisissant Git ou RStudio n'affiche pas l'onglet Git -- La mention de *HEAD* (`02_01_etats_session1_git.md`) m'a semblé inutile à ce moment de la présentation -- L'option *Sign* dans la fenêtre de Commit de RStudio (une nouvelle option par rapport à la capture d'écran) a soulevé des questions auprès d'une étudiante. +- La mention de _HEAD_ (`02_01_etats_session1_git.md`) m'a semblé inutile à ce moment de la présentation +- L'option _Sign_ dans la fenêtre de Commit de RStudio (une nouvelle option par rapport à la capture d'écran) a soulevé des questions auprès d'une étudiante. -| Date | Qui | Combien | Mode | Durée |Session | -|:-: |:-: |:-: |:-: |:-: |:-: | -| 23 mai 2024 | Olivier AgroClim & Philippe URFM | 9 | Web + RStudio | 2h20 | 2 | +| Date | Qui | Combien | Mode | Durée | Session | +| :---------: | :------------------------------: | :-----: | :-----------: | :---: | :-----: | +| 23 mai 2024 | Olivier AgroClim & Philippe URFM | 9 | Web + RStudio | 2h20 | 2 | - stagiaires, CDD, doctorants, post-doc, scientifiques : 4 AgroClim, 5 URFM - 1 utilisateur de Linux -- création de la clef SSH par *Git GUI* +- création de la clef SSH par _Git GUI_ - problématiques techniques - `git push` d'un dépôt sans commit - `git push` après `git remote add origin ` - - clef SSH créée par *Git GUI* mais localisée à un endroit non recherché par RStudio. *Git GUI* n'a pas généré de problème pour les autres. + - clef SSH créée par _Git GUI_ mais localisée à un endroit non recherché par RStudio. _Git GUI_ n'a pas généré de problème pour les autres. - `git push` avec un dossier contenant des fichiers volumineux (500 Mo) - mauvais choix dans l'adresse du repo distant (https://... au lieu de git@forgemia...). blocage du push - coquilles relevées @@ -123,9 +120,9 @@ Au bilan, encore une fois, déçu de ne pas avoir eu plus de monde. - on ne peut assigner qu'une seule personne - recommandation : présenter d'un trait tout un thème et faire pratiquer (ne pas faire de démo). J'ai (Olivier) fait la démo à la place des captures d'écran et c'est trop long. Faire pratiquer permet de retenir l'attention. -| Date | Qui | Combien | Mode | Durée |Session | -|:-: |:-: |:-: |:-: |:-: |:-: | -| 10 juin 2024 | Olivier AgroClim & Philippe URFM | 5 | Web + RStudio | 2h10 | 3 | +| Date | Qui | Combien | Mode | Durée | Session | +| :----------: | :------------------------------: | :-----: | :-----------: | :---: | :-----: | +| 10 juin 2024 | Olivier AgroClim & Philippe URFM | 5 | Web + RStudio | 2h10 | 3 | - stagiaires, CDD, doctorants, post-doc, scientifiques : 3 AgroClim, 3 URFM - 1 utilisateur de Mac @@ -141,6 +138,16 @@ Au bilan, encore une fois, déçu de ne pas avoir eu plus de monde. - Chaque élève n'a pu se confronter à toutes les situations : changer le scénario : 1. Ticket tâche simple : créer une demande de fusion et sa branche, corriger une ligne en local, pousser. 2. Le formateur traite son propre ticket et fusionne. - 3. Ticket tâche simple + rebase : créer une demande de fusion et sa branche, (le formateur fait un commit sur *main* sans conflit), corriger une ligne en local, pousser, observer, fetch, rebase, pull + 3. Ticket tâche simple + rebase : créer une demande de fusion et sa branche, (le formateur fait un commit sur _main_ sans conflit), corriger une ligne en local, pousser, observer, fetch, rebase, pull 4. Ticket conflit - Écrire un dérouler pour le formateur avec les points d'arrêt vers le support. + +| Date | Qui | Combien | Mode | Durée | Session | +| :--------------: | :------------------------------: | :-----: | :-------------------: | :---: | :-----: | +| 13 novembre 2024 | Philippe URFM & Olivier AgroClim | 8 | CLI, RStudio, VS Code | 2h00 | 1 | + +- session organisée avec la FTLV du centre +- stagiaires, CDD, doctorants, post-doc, ingénieurs, scientifiques : 1 Abeilles, 1 AgroClim, 1 PSH, 2 EMMAH, 5 URFM +- 1 utilisatrice de Mac +- Git installé avant la session +- quelques typos relevées (voir [!29](https://forgemia.inra.fr/git-gitlab-paca/support-de-formation/-/merge_requests/29))