From 0e8f097e19e8d90a95ce6db16792a233563dff63 Mon Sep 17 00:00:00 2001
From: Olivier Maury <Olivier.Maury@inrae.fr>
Date: Mon, 22 Apr 2024 18:52:31 +0200
Subject: [PATCH 01/21] Ajout des fichiers de la session 4

---
 04_avance_bonnes_pratiques/00_00_introduction.md          | 6 ++++++
 04_avance_bonnes_pratiques/01_00_gitlab.md                | 0
 04_avance_bonnes_pratiques/01_01_gflm.md                  | 0
 04_avance_bonnes_pratiques/01_02_release.md               | 0
 04_avance_bonnes_pratiques/01_03_issue_template.md        | 0
 04_avance_bonnes_pratiques/01_04_groupe.md                | 0
 04_avance_bonnes_pratiques/01_05_planification.md         | 0
 04_avance_bonnes_pratiques/01_06_topic.md                 | 0
 04_avance_bonnes_pratiques/01_07_pipeline.md              | 0
 04_avance_bonnes_pratiques/01_08_runner.md                | 0
 04_avance_bonnes_pratiques/01_10_mattermost.md            | 0
 04_avance_bonnes_pratiques/02_00_git.md                   | 0
 04_avance_bonnes_pratiques/02_01_hook.md                  | 0
 04_avance_bonnes_pratiques/02_02_alias.md                 | 0
 04_avance_bonnes_pratiques/02_03_cherry-pick.md           | 0
 04_avance_bonnes_pratiques/02_04_rebase-i.md              | 0
 04_avance_bonnes_pratiques/02_05_bissect.md               | 0
 04_avance_bonnes_pratiques/03_00_bonnes_pratiques.md      | 0
 04_avance_bonnes_pratiques/03_01_pourquoi.md              | 0
 04_avance_bonnes_pratiques/03_02_processus.md             | 0
 04_avance_bonnes_pratiques/03_03_structuration.md         | 0
 04_avance_bonnes_pratiques/03_04_test.md                  | 0
 04_avance_bonnes_pratiques/03_05_environnement_virtuel.md | 0
 04_avance_bonnes_pratiques/03_06_dependances.md           | 0
 04_avance_bonnes_pratiques/03_07_documentation.md         | 0
 04_avance_bonnes_pratiques/04_00_ouverture.md             | 0
 04_avance_bonnes_pratiques/04_01_publication.md           | 0
 04_avance_bonnes_pratiques/04_02_choix_licence_gitlab.md  | 0
 04_avance_bonnes_pratiques/04_03_software_heritage.md     | 0
 04_avance_bonnes_pratiques/04_04_oscar.md                 | 0
 public/index.html                                         | 7 ++++---
 31 files changed, 10 insertions(+), 3 deletions(-)
 create mode 100644 04_avance_bonnes_pratiques/00_00_introduction.md
 create mode 100644 04_avance_bonnes_pratiques/01_00_gitlab.md
 create mode 100644 04_avance_bonnes_pratiques/01_01_gflm.md
 create mode 100644 04_avance_bonnes_pratiques/01_02_release.md
 create mode 100644 04_avance_bonnes_pratiques/01_03_issue_template.md
 create mode 100644 04_avance_bonnes_pratiques/01_04_groupe.md
 create mode 100644 04_avance_bonnes_pratiques/01_05_planification.md
 create mode 100644 04_avance_bonnes_pratiques/01_06_topic.md
 create mode 100644 04_avance_bonnes_pratiques/01_07_pipeline.md
 create mode 100644 04_avance_bonnes_pratiques/01_08_runner.md
 create mode 100644 04_avance_bonnes_pratiques/01_10_mattermost.md
 create mode 100644 04_avance_bonnes_pratiques/02_00_git.md
 create mode 100644 04_avance_bonnes_pratiques/02_01_hook.md
 create mode 100644 04_avance_bonnes_pratiques/02_02_alias.md
 create mode 100644 04_avance_bonnes_pratiques/02_03_cherry-pick.md
 create mode 100644 04_avance_bonnes_pratiques/02_04_rebase-i.md
 create mode 100644 04_avance_bonnes_pratiques/02_05_bissect.md
 create mode 100644 04_avance_bonnes_pratiques/03_00_bonnes_pratiques.md
 create mode 100644 04_avance_bonnes_pratiques/03_01_pourquoi.md
 create mode 100644 04_avance_bonnes_pratiques/03_02_processus.md
 create mode 100644 04_avance_bonnes_pratiques/03_03_structuration.md
 create mode 100644 04_avance_bonnes_pratiques/03_04_test.md
 create mode 100644 04_avance_bonnes_pratiques/03_05_environnement_virtuel.md
 create mode 100644 04_avance_bonnes_pratiques/03_06_dependances.md
 create mode 100644 04_avance_bonnes_pratiques/03_07_documentation.md
 create mode 100644 04_avance_bonnes_pratiques/04_00_ouverture.md
 create mode 100644 04_avance_bonnes_pratiques/04_01_publication.md
 create mode 100644 04_avance_bonnes_pratiques/04_02_choix_licence_gitlab.md
 create mode 100644 04_avance_bonnes_pratiques/04_03_software_heritage.md
 create mode 100644 04_avance_bonnes_pratiques/04_04_oscar.md

diff --git a/04_avance_bonnes_pratiques/00_00_introduction.md b/04_avance_bonnes_pratiques/00_00_introduction.md
new file mode 100644
index 0000000..dfc8409
--- /dev/null
+++ b/04_avance_bonnes_pratiques/00_00_introduction.md
@@ -0,0 +1,6 @@
+# Session 4 : Git et GitLab avancés
+### et bonnes pratiques
+
+* Fonctionnalités avancées
+* Bonnes pratiques de développement
+* Ouverture du code
diff --git a/04_avance_bonnes_pratiques/01_00_gitlab.md b/04_avance_bonnes_pratiques/01_00_gitlab.md
new file mode 100644
index 0000000..e69de29
diff --git a/04_avance_bonnes_pratiques/01_01_gflm.md b/04_avance_bonnes_pratiques/01_01_gflm.md
new file mode 100644
index 0000000..e69de29
diff --git a/04_avance_bonnes_pratiques/01_02_release.md b/04_avance_bonnes_pratiques/01_02_release.md
new file mode 100644
index 0000000..e69de29
diff --git a/04_avance_bonnes_pratiques/01_03_issue_template.md b/04_avance_bonnes_pratiques/01_03_issue_template.md
new file mode 100644
index 0000000..e69de29
diff --git a/04_avance_bonnes_pratiques/01_04_groupe.md b/04_avance_bonnes_pratiques/01_04_groupe.md
new file mode 100644
index 0000000..e69de29
diff --git a/04_avance_bonnes_pratiques/01_05_planification.md b/04_avance_bonnes_pratiques/01_05_planification.md
new file mode 100644
index 0000000..e69de29
diff --git a/04_avance_bonnes_pratiques/01_06_topic.md b/04_avance_bonnes_pratiques/01_06_topic.md
new file mode 100644
index 0000000..e69de29
diff --git a/04_avance_bonnes_pratiques/01_07_pipeline.md b/04_avance_bonnes_pratiques/01_07_pipeline.md
new file mode 100644
index 0000000..e69de29
diff --git a/04_avance_bonnes_pratiques/01_08_runner.md b/04_avance_bonnes_pratiques/01_08_runner.md
new file mode 100644
index 0000000..e69de29
diff --git a/04_avance_bonnes_pratiques/01_10_mattermost.md b/04_avance_bonnes_pratiques/01_10_mattermost.md
new file mode 100644
index 0000000..e69de29
diff --git a/04_avance_bonnes_pratiques/02_00_git.md b/04_avance_bonnes_pratiques/02_00_git.md
new file mode 100644
index 0000000..e69de29
diff --git a/04_avance_bonnes_pratiques/02_01_hook.md b/04_avance_bonnes_pratiques/02_01_hook.md
new file mode 100644
index 0000000..e69de29
diff --git a/04_avance_bonnes_pratiques/02_02_alias.md b/04_avance_bonnes_pratiques/02_02_alias.md
new file mode 100644
index 0000000..e69de29
diff --git a/04_avance_bonnes_pratiques/02_03_cherry-pick.md b/04_avance_bonnes_pratiques/02_03_cherry-pick.md
new file mode 100644
index 0000000..e69de29
diff --git a/04_avance_bonnes_pratiques/02_04_rebase-i.md b/04_avance_bonnes_pratiques/02_04_rebase-i.md
new file mode 100644
index 0000000..e69de29
diff --git a/04_avance_bonnes_pratiques/02_05_bissect.md b/04_avance_bonnes_pratiques/02_05_bissect.md
new file mode 100644
index 0000000..e69de29
diff --git a/04_avance_bonnes_pratiques/03_00_bonnes_pratiques.md b/04_avance_bonnes_pratiques/03_00_bonnes_pratiques.md
new file mode 100644
index 0000000..e69de29
diff --git a/04_avance_bonnes_pratiques/03_01_pourquoi.md b/04_avance_bonnes_pratiques/03_01_pourquoi.md
new file mode 100644
index 0000000..e69de29
diff --git a/04_avance_bonnes_pratiques/03_02_processus.md b/04_avance_bonnes_pratiques/03_02_processus.md
new file mode 100644
index 0000000..e69de29
diff --git a/04_avance_bonnes_pratiques/03_03_structuration.md b/04_avance_bonnes_pratiques/03_03_structuration.md
new file mode 100644
index 0000000..e69de29
diff --git a/04_avance_bonnes_pratiques/03_04_test.md b/04_avance_bonnes_pratiques/03_04_test.md
new file mode 100644
index 0000000..e69de29
diff --git a/04_avance_bonnes_pratiques/03_05_environnement_virtuel.md b/04_avance_bonnes_pratiques/03_05_environnement_virtuel.md
new file mode 100644
index 0000000..e69de29
diff --git a/04_avance_bonnes_pratiques/03_06_dependances.md b/04_avance_bonnes_pratiques/03_06_dependances.md
new file mode 100644
index 0000000..e69de29
diff --git a/04_avance_bonnes_pratiques/03_07_documentation.md b/04_avance_bonnes_pratiques/03_07_documentation.md
new file mode 100644
index 0000000..e69de29
diff --git a/04_avance_bonnes_pratiques/04_00_ouverture.md b/04_avance_bonnes_pratiques/04_00_ouverture.md
new file mode 100644
index 0000000..e69de29
diff --git a/04_avance_bonnes_pratiques/04_01_publication.md b/04_avance_bonnes_pratiques/04_01_publication.md
new file mode 100644
index 0000000..e69de29
diff --git a/04_avance_bonnes_pratiques/04_02_choix_licence_gitlab.md b/04_avance_bonnes_pratiques/04_02_choix_licence_gitlab.md
new file mode 100644
index 0000000..e69de29
diff --git a/04_avance_bonnes_pratiques/04_03_software_heritage.md b/04_avance_bonnes_pratiques/04_03_software_heritage.md
new file mode 100644
index 0000000..e69de29
diff --git a/04_avance_bonnes_pratiques/04_04_oscar.md b/04_avance_bonnes_pratiques/04_04_oscar.md
new file mode 100644
index 0000000..e69de29
diff --git a/public/index.html b/public/index.html
index d18270a..8f54585 100644
--- a/public/index.html
+++ b/public/index.html
@@ -45,9 +45,10 @@ table img {
 <img src="images/logo_gitlab.png" alt="logo GitLab" />
 
 <div class="flex-container">
-  <div><a href="01_initiation/index.html">Session 1 : initiation Git</a></div>
-  <div><a href="02_gitlab_depot_distant/index.html">Session 2 : GitLab et dépôt distant</a></div>
-  <div><a href="03_branches/index.html">Session 3 : les branches</a></div>
+  <div><a href="01_initiation/">Session 1 : initiation Git</a></div>
+  <div><a href="02_gitlab_depot_distant/">Session 2 : GitLab et dépôt distant</a></div>
+  <div><a href="03_branches/">Session 3 : les branches</a></div>
+  <div><a href="04_avance_bonnes_pratiques/">Session 4 : GitLab et Git avancés et bonnes pratiques</a></div>
 </div>
 
 <div>
-- 
GitLab


From d98044d607d0de655e2fa5d58af60453aa455273 Mon Sep 17 00:00:00 2001
From: Olivier Maury <Olivier.Maury@inrae.fr>
Date: Wed, 24 Apr 2024 16:34:18 +0200
Subject: [PATCH 02/21] Ajout des titres aux fichiers de la session 4

---
 04_avance_bonnes_pratiques/01_00_gitlab.md    |   4 +
 04_avance_bonnes_pratiques/01_01_gflm.md      | 134 ++++++++++++++++++
 04_avance_bonnes_pratiques/01_02_release.md   |   3 +
 .../01_03_issue_template.md                   |   3 +
 04_avance_bonnes_pratiques/01_04_groupe.md    |   3 +
 .../01_05_planification.md                    |   3 +
 04_avance_bonnes_pratiques/01_06_topic.md     |   3 +
 04_avance_bonnes_pratiques/01_07_pipeline.md  |  19 +++
 04_avance_bonnes_pratiques/01_08_runner.md    |   3 +
 .../01_10_mattermost.md                       |   3 +
 04_avance_bonnes_pratiques/02_00_git.md       |   3 +
 04_avance_bonnes_pratiques/02_01_hook.md      |   5 +
 04_avance_bonnes_pratiques/02_02_alias.md     |  40 ++++++
 .../02_03_cherry-pick.md                      |   7 +
 04_avance_bonnes_pratiques/02_04_rebase-i.md  |   5 +
 04_avance_bonnes_pratiques/02_05_bisect.md    |   5 +
 .../03_00_bonnes_pratiques.md                 |   3 +
 04_avance_bonnes_pratiques/03_01_pourquoi.md  |   3 +
 04_avance_bonnes_pratiques/03_02_processus.md |   3 +
 .../03_03_structuration.md                    |   9 ++
 04_avance_bonnes_pratiques/03_04_test.md      |  11 ++
 .../03_05_environnement_virtuel.md            |   3 +
 .../03_06_dependances.md                      |   3 +
 .../03_07_documentation.md                    |  19 +++
 04_avance_bonnes_pratiques/04_00_ouverture.md |   3 +
 .../04_01_publication.md                      |   3 +
 .../04_02_choix_licence_gitlab.md             |   3 +
 .../04_03_software_heritage.md                |   3 +
 04_avance_bonnes_pratiques/04_04_oscar.md     |   3 +
 .../{02_05_bissect.md => images/.keep}        |   0
 Makefile                                      |   2 +-
 31 files changed, 313 insertions(+), 1 deletion(-)
 create mode 100644 04_avance_bonnes_pratiques/02_05_bisect.md
 rename 04_avance_bonnes_pratiques/{02_05_bissect.md => images/.keep} (100%)

diff --git a/04_avance_bonnes_pratiques/01_00_gitlab.md b/04_avance_bonnes_pratiques/01_00_gitlab.md
index e69de29..17cd7fc 100644
--- a/04_avance_bonnes_pratiques/01_00_gitlab.md
+++ b/04_avance_bonnes_pratiques/01_00_gitlab.md
@@ -0,0 +1,4 @@
+---slide---
+
+# GitLab
+## Autres fonctionnalités
diff --git a/04_avance_bonnes_pratiques/01_01_gflm.md b/04_avance_bonnes_pratiques/01_01_gflm.md
index e69de29..600da3a 100644
--- a/04_avance_bonnes_pratiques/01_01_gflm.md
+++ b/04_avance_bonnes_pratiques/01_01_gflm.md
@@ -0,0 +1,134 @@
+---slide---
+
+# Syntaxe Mardown dans GitLab
+
+## Mardown ?
+
+Format texte pour écrire des documents structurés, mise en forme de caractères, liens, images, citations, listes...
+
+Utilisation pour : livres, articles, présentations (ce support de formation !), lettres, prises de notes.
+
+---vertical---
+
+## dans GitLab
+
+Version enrichie de la syntaxe d'origine : *GitLab Flavored Markdown* :
+
+- spécification officielle de Markdown ([CommonMark](https://spec.commonmark.org/current/))
+- extensions de GitHub ([GFM](https://github.github.com/gfm/))
+- extensions spécifiques à GitLab
+
+---vertical---
+
+Utilisable dans tous les textes saisies dans GitLab :
+
+- tickets
+- demandes de fusion
+- commentaires, revues de code
+- jalons
+- wiki
+- fichiers du dépôt (extension `.md`)
+
+---vertical---
+
+## Mardown de base
+
+---vertical---
+
+Titre :
+
+```markdown
+# Titre de chapitre
+
+## Titre de sous-chapitre
+```
+
+---vertical---
+
+Paragraphes
+
+Pour créer un nouveau paragraphe, il faut simplement laisser une ligne vide entre deux portions de texte :
+
+```markdown
+Premier paragraphe.
+
+Second paragraphe.
+```
+
+---vertical---
+
+Liens
+
+```markdown
+[ForgeMIA](https://forgemia.inra.fr/)
+```
+
+---vertical---
+
+Style de texte
+
+```markdown
+_italique_
+**gras**
+**_gras/italique_**
+~~barré~~
+```
+
+---vertical---
+
+Citation
+
+```markdown
+> Ceci est une citation.
+```
+
+---vertical---
+
+Liste non ordonnée
+
+```markdown
+* Un élément
+* Un autre élément
+  * Un élément enfant
+  * Un deuxième élément enfant
+* Encore un
+```
+
+---vertical---
+
+Liste ordonnée
+
+```markdown
+1. Un élément
+2. Un autre élément
+  1. Un élément enfant
+  2. Un deuxième élément enfant
+3. Encore un
+```
+
+---vertical---
+
+Image
+
+```markdown
+![](https://www.inrae.fr/themes/custom/inrae_socle/logo.svg)
+```
+
+---vertical---
+
+## Extension 
+
+[Liste complète](https://docs.gitlab.com/ee/user/markdown.html)
+
+- couleur du texte
+- texte barré
+- emoji
+- listes à cocher
+- diagrammes et flux
+- équations mathématiques
+- tableaux, tableaux triables et filtrables
+- notes de bas de page
+- bloc de métadonnées (Jekill, Hugo, RMarkdown...)
+- sommaire
+- références GitLab
+- différences de texte
diff --git a/04_avance_bonnes_pratiques/01_02_release.md b/04_avance_bonnes_pratiques/01_02_release.md
index e69de29..413a33c 100644
--- a/04_avance_bonnes_pratiques/01_02_release.md
+++ b/04_avance_bonnes_pratiques/01_02_release.md
@@ -0,0 +1,3 @@
+---slide---
+
+# Release
diff --git a/04_avance_bonnes_pratiques/01_03_issue_template.md b/04_avance_bonnes_pratiques/01_03_issue_template.md
index e69de29..95aabd8 100644
--- a/04_avance_bonnes_pratiques/01_03_issue_template.md
+++ b/04_avance_bonnes_pratiques/01_03_issue_template.md
@@ -0,0 +1,3 @@
+---slide---
+
+# Modèles de ticket
diff --git a/04_avance_bonnes_pratiques/01_04_groupe.md b/04_avance_bonnes_pratiques/01_04_groupe.md
index e69de29..763dd12 100644
--- a/04_avance_bonnes_pratiques/01_04_groupe.md
+++ b/04_avance_bonnes_pratiques/01_04_groupe.md
@@ -0,0 +1,3 @@
+---slide---
+
+# Organisation en groupe et sous-groupe
diff --git a/04_avance_bonnes_pratiques/01_05_planification.md b/04_avance_bonnes_pratiques/01_05_planification.md
index e69de29..db5194f 100644
--- a/04_avance_bonnes_pratiques/01_05_planification.md
+++ b/04_avance_bonnes_pratiques/01_05_planification.md
@@ -0,0 +1,3 @@
+---slide---
+
+# Gestion des tickets
diff --git a/04_avance_bonnes_pratiques/01_06_topic.md b/04_avance_bonnes_pratiques/01_06_topic.md
index e69de29..296e1a8 100644
--- a/04_avance_bonnes_pratiques/01_06_topic.md
+++ b/04_avance_bonnes_pratiques/01_06_topic.md
@@ -0,0 +1,3 @@
+---slide---
+
+# Étiquetter un projet
diff --git a/04_avance_bonnes_pratiques/01_07_pipeline.md b/04_avance_bonnes_pratiques/01_07_pipeline.md
index e69de29..3bff4bb 100644
--- a/04_avance_bonnes_pratiques/01_07_pipeline.md
+++ b/04_avance_bonnes_pratiques/01_07_pipeline.md
@@ -0,0 +1,19 @@
+---slide---
+
+# *Pipeline*
+
+Successions d'étapes dans l'intégration continue ou dans le déploiement continu.
+
+---vertical---
+
+## Intégration continue
+
+Ensemble de pratiques utilisées en génie logiciel consistant à vérifier à chaque modification de code source que le résultat des modifications ne produit pas de régression dans l'application développée.
+
+Le principal but de cette pratique est de détecter les problèmes d'intégration au plus tôt lors du développement. De plus, elle permet d'automatiser l'exécution des suites de tests et de voir l'évolution du développement du logiciel. 
+
+---vertical---
+
+## Livraison continue
+
+Déploiement à chaque modification de code source du résultat de la construction du projet (publication du logiciel empaqueté, mise en ligne d'un site web...).
diff --git a/04_avance_bonnes_pratiques/01_08_runner.md b/04_avance_bonnes_pratiques/01_08_runner.md
index e69de29..fea5f1d 100644
--- a/04_avance_bonnes_pratiques/01_08_runner.md
+++ b/04_avance_bonnes_pratiques/01_08_runner.md
@@ -0,0 +1,3 @@
+---slide---
+
+# Cas d'utilisation des *runners* maison
diff --git a/04_avance_bonnes_pratiques/01_10_mattermost.md b/04_avance_bonnes_pratiques/01_10_mattermost.md
index e69de29..f68d7e9 100644
--- a/04_avance_bonnes_pratiques/01_10_mattermost.md
+++ b/04_avance_bonnes_pratiques/01_10_mattermost.md
@@ -0,0 +1,3 @@
+---slide---
+
+# Intégratiion à Mattermost
diff --git a/04_avance_bonnes_pratiques/02_00_git.md b/04_avance_bonnes_pratiques/02_00_git.md
index e69de29..d01b5c8 100644
--- a/04_avance_bonnes_pratiques/02_00_git.md
+++ b/04_avance_bonnes_pratiques/02_00_git.md
@@ -0,0 +1,3 @@
+---slide---
+
+# Git : fonctionnalités particulières et astuces
diff --git a/04_avance_bonnes_pratiques/02_01_hook.md b/04_avance_bonnes_pratiques/02_01_hook.md
index e69de29..5f243f5 100644
--- a/04_avance_bonnes_pratiques/02_01_hook.md
+++ b/04_avance_bonnes_pratiques/02_01_hook.md
@@ -0,0 +1,5 @@
+---slide---
+
+# Crochets Git
+
+Note: https://git-scm.com/book/fr/v2/Personnalisation-de-Git-Crochets-Git
diff --git a/04_avance_bonnes_pratiques/02_02_alias.md b/04_avance_bonnes_pratiques/02_02_alias.md
index e69de29..616f0d4 100644
--- a/04_avance_bonnes_pratiques/02_02_alias.md
+++ b/04_avance_bonnes_pratiques/02_02_alias.md
@@ -0,0 +1,40 @@
+---slide---
+
+# Alias de commande
+
+Objet : rendre l'utilisation de Git plus simple, facile ou familier.
+
+---vertical---
+
+**Exemple :** pour désindexer un fichier, on utilise la commande
+
+```
+git reset HEAD mon_fichier.txt
+```.
+
+Configurer un alias avec
+
+```
+git config --global alias.unstage 'reset HEAD --'
+```
+
+permet d'utiliser la commande `git unstage mon_fichier.txt`.
+
+---vertical---
+
+**Exemple :** mettre en forme l'affichage de l'historique :
+
+```
+git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
+```
+
+`git lg` affiche alors :
+
+```
+* 3595b95 - Suppression de la diapo de titre sur la gestion des branches en local. (il y a 7 mois) <Jean-Baptiste Louvet>
+* b680a92 - Suppression de la partie pointeurs et HEAD. (il y a 7 mois) <Jean-Baptiste Louvet>
+* 5d23760 - Ajout de titres et clarification dans les principes. (il y a 7 mois) <Jean-Baptiste Louvet>
+* e50c200 - Amélioration de la formulation des mauvais cas d’utilisation (il y a 7 mois) <Jean-Baptiste Louvet>
+```
+
+Note: https://git-scm.com/book/fr/v2/Les-bases-de-Git-Les-alias-Git
diff --git a/04_avance_bonnes_pratiques/02_03_cherry-pick.md b/04_avance_bonnes_pratiques/02_03_cherry-pick.md
index e69de29..0a953ac 100644
--- a/04_avance_bonnes_pratiques/02_03_cherry-pick.md
+++ b/04_avance_bonnes_pratiques/02_03_cherry-pick.md
@@ -0,0 +1,7 @@
+---slide---
+
+# `git cherry-pick`
+
+Appliquer les modifications introduites par certains commits existants sur la branche.
+
+Note: https://git-scm.com/docs/git-cherry-pick/fr
diff --git a/04_avance_bonnes_pratiques/02_04_rebase-i.md b/04_avance_bonnes_pratiques/02_04_rebase-i.md
index e69de29..c3480a0 100644
--- a/04_avance_bonnes_pratiques/02_04_rebase-i.md
+++ b/04_avance_bonnes_pratiques/02_04_rebase-i.md
@@ -0,0 +1,5 @@
+---slide---
+
+# `git rebase --interactive`
+
+Note: https://git-scm.com/docs/git-rebase https://git-scm.com/book/fr/v2/Les-branches-avec-Git-Rebaser-Rebasing
diff --git a/04_avance_bonnes_pratiques/02_05_bisect.md b/04_avance_bonnes_pratiques/02_05_bisect.md
new file mode 100644
index 0000000..164ce10
--- /dev/null
+++ b/04_avance_bonnes_pratiques/02_05_bisect.md
@@ -0,0 +1,5 @@
+---slide---
+
+# `git bisect`
+
+Note: https://git-scm.com/docs/git-bisect/fr
diff --git a/04_avance_bonnes_pratiques/03_00_bonnes_pratiques.md b/04_avance_bonnes_pratiques/03_00_bonnes_pratiques.md
index e69de29..21f5322 100644
--- a/04_avance_bonnes_pratiques/03_00_bonnes_pratiques.md
+++ b/04_avance_bonnes_pratiques/03_00_bonnes_pratiques.md
@@ -0,0 +1,3 @@
+---slide---
+
+# Bonnes pratiques
diff --git a/04_avance_bonnes_pratiques/03_01_pourquoi.md b/04_avance_bonnes_pratiques/03_01_pourquoi.md
index e69de29..51e1b99 100644
--- a/04_avance_bonnes_pratiques/03_01_pourquoi.md
+++ b/04_avance_bonnes_pratiques/03_01_pourquoi.md
@@ -0,0 +1,3 @@
+---slide---
+
+# Pourquoi suivre les bonnes pratiques ?
diff --git a/04_avance_bonnes_pratiques/03_02_processus.md b/04_avance_bonnes_pratiques/03_02_processus.md
index e69de29..34102e0 100644
--- a/04_avance_bonnes_pratiques/03_02_processus.md
+++ b/04_avance_bonnes_pratiques/03_02_processus.md
@@ -0,0 +1,3 @@
+---slide---
+
+# Présentation d'un processus de développement
diff --git a/04_avance_bonnes_pratiques/03_03_structuration.md b/04_avance_bonnes_pratiques/03_03_structuration.md
index e69de29..640247e 100644
--- a/04_avance_bonnes_pratiques/03_03_structuration.md
+++ b/04_avance_bonnes_pratiques/03_03_structuration.md
@@ -0,0 +1,9 @@
+---slide---
+
+# Structurer son code
+
+---vertical---
+
+## Utiliser des analyseurs de code
+
+*linter*
diff --git a/04_avance_bonnes_pratiques/03_04_test.md b/04_avance_bonnes_pratiques/03_04_test.md
index e69de29..8fcc6dc 100644
--- a/04_avance_bonnes_pratiques/03_04_test.md
+++ b/04_avance_bonnes_pratiques/03_04_test.md
@@ -0,0 +1,11 @@
+---slide---
+
+# Tester son code
+
+---vertical---
+
+## Pourquoi tester
+
+---vertical---
+
+## Les différents types de tests
diff --git a/04_avance_bonnes_pratiques/03_05_environnement_virtuel.md b/04_avance_bonnes_pratiques/03_05_environnement_virtuel.md
index e69de29..102721e 100644
--- a/04_avance_bonnes_pratiques/03_05_environnement_virtuel.md
+++ b/04_avance_bonnes_pratiques/03_05_environnement_virtuel.md
@@ -0,0 +1,3 @@
+---slide---
+
+# Utiliser des environnements virtuels
diff --git a/04_avance_bonnes_pratiques/03_06_dependances.md b/04_avance_bonnes_pratiques/03_06_dependances.md
index e69de29..6e54939 100644
--- a/04_avance_bonnes_pratiques/03_06_dependances.md
+++ b/04_avance_bonnes_pratiques/03_06_dependances.md
@@ -0,0 +1,3 @@
+---slide---
+
+# Gérer ses dépendances dans Git
diff --git a/04_avance_bonnes_pratiques/03_07_documentation.md b/04_avance_bonnes_pratiques/03_07_documentation.md
index e69de29..becbda9 100644
--- a/04_avance_bonnes_pratiques/03_07_documentation.md
+++ b/04_avance_bonnes_pratiques/03_07_documentation.md
@@ -0,0 +1,19 @@
+---slide---
+
+# Documenter son code
+
+---vertical---
+
+## Documenter les fonctions, modules...
+
+---vertical---
+
+## Documnenter son projet
+
+---vertical---
+
+### Fichier README et autres fichiers recommandés
+
+Point d'entrée par convention pour se renseigner sur un projet.
+
+AUTHORS, CONTRIBUTING, LICENCE…
diff --git a/04_avance_bonnes_pratiques/04_00_ouverture.md b/04_avance_bonnes_pratiques/04_00_ouverture.md
index e69de29..5228de1 100644
--- a/04_avance_bonnes_pratiques/04_00_ouverture.md
+++ b/04_avance_bonnes_pratiques/04_00_ouverture.md
@@ -0,0 +1,3 @@
+---slide---
+
+# Licence et ouverture du code
diff --git a/04_avance_bonnes_pratiques/04_01_publication.md b/04_avance_bonnes_pratiques/04_01_publication.md
index e69de29..af5f17f 100644
--- a/04_avance_bonnes_pratiques/04_01_publication.md
+++ b/04_avance_bonnes_pratiques/04_01_publication.md
@@ -0,0 +1,3 @@
+---slide---
+
+# Publier son code
diff --git a/04_avance_bonnes_pratiques/04_02_choix_licence_gitlab.md b/04_avance_bonnes_pratiques/04_02_choix_licence_gitlab.md
index e69de29..bacd60a 100644
--- a/04_avance_bonnes_pratiques/04_02_choix_licence_gitlab.md
+++ b/04_avance_bonnes_pratiques/04_02_choix_licence_gitlab.md
@@ -0,0 +1,3 @@
+---slide---
+
+# Utiliser GitLab pour choisir une licence
diff --git a/04_avance_bonnes_pratiques/04_03_software_heritage.md b/04_avance_bonnes_pratiques/04_03_software_heritage.md
index e69de29..fb40889 100644
--- a/04_avance_bonnes_pratiques/04_03_software_heritage.md
+++ b/04_avance_bonnes_pratiques/04_03_software_heritage.md
@@ -0,0 +1,3 @@
+---slide---
+
+# Software Heritage
diff --git a/04_avance_bonnes_pratiques/04_04_oscar.md b/04_avance_bonnes_pratiques/04_04_oscar.md
index e69de29..60c7b07 100644
--- a/04_avance_bonnes_pratiques/04_04_oscar.md
+++ b/04_avance_bonnes_pratiques/04_04_oscar.md
@@ -0,0 +1,3 @@
+---slide---
+
+# Module de formation Oscar
diff --git a/04_avance_bonnes_pratiques/02_05_bissect.md b/04_avance_bonnes_pratiques/images/.keep
similarity index 100%
rename from 04_avance_bonnes_pratiques/02_05_bissect.md
rename to 04_avance_bonnes_pratiques/images/.keep
diff --git a/Makefile b/Makefile
index 8deec96..71b4708 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
 SHELL := /usr/bin/env bash
 
 BUILD_DIR := public
-SESSIONS := 01_initiation 02_gitlab_depot_distant 03_branches
+SESSIONS := 01_initiation 02_gitlab_depot_distant 03_branches 04_avance_bonnes_pratiques
 SESSION_DIRS := $(SESSIONS:%=$(BUILD_DIR)/%)
 INDEXES := $(SESSIONS:%=$(BUILD_DIR)/%/index.html)
 
-- 
GitLab


From a824b59adc41d7ab8ea427ad3c2634af0f260338 Mon Sep 17 00:00:00 2001
From: Olivier Maury <Olivier.Maury@inrae.fr>
Date: Fri, 26 Apr 2024 16:56:39 +0200
Subject: [PATCH 03/21] Quelques diapos en plus pour la session 4

---
 04_avance_bonnes_pratiques/01_01_gflm.md      | 22 ++---
 .../01_05_planification.md                    | 88 +++++++++++++++++++
 Makefile                                      | 11 +++
 public/index.html                             |  3 +-
 4 files changed, 113 insertions(+), 11 deletions(-)

diff --git a/04_avance_bonnes_pratiques/01_01_gflm.md b/04_avance_bonnes_pratiques/01_01_gflm.md
index 600da3a..ce1e00e 100644
--- a/04_avance_bonnes_pratiques/01_01_gflm.md
+++ b/04_avance_bonnes_pratiques/01_01_gflm.md
@@ -2,6 +2,8 @@
 
 # Syntaxe Mardown dans GitLab
 
+---vertical---
+
 ## Mardown ?
 
 Format texte pour écrire des documents structurés, mise en forme de caractères, liens, images, citations, listes...
@@ -10,7 +12,7 @@ Utilisation pour : livres, articles, présentations (ce support de formation !),
 
 ---vertical---
 
-## dans GitLab
+## Markdown dans GitLab
 
 Version enrichie de la syntaxe d'origine : *GitLab Flavored Markdown* :
 
@@ -20,7 +22,7 @@ Version enrichie de la syntaxe d'origine : *GitLab Flavored Markdown* :
 
 ---vertical---
 
-Utilisable dans tous les textes saisies dans GitLab :
+## Utilisable dans...
 
 - tickets
 - demandes de fusion
@@ -35,7 +37,7 @@ Utilisable dans tous les textes saisies dans GitLab :
 
 ---vertical---
 
-Titre :
+### Titre
 
 ```markdown
 # Titre de chapitre
@@ -45,7 +47,7 @@ Titre :
 
 ---vertical---
 
-Paragraphes
+### Paragraphes
 
 Pour créer un nouveau paragraphe, il faut simplement laisser une ligne vide entre deux portions de texte :
 
@@ -57,7 +59,7 @@ Second paragraphe.
 
 ---vertical---
 
-Liens
+### Liens
 
 ```markdown
 [ForgeMIA](https://forgemia.inra.fr/)
@@ -65,7 +67,7 @@ Liens
 
 ---vertical---
 
-Style de texte
+### Styles de texte
 
 ```markdown
 _italique_
@@ -76,7 +78,7 @@ _italique_
 
 ---vertical---
 
-Citation
+### Citation
 
 ```markdown
 > Ceci est une citation.
@@ -84,7 +86,7 @@ Citation
 
 ---vertical---
 
-Liste non ordonnée
+### Liste non ordonnée
 
 ```markdown
 * Un élément
@@ -96,7 +98,7 @@ Liste non ordonnée
 
 ---vertical---
 
-Liste ordonnée
+### Liste ordonnée
 
 ```markdown
 1. Un élément
@@ -108,7 +110,7 @@ Liste ordonnée
 
 ---vertical---
 
-Image
+### Image
 
 ```markdown
 ![](https://www.inrae.fr/themes/custom/inrae_socle/logo.svg)
diff --git a/04_avance_bonnes_pratiques/01_05_planification.md b/04_avance_bonnes_pratiques/01_05_planification.md
index db5194f..a8be854 100644
--- a/04_avance_bonnes_pratiques/01_05_planification.md
+++ b/04_avance_bonnes_pratiques/01_05_planification.md
@@ -1,3 +1,91 @@
 ---slide---
 
 # Gestion des tickets
+## Liste des tickets
+## Jalons
+## Tableau de tickets
+
+---vertical---
+
+## Liste des tickets
+
+Dans un projet ou un groupe de projets.
+
+*Plan* > *Issues*
+
+---vertical---
+
+## Jalons
+
+Dans un projet ou un groupe de projets.
+
+*Plan* > *Milestones*
+
+
+---vertical---
+
+Dans un projet ou un groupe de projets.
+
+## Tableau de tickets
+
+Dans un projet ou un groupe de projets.
+
+*Plan* > *Issue boards*
+
+2 listes verticales par défaut : *Open*, *Closed*
+
+---vertical---
+
+### Modifier le tableau
+
+Dans un projet ou un groupe de projets.
+
+- Masquer les listes *Open*, *Closed*
+- Ajouter des listes pour les tickets ayant des *labels*.
+
+On peut réordonner ou réduire les listes.
+
+On peut créer un ticket directement dans une liste.
+
+---vertical---
+
+### Créer un nouveau tableau
+
+Uniquement dans un projet.
+
+Possibilité créer d'autres tableaux.
+
+---vertical---
+
+### Filtrer un tableau
+
+Pour limiter à un ou plusieurs :
+- responsable de ticket
+- *label*
+- auteur du ticket
+- *milestone*
+- *release*
+- type (Incident, Ticket)
+
+---vertical---
+
+### Exemples de tableaux
+
+- *Open*, label *En cours*, label *Rejeté*, *Closed*
+
+---vertical---
+
+### Application pour un jalon
+
+- créer 2 *labels* : En cours, Rejeté
+- ajouter un filtre sur `Milestone = %v1.0.0`
+
+---vertical---
+
+### Application pour carnet de produit Scrum
+
+- créer 4 *labels* : Bac à sable, Bac à glace, Bac de culture, Bac de départ
+- créer un tableau en n'affichant pas les tickets fermés, avec 4 listes pour les 4 *labels*
+- ajouter un filtre sur `Milestone = None`
+
+=> Permet de glisser-déposer les tickets dans les bacs (plus rapide que de modifier les tickets)
diff --git a/Makefile b/Makefile
index 71b4708..79448a7 100644
--- a/Makefile
+++ b/Makefile
@@ -18,3 +18,14 @@ run: build
 	(sleep 1 ; python3 -mwebbrowser http://0.0.0.0:8000/) &
 	(cd public/ ; python3 -m http.server)
 
+public/01_initiation/index.html::
+	sed -i -e "s/SLIDESHOW_TITLE/Session 1 : initiation Git/g" $@
+
+public/02_gitlab_depot_distant/index.html::
+	sed -i -e "s/SLIDESHOW_TITLE/Session 2 : Gitlab et dépôt distant/g" $@
+
+public/03_branches/index.html::
+	sed -i -e "s/SLIDESHOW_TITLE/Session 3 : les branches/g" $@
+
+public/04_avance_bonnes_pratiques/index.html::
+	sed -i -e "s/SLIDESHOW_TITLE/Session 4 : GitLab et Git avancés et bonnes pratiques/g" $@
diff --git a/public/index.html b/public/index.html
index 8f54585..d12a38b 100644
--- a/public/index.html
+++ b/public/index.html
@@ -1,7 +1,8 @@
 <!DOCTYPE html>
-<html>
+<html lang="fr">
 <head>
 <meta charset="utf-8">
+<title>Formation Git & Gitlab</title>
 <style>
 .flex-container {
   display: flex;
-- 
GitLab


From b5ca330a00d34153ed252ce5ac348d7019d13d7a Mon Sep 17 00:00:00 2001
From: Olivier Maury <Olivier.Maury@inrae.fr>
Date: Wed, 22 May 2024 09:30:31 +0200
Subject: [PATCH 04/21] =?UTF-8?q?Pr=C3=A9cisions=20sur=20la=20gestion=20de?=
 =?UTF-8?q?s=20tickets=20pour=20la=20session=204?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../01_05_planification.md                    | 25 +++++++++++++++----
 1 file changed, 20 insertions(+), 5 deletions(-)

diff --git a/04_avance_bonnes_pratiques/01_05_planification.md b/04_avance_bonnes_pratiques/01_05_planification.md
index a8be854..2fe6f3f 100644
--- a/04_avance_bonnes_pratiques/01_05_planification.md
+++ b/04_avance_bonnes_pratiques/01_05_planification.md
@@ -1,9 +1,11 @@
 ---slide---
 
 # Gestion des tickets
-## Liste des tickets
-## Jalons
-## Tableau de tickets
+## Dans un projet ou un groupe
+### Liste des tickets
+### Jalons
+### Tableau de tickets
+## Ses tickets
 
 ---vertical---
 
@@ -13,6 +15,8 @@ Dans un projet ou un groupe de projets.
 
 *Plan* > *Issues*
 
+Et le raccourci pour ses propres tickets.
+
 ---vertical---
 
 ## Jalons
@@ -24,8 +28,6 @@ Dans un projet ou un groupe de projets.
 
 ---vertical---
 
-Dans un projet ou un groupe de projets.
-
 ## Tableau de tickets
 
 Dans un projet ou un groupe de projets.
@@ -89,3 +91,16 @@ Pour limiter à un ou plusieurs :
 - ajouter un filtre sur `Milestone = None`
 
 => Permet de glisser-déposer les tickets dans les bacs (plus rapide que de modifier les tickets)
+
+---vertical---
+
+## Ses tickets
+
+Raccourci vers le tableau des tickets avec tous les tickets auxquels on est affectés : pour avoir l'ensemble des tâches à accomplir.
+
+Tri par :
+- date de dernière mise à jour
+- priorité
+- ...
+
+=> La forge devient le lieu unique de sa gestion des tâches.
-- 
GitLab


From 4c6afee27bdb8cd110378451a3f47a2fea37a8aa Mon Sep 17 00:00:00 2001
From: Olivier Maury <Olivier.Maury@inrae.fr>
Date: Wed, 22 May 2024 15:55:02 +0200
Subject: [PATCH 05/21] Passage sous Quarto

---
 04_avance_bonnes_pratiques/.gitignore         |  1 +
 ...introduction.md => 00_00_introduction.qmd} |  3 --
 04_avance_bonnes_pratiques/01_00_gitlab.md    |  4 --
 04_avance_bonnes_pratiques/01_00_gitlab.qmd   |  1 +
 .../{01_01_gflm.md => 01_01_gflm.qmd}         | 32 +++++---------
 04_avance_bonnes_pratiques/01_02_release.md   |  3 --
 04_avance_bonnes_pratiques/01_02_release.qmd  |  1 +
 ...e_template.md => 01_03_issue_template.qmd} |  2 -
 .../{01_04_groupe.md => 01_04_groupe.qmd}     |  2 -
 ...anification.md => 01_05_planification.qmd} | 34 ++++++--------
 .../{01_06_topic.md => 01_06_topic.qmd}       |  2 -
 .../{01_07_pipeline.md => 01_07_pipeline.qmd} |  6 ---
 .../{01_08_runner.md => 01_08_runner.qmd}     |  2 -
 ..._10_mattermost.md => 01_10_mattermost.qmd} |  2 -
 .../{02_00_git.md => 02_00_git.qmd}           |  2 -
 04_avance_bonnes_pratiques/02_01_hook.md      |  5 ---
 04_avance_bonnes_pratiques/02_01_hook.qmd     |  5 +++
 .../{02_02_alias.md => 02_02_alias.qmd}       | 18 +++++---
 ...3_cherry-pick.md => 02_03_cherry-pick.qmd} |  6 +--
 04_avance_bonnes_pratiques/02_04_rebase-i.md  |  5 ---
 04_avance_bonnes_pratiques/02_04_rebase-i.qmd |  5 +++
 04_avance_bonnes_pratiques/02_05_bisect.md    |  5 ---
 04_avance_bonnes_pratiques/02_05_bisect.qmd   |  5 +++
 ...ratiques.md => 03_00_bonnes_pratiques.qmd} |  2 -
 .../{03_01_pourquoi.md => 03_01_pourquoi.qmd} |  2 -
 ...03_02_processus.md => 03_02_processus.qmd} |  2 -
 ...ructuration.md => 03_03_structuration.qmd} |  4 --
 .../{03_04_test.md => 03_04_test.qmd}         |  6 ---
 ...uel.md => 03_05_environnement_virtuel.qmd} |  2 -
 .../03_06_dependances.md                      |  3 --
 .../03_06_dependances.qmd                     |  1 +
 ...cumentation.md => 03_07_documentation.qmd} |  8 +---
 ...04_00_ouverture.md => 04_00_ouverture.qmd} |  2 -
 ...1_publication.md => 04_01_publication.qmd} |  2 -
 ...tlab.md => 04_02_choix_licence_gitlab.qmd} |  2 -
 ...eritage.md => 04_03_software_heritage.qmd} |  2 -
 04_avance_bonnes_pratiques/04_04_oscar.md     |  3 --
 04_avance_bonnes_pratiques/04_04_oscar.qmd    |  9 ++++
 04_avance_bonnes_pratiques/index.qmd          | 44 +++++++++++++++++++
 39 files changed, 110 insertions(+), 135 deletions(-)
 create mode 100644 04_avance_bonnes_pratiques/.gitignore
 rename 04_avance_bonnes_pratiques/{00_00_introduction.md => 00_00_introduction.qmd} (58%)
 delete mode 100644 04_avance_bonnes_pratiques/01_00_gitlab.md
 create mode 100644 04_avance_bonnes_pratiques/01_00_gitlab.qmd
 rename 04_avance_bonnes_pratiques/{01_01_gflm.md => 01_01_gflm.qmd} (88%)
 delete mode 100644 04_avance_bonnes_pratiques/01_02_release.md
 create mode 100644 04_avance_bonnes_pratiques/01_02_release.qmd
 rename 04_avance_bonnes_pratiques/{01_03_issue_template.md => 01_03_issue_template.qmd} (61%)
 rename 04_avance_bonnes_pratiques/{01_04_groupe.md => 01_04_groupe.qmd} (75%)
 rename 04_avance_bonnes_pratiques/{01_05_planification.md => 01_05_planification.qmd} (86%)
 rename 04_avance_bonnes_pratiques/{01_06_topic.md => 01_06_topic.qmd} (64%)
 rename 04_avance_bonnes_pratiques/{01_07_pipeline.md => 01_07_pipeline.qmd} (94%)
 rename 04_avance_bonnes_pratiques/{01_08_runner.md => 01_08_runner.qmd} (75%)
 rename 04_avance_bonnes_pratiques/{01_10_mattermost.md => 01_10_mattermost.qmd} (69%)
 rename 04_avance_bonnes_pratiques/{02_00_git.md => 02_00_git.qmd} (79%)
 delete mode 100644 04_avance_bonnes_pratiques/02_01_hook.md
 create mode 100644 04_avance_bonnes_pratiques/02_01_hook.qmd
 rename 04_avance_bonnes_pratiques/{02_02_alias.md => 02_02_alias.qmd} (84%)
 rename 04_avance_bonnes_pratiques/{02_03_cherry-pick.md => 02_03_cherry-pick.qmd} (63%)
 delete mode 100644 04_avance_bonnes_pratiques/02_04_rebase-i.md
 create mode 100644 04_avance_bonnes_pratiques/02_04_rebase-i.qmd
 delete mode 100644 04_avance_bonnes_pratiques/02_05_bisect.md
 create mode 100644 04_avance_bonnes_pratiques/02_05_bisect.qmd
 rename 04_avance_bonnes_pratiques/{03_00_bonnes_pratiques.md => 03_00_bonnes_pratiques.qmd} (59%)
 rename 04_avance_bonnes_pratiques/{03_01_pourquoi.md => 03_01_pourquoi.qmd} (75%)
 rename 04_avance_bonnes_pratiques/{03_02_processus.md => 03_02_processus.qmd} (79%)
 rename 04_avance_bonnes_pratiques/{03_03_structuration.md => 03_03_structuration.qmd} (70%)
 rename 04_avance_bonnes_pratiques/{03_04_test.md => 03_04_test.qmd} (61%)
 rename 04_avance_bonnes_pratiques/{03_05_environnement_virtuel.md => 03_05_environnement_virtuel.qmd} (75%)
 delete mode 100644 04_avance_bonnes_pratiques/03_06_dependances.md
 create mode 100644 04_avance_bonnes_pratiques/03_06_dependances.qmd
 rename 04_avance_bonnes_pratiques/{03_07_documentation.md => 03_07_documentation.qmd} (80%)
 rename 04_avance_bonnes_pratiques/{04_00_ouverture.md => 04_00_ouverture.qmd} (70%)
 rename 04_avance_bonnes_pratiques/{04_01_publication.md => 04_01_publication.qmd} (59%)
 rename 04_avance_bonnes_pratiques/{04_02_choix_licence_gitlab.md => 04_02_choix_licence_gitlab.qmd} (76%)
 rename 04_avance_bonnes_pratiques/{04_03_software_heritage.md => 04_03_software_heritage.qmd} (60%)
 delete mode 100644 04_avance_bonnes_pratiques/04_04_oscar.md
 create mode 100644 04_avance_bonnes_pratiques/04_04_oscar.qmd
 create mode 100644 04_avance_bonnes_pratiques/index.qmd

diff --git a/04_avance_bonnes_pratiques/.gitignore b/04_avance_bonnes_pratiques/.gitignore
new file mode 100644
index 0000000..2d19fc7
--- /dev/null
+++ b/04_avance_bonnes_pratiques/.gitignore
@@ -0,0 +1 @@
+*.html
diff --git a/04_avance_bonnes_pratiques/00_00_introduction.md b/04_avance_bonnes_pratiques/00_00_introduction.qmd
similarity index 58%
rename from 04_avance_bonnes_pratiques/00_00_introduction.md
rename to 04_avance_bonnes_pratiques/00_00_introduction.qmd
index dfc8409..fa9b535 100644
--- a/04_avance_bonnes_pratiques/00_00_introduction.md
+++ b/04_avance_bonnes_pratiques/00_00_introduction.qmd
@@ -1,6 +1,3 @@
-# Session 4 : Git et GitLab avancés
-### et bonnes pratiques
-
 * Fonctionnalités avancées
 * Bonnes pratiques de développement
 * Ouverture du code
diff --git a/04_avance_bonnes_pratiques/01_00_gitlab.md b/04_avance_bonnes_pratiques/01_00_gitlab.md
deleted file mode 100644
index 17cd7fc..0000000
--- a/04_avance_bonnes_pratiques/01_00_gitlab.md
+++ /dev/null
@@ -1,4 +0,0 @@
----slide---
-
-# GitLab
-## Autres fonctionnalités
diff --git a/04_avance_bonnes_pratiques/01_00_gitlab.qmd b/04_avance_bonnes_pratiques/01_00_gitlab.qmd
new file mode 100644
index 0000000..8f6e687
--- /dev/null
+++ b/04_avance_bonnes_pratiques/01_00_gitlab.qmd
@@ -0,0 +1 @@
+# GitLab − autres fonctionnalités
diff --git a/04_avance_bonnes_pratiques/01_01_gflm.md b/04_avance_bonnes_pratiques/01_01_gflm.qmd
similarity index 88%
rename from 04_avance_bonnes_pratiques/01_01_gflm.md
rename to 04_avance_bonnes_pratiques/01_01_gflm.qmd
index ce1e00e..4296025 100644
--- a/04_avance_bonnes_pratiques/01_01_gflm.md
+++ b/04_avance_bonnes_pratiques/01_01_gflm.qmd
@@ -1,17 +1,11 @@
----slide---
-
 # Syntaxe Mardown dans GitLab
 
----vertical---
-
 ## Mardown ?
 
 Format texte pour écrire des documents structurés, mise en forme de caractères, liens, images, citations, listes...
 
 Utilisation pour : livres, articles, présentations (ce support de formation !), lettres, prises de notes.
 
----vertical---
-
 ## Markdown dans GitLab
 
 Version enrichie de la syntaxe d'origine : *GitLab Flavored Markdown* :
@@ -20,8 +14,6 @@ Version enrichie de la syntaxe d'origine : *GitLab Flavored Markdown* :
 - extensions de GitHub ([GFM](https://github.github.com/gfm/))
 - extensions spécifiques à GitLab
 
----vertical---
-
 ## Utilisable dans...
 
 - tickets
@@ -31,11 +23,9 @@ Version enrichie de la syntaxe d'origine : *GitLab Flavored Markdown* :
 - wiki
 - fichiers du dépôt (extension `.md`)
 
----vertical---
-
-## Mardown de base
+## Markdown de base
 
----vertical---
+---
 
 ### Titre
 
@@ -45,7 +35,7 @@ Version enrichie de la syntaxe d'origine : *GitLab Flavored Markdown* :
 ## Titre de sous-chapitre
 ```
 
----vertical---
+---
 
 ### Paragraphes
 
@@ -57,7 +47,7 @@ Premier paragraphe.
 Second paragraphe.
 ```
 
----vertical---
+---
 
 ### Liens
 
@@ -65,7 +55,7 @@ Second paragraphe.
 [ForgeMIA](https://forgemia.inra.fr/)
 ```
 
----vertical---
+---
 
 ### Styles de texte
 
@@ -76,7 +66,7 @@ _italique_
 ~~barré~~
 ```
 
----vertical---
+---
 
 ### Citation
 
@@ -84,7 +74,7 @@ _italique_
 > Ceci est une citation.
 ```
 
----vertical---
+---
 
 ### Liste non ordonnée
 
@@ -96,7 +86,7 @@ _italique_
 * Encore un
 ```
 
----vertical---
+---
 
 ### Liste ordonnée
 
@@ -108,7 +98,7 @@ _italique_
 3. Encore un
 ```
 
----vertical---
+---
 
 ### Image
 
@@ -116,9 +106,7 @@ _italique_
 ![](https://www.inrae.fr/themes/custom/inrae_socle/logo.svg)
 ```
 
----vertical---
-
-## Extension 
+## Extension{.smaller}
 
 [Liste complète](https://docs.gitlab.com/ee/user/markdown.html)
 
diff --git a/04_avance_bonnes_pratiques/01_02_release.md b/04_avance_bonnes_pratiques/01_02_release.md
deleted file mode 100644
index 413a33c..0000000
--- a/04_avance_bonnes_pratiques/01_02_release.md
+++ /dev/null
@@ -1,3 +0,0 @@
----slide---
-
-# Release
diff --git a/04_avance_bonnes_pratiques/01_02_release.qmd b/04_avance_bonnes_pratiques/01_02_release.qmd
new file mode 100644
index 0000000..aa054b5
--- /dev/null
+++ b/04_avance_bonnes_pratiques/01_02_release.qmd
@@ -0,0 +1 @@
+# Release
diff --git a/04_avance_bonnes_pratiques/01_03_issue_template.md b/04_avance_bonnes_pratiques/01_03_issue_template.qmd
similarity index 61%
rename from 04_avance_bonnes_pratiques/01_03_issue_template.md
rename to 04_avance_bonnes_pratiques/01_03_issue_template.qmd
index 95aabd8..a558ee1 100644
--- a/04_avance_bonnes_pratiques/01_03_issue_template.md
+++ b/04_avance_bonnes_pratiques/01_03_issue_template.qmd
@@ -1,3 +1 @@
----slide---
-
 # Modèles de ticket
diff --git a/04_avance_bonnes_pratiques/01_04_groupe.md b/04_avance_bonnes_pratiques/01_04_groupe.qmd
similarity index 75%
rename from 04_avance_bonnes_pratiques/01_04_groupe.md
rename to 04_avance_bonnes_pratiques/01_04_groupe.qmd
index 763dd12..0593f89 100644
--- a/04_avance_bonnes_pratiques/01_04_groupe.md
+++ b/04_avance_bonnes_pratiques/01_04_groupe.qmd
@@ -1,3 +1 @@
----slide---
-
 # Organisation en groupe et sous-groupe
diff --git a/04_avance_bonnes_pratiques/01_05_planification.md b/04_avance_bonnes_pratiques/01_05_planification.qmd
similarity index 86%
rename from 04_avance_bonnes_pratiques/01_05_planification.md
rename to 04_avance_bonnes_pratiques/01_05_planification.qmd
index 2fe6f3f..f868781 100644
--- a/04_avance_bonnes_pratiques/01_05_planification.md
+++ b/04_avance_bonnes_pratiques/01_05_planification.qmd
@@ -1,13 +1,10 @@
----slide---
-
 # Gestion des tickets
-## Dans un projet ou un groupe
-### Liste des tickets
-### Jalons
-### Tableau de tickets
-## Ses tickets
 
----vertical---
+- Dans un projet ou un groupe
+  - Liste des tickets
+  - Jalons
+  - Tableau de tickets
+- Ses tickets
 
 ## Liste des tickets
 
@@ -17,17 +14,12 @@ Dans un projet ou un groupe de projets.
 
 Et le raccourci pour ses propres tickets.
 
----vertical---
-
 ## Jalons
 
 Dans un projet ou un groupe de projets.
 
 *Plan* > *Milestones*
 
-
----vertical---
-
 ## Tableau de tickets
 
 Dans un projet ou un groupe de projets.
@@ -36,7 +28,7 @@ Dans un projet ou un groupe de projets.
 
 2 listes verticales par défaut : *Open*, *Closed*
 
----vertical---
+---
 
 ### Modifier le tableau
 
@@ -49,7 +41,7 @@ On peut réordonner ou réduire les listes.
 
 On peut créer un ticket directement dans une liste.
 
----vertical---
+---
 
 ### Créer un nouveau tableau
 
@@ -57,11 +49,12 @@ Uniquement dans un projet.
 
 Possibilité créer d'autres tableaux.
 
----vertical---
+---
 
 ### Filtrer un tableau
 
 Pour limiter à un ou plusieurs :
+
 - responsable de ticket
 - *label*
 - auteur du ticket
@@ -69,20 +62,20 @@ Pour limiter à un ou plusieurs :
 - *release*
 - type (Incident, Ticket)
 
----vertical---
+---
 
 ### Exemples de tableaux
 
 - *Open*, label *En cours*, label *Rejeté*, *Closed*
 
----vertical---
+---
 
 ### Application pour un jalon
 
 - créer 2 *labels* : En cours, Rejeté
 - ajouter un filtre sur `Milestone = %v1.0.0`
 
----vertical---
+---
 
 ### Application pour carnet de produit Scrum
 
@@ -92,13 +85,12 @@ Pour limiter à un ou plusieurs :
 
 => Permet de glisser-déposer les tickets dans les bacs (plus rapide que de modifier les tickets)
 
----vertical---
-
 ## Ses tickets
 
 Raccourci vers le tableau des tickets avec tous les tickets auxquels on est affectés : pour avoir l'ensemble des tâches à accomplir.
 
 Tri par :
+
 - date de dernière mise à jour
 - priorité
 - ...
diff --git a/04_avance_bonnes_pratiques/01_06_topic.md b/04_avance_bonnes_pratiques/01_06_topic.qmd
similarity index 64%
rename from 04_avance_bonnes_pratiques/01_06_topic.md
rename to 04_avance_bonnes_pratiques/01_06_topic.qmd
index 296e1a8..d6899d9 100644
--- a/04_avance_bonnes_pratiques/01_06_topic.md
+++ b/04_avance_bonnes_pratiques/01_06_topic.qmd
@@ -1,3 +1 @@
----slide---
-
 # Étiquetter un projet
diff --git a/04_avance_bonnes_pratiques/01_07_pipeline.md b/04_avance_bonnes_pratiques/01_07_pipeline.qmd
similarity index 94%
rename from 04_avance_bonnes_pratiques/01_07_pipeline.md
rename to 04_avance_bonnes_pratiques/01_07_pipeline.qmd
index 3bff4bb..c82968b 100644
--- a/04_avance_bonnes_pratiques/01_07_pipeline.md
+++ b/04_avance_bonnes_pratiques/01_07_pipeline.qmd
@@ -1,19 +1,13 @@
----slide---
-
 # *Pipeline*
 
 Successions d'étapes dans l'intégration continue ou dans le déploiement continu.
 
----vertical---
-
 ## Intégration continue
 
 Ensemble de pratiques utilisées en génie logiciel consistant à vérifier à chaque modification de code source que le résultat des modifications ne produit pas de régression dans l'application développée.
 
 Le principal but de cette pratique est de détecter les problèmes d'intégration au plus tôt lors du développement. De plus, elle permet d'automatiser l'exécution des suites de tests et de voir l'évolution du développement du logiciel. 
 
----vertical---
-
 ## Livraison continue
 
 Déploiement à chaque modification de code source du résultat de la construction du projet (publication du logiciel empaqueté, mise en ligne d'un site web...).
diff --git a/04_avance_bonnes_pratiques/01_08_runner.md b/04_avance_bonnes_pratiques/01_08_runner.qmd
similarity index 75%
rename from 04_avance_bonnes_pratiques/01_08_runner.md
rename to 04_avance_bonnes_pratiques/01_08_runner.qmd
index fea5f1d..dc582f8 100644
--- a/04_avance_bonnes_pratiques/01_08_runner.md
+++ b/04_avance_bonnes_pratiques/01_08_runner.qmd
@@ -1,3 +1 @@
----slide---
-
 # Cas d'utilisation des *runners* maison
diff --git a/04_avance_bonnes_pratiques/01_10_mattermost.md b/04_avance_bonnes_pratiques/01_10_mattermost.qmd
similarity index 69%
rename from 04_avance_bonnes_pratiques/01_10_mattermost.md
rename to 04_avance_bonnes_pratiques/01_10_mattermost.qmd
index f68d7e9..20d5d5c 100644
--- a/04_avance_bonnes_pratiques/01_10_mattermost.md
+++ b/04_avance_bonnes_pratiques/01_10_mattermost.qmd
@@ -1,3 +1 @@
----slide---
-
 # Intégratiion à Mattermost
diff --git a/04_avance_bonnes_pratiques/02_00_git.md b/04_avance_bonnes_pratiques/02_00_git.qmd
similarity index 79%
rename from 04_avance_bonnes_pratiques/02_00_git.md
rename to 04_avance_bonnes_pratiques/02_00_git.qmd
index d01b5c8..0a233ca 100644
--- a/04_avance_bonnes_pratiques/02_00_git.md
+++ b/04_avance_bonnes_pratiques/02_00_git.qmd
@@ -1,3 +1 @@
----slide---
-
 # Git : fonctionnalités particulières et astuces
diff --git a/04_avance_bonnes_pratiques/02_01_hook.md b/04_avance_bonnes_pratiques/02_01_hook.md
deleted file mode 100644
index 5f243f5..0000000
--- a/04_avance_bonnes_pratiques/02_01_hook.md
+++ /dev/null
@@ -1,5 +0,0 @@
----slide---
-
-# Crochets Git
-
-Note: https://git-scm.com/book/fr/v2/Personnalisation-de-Git-Crochets-Git
diff --git a/04_avance_bonnes_pratiques/02_01_hook.qmd b/04_avance_bonnes_pratiques/02_01_hook.qmd
new file mode 100644
index 0000000..914b650
--- /dev/null
+++ b/04_avance_bonnes_pratiques/02_01_hook.qmd
@@ -0,0 +1,5 @@
+# Crochets Git
+
+::: {.notes}
+https://git-scm.com/book/fr/v2/Personnalisation-de-Git-Crochets-Git
+:::
diff --git a/04_avance_bonnes_pratiques/02_02_alias.md b/04_avance_bonnes_pratiques/02_02_alias.qmd
similarity index 84%
rename from 04_avance_bonnes_pratiques/02_02_alias.md
rename to 04_avance_bonnes_pratiques/02_02_alias.qmd
index 616f0d4..6fd55c7 100644
--- a/04_avance_bonnes_pratiques/02_02_alias.md
+++ b/04_avance_bonnes_pratiques/02_02_alias.qmd
@@ -1,16 +1,14 @@
----slide---
-
 # Alias de commande
 
 Objet : rendre l'utilisation de Git plus simple, facile ou familier.
 
----vertical---
+---
 
 **Exemple :** pour désindexer un fichier, on utilise la commande
 
 ```
 git reset HEAD mon_fichier.txt
-```.
+```
 
 Configurer un alias avec
 
@@ -18,9 +16,13 @@ Configurer un alias avec
 git config --global alias.unstage 'reset HEAD --'
 ```
 
-permet d'utiliser la commande `git unstage mon_fichier.txt`.
+permet d'utiliser la commande
+
+```
+git unstage mon_fichier.txt
+```
 
----vertical---
+---
 
 **Exemple :** mettre en forme l'affichage de l'historique :
 
@@ -37,4 +39,6 @@ git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Crese
 * e50c200 - Amélioration de la formulation des mauvais cas d’utilisation (il y a 7 mois) <Jean-Baptiste Louvet>
 ```
 
-Note: https://git-scm.com/book/fr/v2/Les-bases-de-Git-Les-alias-Git
+::: {.notes}
+https://git-scm.com/book/fr/v2/Les-bases-de-Git-Les-alias-Git
+:::
diff --git a/04_avance_bonnes_pratiques/02_03_cherry-pick.md b/04_avance_bonnes_pratiques/02_03_cherry-pick.qmd
similarity index 63%
rename from 04_avance_bonnes_pratiques/02_03_cherry-pick.md
rename to 04_avance_bonnes_pratiques/02_03_cherry-pick.qmd
index 0a953ac..478cafc 100644
--- a/04_avance_bonnes_pratiques/02_03_cherry-pick.md
+++ b/04_avance_bonnes_pratiques/02_03_cherry-pick.qmd
@@ -1,7 +1,7 @@
----slide---
-
 # `git cherry-pick`
 
 Appliquer les modifications introduites par certains commits existants sur la branche.
 
-Note: https://git-scm.com/docs/git-cherry-pick/fr
+::: {.notes}
+https://git-scm.com/docs/git-cherry-pick/fr
+:::
diff --git a/04_avance_bonnes_pratiques/02_04_rebase-i.md b/04_avance_bonnes_pratiques/02_04_rebase-i.md
deleted file mode 100644
index c3480a0..0000000
--- a/04_avance_bonnes_pratiques/02_04_rebase-i.md
+++ /dev/null
@@ -1,5 +0,0 @@
----slide---
-
-# `git rebase --interactive`
-
-Note: https://git-scm.com/docs/git-rebase https://git-scm.com/book/fr/v2/Les-branches-avec-Git-Rebaser-Rebasing
diff --git a/04_avance_bonnes_pratiques/02_04_rebase-i.qmd b/04_avance_bonnes_pratiques/02_04_rebase-i.qmd
new file mode 100644
index 0000000..a9b7d6b
--- /dev/null
+++ b/04_avance_bonnes_pratiques/02_04_rebase-i.qmd
@@ -0,0 +1,5 @@
+# `git rebase --interactive`
+
+::: {.notes}
+https://git-scm.com/docs/git-rebase https://git-scm.com/book/fr/v2/Les-branches-avec-Git-Rebaser-Rebasing
+:::
diff --git a/04_avance_bonnes_pratiques/02_05_bisect.md b/04_avance_bonnes_pratiques/02_05_bisect.md
deleted file mode 100644
index 164ce10..0000000
--- a/04_avance_bonnes_pratiques/02_05_bisect.md
+++ /dev/null
@@ -1,5 +0,0 @@
----slide---
-
-# `git bisect`
-
-Note: https://git-scm.com/docs/git-bisect/fr
diff --git a/04_avance_bonnes_pratiques/02_05_bisect.qmd b/04_avance_bonnes_pratiques/02_05_bisect.qmd
new file mode 100644
index 0000000..078160e
--- /dev/null
+++ b/04_avance_bonnes_pratiques/02_05_bisect.qmd
@@ -0,0 +1,5 @@
+# `git bisect`
+
+::: {.notes}
+https://git-scm.com/docs/git-bisect/fr
+:::
diff --git a/04_avance_bonnes_pratiques/03_00_bonnes_pratiques.md b/04_avance_bonnes_pratiques/03_00_bonnes_pratiques.qmd
similarity index 59%
rename from 04_avance_bonnes_pratiques/03_00_bonnes_pratiques.md
rename to 04_avance_bonnes_pratiques/03_00_bonnes_pratiques.qmd
index 21f5322..f45a7af 100644
--- a/04_avance_bonnes_pratiques/03_00_bonnes_pratiques.md
+++ b/04_avance_bonnes_pratiques/03_00_bonnes_pratiques.qmd
@@ -1,3 +1 @@
----slide---
-
 # Bonnes pratiques
diff --git a/04_avance_bonnes_pratiques/03_01_pourquoi.md b/04_avance_bonnes_pratiques/03_01_pourquoi.qmd
similarity index 75%
rename from 04_avance_bonnes_pratiques/03_01_pourquoi.md
rename to 04_avance_bonnes_pratiques/03_01_pourquoi.qmd
index 51e1b99..71d53bd 100644
--- a/04_avance_bonnes_pratiques/03_01_pourquoi.md
+++ b/04_avance_bonnes_pratiques/03_01_pourquoi.qmd
@@ -1,3 +1 @@
----slide---
-
 # Pourquoi suivre les bonnes pratiques ?
diff --git a/04_avance_bonnes_pratiques/03_02_processus.md b/04_avance_bonnes_pratiques/03_02_processus.qmd
similarity index 79%
rename from 04_avance_bonnes_pratiques/03_02_processus.md
rename to 04_avance_bonnes_pratiques/03_02_processus.qmd
index 34102e0..ccac20b 100644
--- a/04_avance_bonnes_pratiques/03_02_processus.md
+++ b/04_avance_bonnes_pratiques/03_02_processus.qmd
@@ -1,3 +1 @@
----slide---
-
 # Présentation d'un processus de développement
diff --git a/04_avance_bonnes_pratiques/03_03_structuration.md b/04_avance_bonnes_pratiques/03_03_structuration.qmd
similarity index 70%
rename from 04_avance_bonnes_pratiques/03_03_structuration.md
rename to 04_avance_bonnes_pratiques/03_03_structuration.qmd
index 640247e..365dbd0 100644
--- a/04_avance_bonnes_pratiques/03_03_structuration.md
+++ b/04_avance_bonnes_pratiques/03_03_structuration.qmd
@@ -1,9 +1,5 @@
----slide---
-
 # Structurer son code
 
----vertical---
-
 ## Utiliser des analyseurs de code
 
 *linter*
diff --git a/04_avance_bonnes_pratiques/03_04_test.md b/04_avance_bonnes_pratiques/03_04_test.qmd
similarity index 61%
rename from 04_avance_bonnes_pratiques/03_04_test.md
rename to 04_avance_bonnes_pratiques/03_04_test.qmd
index 8fcc6dc..8bb7b53 100644
--- a/04_avance_bonnes_pratiques/03_04_test.md
+++ b/04_avance_bonnes_pratiques/03_04_test.qmd
@@ -1,11 +1,5 @@
----slide---
-
 # Tester son code
 
----vertical---
-
 ## Pourquoi tester
 
----vertical---
-
 ## Les différents types de tests
diff --git a/04_avance_bonnes_pratiques/03_05_environnement_virtuel.md b/04_avance_bonnes_pratiques/03_05_environnement_virtuel.qmd
similarity index 75%
rename from 04_avance_bonnes_pratiques/03_05_environnement_virtuel.md
rename to 04_avance_bonnes_pratiques/03_05_environnement_virtuel.qmd
index 102721e..3015dfe 100644
--- a/04_avance_bonnes_pratiques/03_05_environnement_virtuel.md
+++ b/04_avance_bonnes_pratiques/03_05_environnement_virtuel.qmd
@@ -1,3 +1 @@
----slide---
-
 # Utiliser des environnements virtuels
diff --git a/04_avance_bonnes_pratiques/03_06_dependances.md b/04_avance_bonnes_pratiques/03_06_dependances.md
deleted file mode 100644
index 6e54939..0000000
--- a/04_avance_bonnes_pratiques/03_06_dependances.md
+++ /dev/null
@@ -1,3 +0,0 @@
----slide---
-
-# Gérer ses dépendances dans Git
diff --git a/04_avance_bonnes_pratiques/03_06_dependances.qmd b/04_avance_bonnes_pratiques/03_06_dependances.qmd
new file mode 100644
index 0000000..4ecadb6
--- /dev/null
+++ b/04_avance_bonnes_pratiques/03_06_dependances.qmd
@@ -0,0 +1 @@
+# Gérer ses dépendances dans son dépôt Git
diff --git a/04_avance_bonnes_pratiques/03_07_documentation.md b/04_avance_bonnes_pratiques/03_07_documentation.qmd
similarity index 80%
rename from 04_avance_bonnes_pratiques/03_07_documentation.md
rename to 04_avance_bonnes_pratiques/03_07_documentation.qmd
index becbda9..dbd27e7 100644
--- a/04_avance_bonnes_pratiques/03_07_documentation.md
+++ b/04_avance_bonnes_pratiques/03_07_documentation.qmd
@@ -1,16 +1,10 @@
----slide---
-
 # Documenter son code
 
----vertical---
-
 ## Documenter les fonctions, modules...
 
----vertical---
-
 ## Documnenter son projet
 
----vertical---
+---
 
 ### Fichier README et autres fichiers recommandés
 
diff --git a/04_avance_bonnes_pratiques/04_00_ouverture.md b/04_avance_bonnes_pratiques/04_00_ouverture.qmd
similarity index 70%
rename from 04_avance_bonnes_pratiques/04_00_ouverture.md
rename to 04_avance_bonnes_pratiques/04_00_ouverture.qmd
index 5228de1..7701a8e 100644
--- a/04_avance_bonnes_pratiques/04_00_ouverture.md
+++ b/04_avance_bonnes_pratiques/04_00_ouverture.qmd
@@ -1,3 +1 @@
----slide---
-
 # Licence et ouverture du code
diff --git a/04_avance_bonnes_pratiques/04_01_publication.md b/04_avance_bonnes_pratiques/04_01_publication.qmd
similarity index 59%
rename from 04_avance_bonnes_pratiques/04_01_publication.md
rename to 04_avance_bonnes_pratiques/04_01_publication.qmd
index af5f17f..ad7aa48 100644
--- a/04_avance_bonnes_pratiques/04_01_publication.md
+++ b/04_avance_bonnes_pratiques/04_01_publication.qmd
@@ -1,3 +1 @@
----slide---
-
 # Publier son code
diff --git a/04_avance_bonnes_pratiques/04_02_choix_licence_gitlab.md b/04_avance_bonnes_pratiques/04_02_choix_licence_gitlab.qmd
similarity index 76%
rename from 04_avance_bonnes_pratiques/04_02_choix_licence_gitlab.md
rename to 04_avance_bonnes_pratiques/04_02_choix_licence_gitlab.qmd
index bacd60a..aeb543d 100644
--- a/04_avance_bonnes_pratiques/04_02_choix_licence_gitlab.md
+++ b/04_avance_bonnes_pratiques/04_02_choix_licence_gitlab.qmd
@@ -1,3 +1 @@
----slide---
-
 # Utiliser GitLab pour choisir une licence
diff --git a/04_avance_bonnes_pratiques/04_03_software_heritage.md b/04_avance_bonnes_pratiques/04_03_software_heritage.qmd
similarity index 60%
rename from 04_avance_bonnes_pratiques/04_03_software_heritage.md
rename to 04_avance_bonnes_pratiques/04_03_software_heritage.qmd
index fb40889..8bc5a27 100644
--- a/04_avance_bonnes_pratiques/04_03_software_heritage.md
+++ b/04_avance_bonnes_pratiques/04_03_software_heritage.qmd
@@ -1,3 +1 @@
----slide---
-
 # Software Heritage
diff --git a/04_avance_bonnes_pratiques/04_04_oscar.md b/04_avance_bonnes_pratiques/04_04_oscar.md
deleted file mode 100644
index 60c7b07..0000000
--- a/04_avance_bonnes_pratiques/04_04_oscar.md
+++ /dev/null
@@ -1,3 +0,0 @@
----slide---
-
-# Module de formation Oscar
diff --git a/04_avance_bonnes_pratiques/04_04_oscar.qmd b/04_avance_bonnes_pratiques/04_04_oscar.qmd
new file mode 100644
index 0000000..59e848d
--- /dev/null
+++ b/04_avance_bonnes_pratiques/04_04_oscar.qmd
@@ -0,0 +1,9 @@
+# Module de formation Oscar
+
+3 modules sont disponibles :
+
+- Les fondamentaux de la science ouverte,
+- Gestion et partage des données,
+- Publication ouverte.
+
+OSCAR est accessible [ici](https://elearning.formation-permanente.inrae.fr/course/view.php?id=668).
\ No newline at end of file
diff --git a/04_avance_bonnes_pratiques/index.qmd b/04_avance_bonnes_pratiques/index.qmd
new file mode 100644
index 0000000..fc97715
--- /dev/null
+++ b/04_avance_bonnes_pratiques/index.qmd
@@ -0,0 +1,44 @@
+---
+title: "Session 4 : GitLab et Git avancés et bonnes pratiques"
+format: 
+  revealjs:
+    footer: "Formation Git / Gitlab Session 4 : GitLab et Git avancés et bonnes pratiques"
+    slide-number: true
+    show-slide-number: all
+editor: visual
+---
+
+{{< include 00_00_introduction.qmd >}}
+
+{{< include 01_00_gitlab.qmd >}}
+{{< include 01_01_gflm.qmd >}}
+{{< include 01_02_release.qmd >}}
+{{< include 01_03_issue_template.qmd >}}
+{{< include 01_04_groupe.qmd >}}
+{{< include 01_05_planification.qmd >}}
+{{< include 01_06_topic.qmd >}}
+{{< include 01_07_pipeline.qmd >}}
+{{< include 01_08_runner.qmd >}}
+{{< include 01_10_mattermost.qmd >}}
+
+{{< include 02_00_git.qmd >}}
+{{< include 02_01_hook.qmd >}}
+{{< include 02_02_alias.qmd >}}
+{{< include 02_03_cherry-pick.qmd >}}
+{{< include 02_04_rebase-i.qmd >}}
+{{< include 02_05_bisect.qmd >}}
+
+{{< include 03_00_bonnes_pratiques.qmd >}}
+{{< include 03_01_pourquoi.qmd >}}
+{{< include 03_02_processus.qmd >}}
+{{< include 03_03_structuration.qmd >}}
+{{< include 03_04_test.qmd >}}
+{{< include 03_05_environnement_virtuel.qmd >}}
+{{< include 03_06_dependances.qmd >}}
+{{< include 03_07_documentation.qmd >}}
+
+{{< include 04_00_ouverture.qmd >}}
+{{< include 04_01_publication.qmd >}}
+{{< include 04_02_choix_licence_gitlab.qmd >}}
+{{< include 04_03_software_heritage.qmd >}}
+{{< include 04_04_oscar.qmd >}}
-- 
GitLab


From a248e822e1bc3702915f8b4913c91c1b5a4894c5 Mon Sep 17 00:00:00 2001
From: Olivier Maury <Olivier.Maury@inrae.fr>
Date: Wed, 22 May 2024 16:14:54 +0200
Subject: [PATCH 06/21] Remarques de Philippe.

https://forgemia.inra.fr/git-gitlab-paca/support-de-formation/-/issues/32#note_228351
---
 04_avance_bonnes_pratiques/01_06_topic.qmd         |  2 ++
 04_avance_bonnes_pratiques/01_07_pipeline.qmd      | 14 +++++++++++++-
 .../04_02_choix_licence_gitlab.qmd                 |  6 ++++++
 04_avance_bonnes_pratiques/04_04_oscar.qmd         |  4 +++-
 4 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/04_avance_bonnes_pratiques/01_06_topic.qmd b/04_avance_bonnes_pratiques/01_06_topic.qmd
index d6899d9..c1c7981 100644
--- a/04_avance_bonnes_pratiques/01_06_topic.qmd
+++ b/04_avance_bonnes_pratiques/01_06_topic.qmd
@@ -1 +1,3 @@
 # Étiquetter un projet
+
+Objectif : favoriser la recherche dans les projets
\ No newline at end of file
diff --git a/04_avance_bonnes_pratiques/01_07_pipeline.qmd b/04_avance_bonnes_pratiques/01_07_pipeline.qmd
index c82968b..57cf308 100644
--- a/04_avance_bonnes_pratiques/01_07_pipeline.qmd
+++ b/04_avance_bonnes_pratiques/01_07_pipeline.qmd
@@ -8,6 +8,18 @@ Ensemble de pratiques utilisées en génie logiciel consistant à vérifier à c
 
 Le principal but de cette pratique est de détecter les problèmes d'intégration au plus tôt lors du développement. De plus, elle permet d'automatiser l'exécution des suites de tests et de voir l'évolution du développement du logiciel. 
 
+---
+
+Exemples :
+
+- exécution automatique des tests
+- construction (compilation, empaquetage) de logiciels
+
 ## Livraison continue
 
-Déploiement à chaque modification de code source du résultat de la construction du projet (publication du logiciel empaqueté, mise en ligne d'un site web...).
+Déploiement à chaque modification de code source du résultat de la construction du projet.
+
+Exemples :
+
+- publication du logiciel empaqueté,
+- mise en ligne d'un site web...
diff --git a/04_avance_bonnes_pratiques/04_02_choix_licence_gitlab.qmd b/04_avance_bonnes_pratiques/04_02_choix_licence_gitlab.qmd
index aeb543d..86e0fe4 100644
--- a/04_avance_bonnes_pratiques/04_02_choix_licence_gitlab.qmd
+++ b/04_avance_bonnes_pratiques/04_02_choix_licence_gitlab.qmd
@@ -1 +1,7 @@
 # Utiliser GitLab pour choisir une licence
+
+
+NB :
+
+- exigences État et INRAE en matière de licence
+- attention aux contributions des stagiaires
\ No newline at end of file
diff --git a/04_avance_bonnes_pratiques/04_04_oscar.qmd b/04_avance_bonnes_pratiques/04_04_oscar.qmd
index 59e848d..47cff31 100644
--- a/04_avance_bonnes_pratiques/04_04_oscar.qmd
+++ b/04_avance_bonnes_pratiques/04_04_oscar.qmd
@@ -1,4 +1,6 @@
-# Module de formation Oscar
+# Ressources complémentaires
+
+## Module de formation Oscar
 
 3 modules sont disponibles :
 
-- 
GitLab


From 8013ae5745b8ab284bbe1c38259b3dc101ebf491 Mon Sep 17 00:00:00 2001
From: Olivier Maury <olivier.maury@inrae.fr>
Date: Mon, 22 Jul 2024 17:22:25 +0200
Subject: [PATCH 07/21] Update 03_03_structuration.qmd

---
 04_avance_bonnes_pratiques/03_03_structuration.qmd | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/04_avance_bonnes_pratiques/03_03_structuration.qmd b/04_avance_bonnes_pratiques/03_03_structuration.qmd
index 365dbd0..a5852ff 100644
--- a/04_avance_bonnes_pratiques/03_03_structuration.qmd
+++ b/04_avance_bonnes_pratiques/03_03_structuration.qmd
@@ -2,4 +2,9 @@
 
 ## Utiliser des analyseurs de code
 
-*linter*
+*linter* : outil de contrôle (et suggestions et corrections) pour la qualité de code
+
+- * : [SonarLint](https://www.sonarsource.com/products/sonarlint/)
+- Java : [checkstyle](https://checkstyle.org/), [PMD](https://pmd.github.io/),
+- Python : Flake8, isort, Black, [Ruff](https://astral.sh/ruff)
+- Rust : [clippy](https://doc.rust-lang.org/clippy/)
\ No newline at end of file
-- 
GitLab


From e988624a8fb437bc903df5ac7505e35d39d54ae9 Mon Sep 17 00:00:00 2001
From: Olivier Maury <Olivier.Maury@inrae.fr>
Date: Mon, 5 Aug 2024 09:32:02 +0200
Subject: [PATCH 08/21] Diapo documentation

---
 .../03_07_documentation.qmd                   | 110 +++++++++++++++++-
 1 file changed, 104 insertions(+), 6 deletions(-)

diff --git a/04_avance_bonnes_pratiques/03_07_documentation.qmd b/04_avance_bonnes_pratiques/03_07_documentation.qmd
index dbd27e7..6cdd7a7 100644
--- a/04_avance_bonnes_pratiques/03_07_documentation.qmd
+++ b/04_avance_bonnes_pratiques/03_07_documentation.qmd
@@ -1,13 +1,111 @@
-# Documenter son code
+# Documenter
 
-## Documenter les fonctions, modules...
+La documentation fait partie du processus de développement.
 
-## Documnenter son projet
+Une documentation utile est facilement maintenue par toute l'équipe.
+
+Différents types de documentation sont à écrire selon le projet :
+exigences du système, conception, vision, portée, cas d'utilisation, schémas, diagrammes de flux, documentation utilisateur, documentation du code…
+
+À choisir selon les besoin.
+
+## Documenter le code
+
+### Pourquoi documenter son code ?
+
+* reproductibilité
+* principes FAIR (*findable*, *accessible*, *interopable*, *reusable*)
+* rendre réutilisable pour d'autres, notamment vous dans le futur !
+
+NB : plus de temps est passé à reprendre un code qu'à l'écrire.
+
+### Comment documenter ?
+
+Règles documenter un logiciel scientifique, selon [Lee et al. 2018](https://doi.org/10.1371/journal.pcbi.1006561) :
+
+* écrire les commentaires en même temps que le code
+* ajouter un fichier README (voir plus loin)
+* utiliser un gestionnaire de version aussi pour la documentation
+* utiliser des outils automatiques de documentation (voir plus loin)
+* écrire des messages d'erreur qui fournissent des solutions ou pointent vers la documentation
+
+### Que documenter ?
+
+Toujours documenter les blocs de code délicats, fonctions, classes, fichiers, modules, données d'entrée d'exemple… selon les normes du langage :
+
+* Java : JavaDoc
+* R : roxygen2
+* paquet R : vignette en RMarkdown, site web (*GitLab Pages*)
+
+Utiliser des noms de variables et de fonction les plus explicites.
+S'il faut documenter les variables, c'est peut-être qu'il faut les renommer. Exemples :
+
+* `plant_metadata` au lieu de `df`
+* `data_cleaned` au lieu de `df2`
+
+Préciser le périmètre, les entrées, les sorties, les unités.
+
+Exemple de documentation *roxygen2*
+
+```r
+#' Add together two numbers.
+#' 
+#' @param x A number.
+#' @param y A number.
+#' @return The sum of \code{x} and \code{y}.
+#' @examples
+#' add(1, 1)
+#' add(10, 1)
+add <- function(x, y) {
+   x + y
+}
+```
+
+- [Mastering Software Development in R − Documentation](https://bookdown.org/rdpeng/RProgDA/documentation.html)
+
+## Documenter son projet
 
 ---
 
-### Fichier README et autres fichiers recommandés
+### Décisions techniques
+
+Arbitrages et raisons des choix techniques et architecturaux réalisés.
+
+Exemple de structuation : [MADR − Markdown Architectural Decision Records](https://adr.github.io/madr/)
+
+### Fichier README
+
+Fichier texte `README` (format Markdown ou texte simple).
+Point d'entrée par convention pour se renseigner sur un projet et utiliser le projet.
+
+Exemple de structuration : titre, description, fonctionnalités, dépendances techniques, installations, exemples d'utilisation.
+
+Outil en ligne pour la mise en forme : https://readmi.xyz/
+
+### Autres fichiers recommandés
+
+(extensions : aucune, `.txt` ou `.md`)
+
+- `AUTHORS` : liste des auteurs principaux et des contributeurs, les contributeurs peuvent être séparés dans `CONTRIBUTORS`
+- `CONTRIBUTING` : guide pour contribuer au projet
+- `LICENCE` : fichier texte avec la licence choisie
+
+Mais aussi :
+
+- `CHANGELOG` : les changements apportés dans chaque version
+- `SUPPORT` : explications pour obtenir de l'aide sur le dépôt de code
+- `SECURITY`, `CODE_OF_CONDUCT`, `ACKNOWLEDGMENTS`, `CODEOWNERS`, `FUNDING`
+
+### Fichiers pour le moissonnage des projets
+
+- [`CITATION.cff`](https://citation-file-format.github.io/) : texte de la citation pour le code,
+- [`codemeta.json`](https://codemeta.github.io/) : moissonnage par *Software Heritage*,
+- [`publiccode.yml`](https://docs.italia.it/italia/developers-italia/publiccodeyml-en/) : obligatoire pour les logiciels publics en Italie, utilisé par [code.gouv.fr](https://github.com/codegouvfr/awesome-codegouvfr/blob/main/README.fr.md).
+
+Voir les consignes *Software Heritage* plus loin.
 
-Point d'entrée par convention pour se renseigner sur un projet.
+- Formulaire en ligne pour générer `codemeta.json` : https://codemeta.github.io/codemeta-generator/
+- Formulaire en ligne pour générer `publiccode.yml` : https://publiccode-editor.etalab.studio/
+- Outil pour générer `publiccode.yml` : https://github.com/codegouvfr/awesome-codegouvfr-tooling
+- S'appuyer sur le standard `publiccode.yml` : https://github.com/publiccodeyml/publiccode.yml
 
-AUTHORS, CONTRIBUTING, LICENCE…
-- 
GitLab


From 7df5e67eec6964b92fca5865878b0cc4f336968e Mon Sep 17 00:00:00 2001
From: Olivier Maury <Olivier.Maury@inrae.fr>
Date: Mon, 5 Aug 2024 17:21:59 +0200
Subject: [PATCH 09/21] Diapo documentation

---
 04_avance_bonnes_pratiques/03_07_documentation.qmd | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/04_avance_bonnes_pratiques/03_07_documentation.qmd b/04_avance_bonnes_pratiques/03_07_documentation.qmd
index 6cdd7a7..f4ceb41 100644
--- a/04_avance_bonnes_pratiques/03_07_documentation.qmd
+++ b/04_avance_bonnes_pratiques/03_07_documentation.qmd
@@ -1,13 +1,17 @@
 # Documenter
 
 La documentation fait partie du processus de développement.
+Elle doit être considérée comme le code et les tests et écrite lorsque la connaissance est acquise.
 
 Une documentation utile est facilement maintenue par toute l'équipe.
+Une documentation à jour est utilisable pour le développement et l'utisation du code.
 
-Différents types de documentation sont à écrire selon le projet :
-exigences du système, conception, vision, portée, cas d'utilisation, schémas, diagrammes de flux, documentation utilisateur, documentation du code…
+Plusieurs types de documentation
 
-À choisir selon les besoin.
+- dans le code (commentaires)
+- documentation générale, à choisir selon les besoins du projet :
+  exigences du système, conception, vision, portée, cas d'utilisation, schémas, diagrammes de flux, documentation utilisateur, documentation du code…
+- documentation du projet
 
 ## Documenter le code
 
@@ -23,12 +27,14 @@ NB : plus de temps est passé à reprendre un code qu'à l'écrire.
 
 Règles documenter un logiciel scientifique, selon [Lee et al. 2018](https://doi.org/10.1371/journal.pcbi.1006561) :
 
-* écrire les commentaires en même temps que le code
+* écrire et modifier les commentaires en même temps que le code
 * ajouter un fichier README (voir plus loin)
 * utiliser un gestionnaire de version aussi pour la documentation
 * utiliser des outils automatiques de documentation (voir plus loin)
 * écrire des messages d'erreur qui fournissent des solutions ou pointent vers la documentation
 
+Intégrer la génération de la documentation dans le processus d'intégration et de déploiement continus (CI/CD).
+
 ### Que documenter ?
 
 Toujours documenter les blocs de code délicats, fonctions, classes, fichiers, modules, données d'entrée d'exemple… selon les normes du langage :
-- 
GitLab


From b834dc0fb93b644a362f43b5bbe69daa108f90e5 Mon Sep 17 00:00:00 2001
From: Olivier Maury <Olivier.Maury@inrae.fr>
Date: Mon, 5 Aug 2024 17:52:01 +0200
Subject: [PATCH 10/21] Ajouter deux liens dans les ressources

---
 04_avance_bonnes_pratiques/04_04_oscar.qmd | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/04_avance_bonnes_pratiques/04_04_oscar.qmd b/04_avance_bonnes_pratiques/04_04_oscar.qmd
index 47cff31..7910017 100644
--- a/04_avance_bonnes_pratiques/04_04_oscar.qmd
+++ b/04_avance_bonnes_pratiques/04_04_oscar.qmd
@@ -1,5 +1,8 @@
 # Ressources complémentaires
 
+- [Bonnes pratiques GitLab pour l'ESR](https://coso-college-codes-sources-et-logiciels.pages.in2p3.fr/handbook/)
+- [Documentation de la forge logicielle GitLab du CIRAD](https://gitlab.cirad.fr/cirad/documentation)
+
 ## Module de formation Oscar
 
 3 modules sont disponibles :
@@ -8,4 +11,4 @@
 - Gestion et partage des données,
 - Publication ouverte.
 
-OSCAR est accessible [ici](https://elearning.formation-permanente.inrae.fr/course/view.php?id=668).
\ No newline at end of file
+OSCAR est accessible [ici](https://elearning.formation-permanente.inrae.fr/course/view.php?id=668).
-- 
GitLab


From 9764e2db0580e8a4109c577c7642bc47e5aad6a6 Mon Sep 17 00:00:00 2001
From: Olivier Maury <Olivier.Maury@inrae.fr>
Date: Tue, 6 Aug 2024 15:00:41 +0200
Subject: [PATCH 11/21] CI/CD

---
 04_avance_bonnes_pratiques/.gitignore |  2 ++
 Makefile                              | 11 +++++++----
 2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/04_avance_bonnes_pratiques/.gitignore b/04_avance_bonnes_pratiques/.gitignore
index 2d19fc7..5c86aa4 100644
--- a/04_avance_bonnes_pratiques/.gitignore
+++ b/04_avance_bonnes_pratiques/.gitignore
@@ -1 +1,3 @@
 *.html
+
+/.quarto/
diff --git a/Makefile b/Makefile
index 79448a7..1f8b748 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,10 @@
 SHELL := /usr/bin/env bash
 
 BUILD_DIR := public
-SESSIONS := 01_initiation 02_gitlab_depot_distant 03_branches 04_avance_bonnes_pratiques
+SESSION4 := 04_avance_bonnes_pratiques
+SESSION4_DIR := $(BUILD_DIR)/$(SESSION4)
+SESSION4_INDEX := $(SESSION4_DIR)/index.html
+SESSIONS := 01_initiation 02_gitlab_depot_distant 03_branches
 SESSION_DIRS := $(SESSIONS:%=$(BUILD_DIR)/%)
 INDEXES := $(SESSIONS:%=$(BUILD_DIR)/%/index.html)
 
@@ -12,7 +15,7 @@ $(BUILD_DIR)/%/index.html:: %/index.qmd %/*.qmd
 	quarto render $< --output-dir $(BUILD_DIR)
 
 clean:
-	rm -fr $(SESSION_DIRS)
+	rm -fr $(SESSION_DIRS) $(SESSION4_DIR)
 
 run: build
 	(sleep 1 ; python3 -mwebbrowser http://0.0.0.0:8000/) &
@@ -27,5 +30,5 @@ public/02_gitlab_depot_distant/index.html::
 public/03_branches/index.html::
 	sed -i -e "s/SLIDESHOW_TITLE/Session 3 : les branches/g" $@
 
-public/04_avance_bonnes_pratiques/index.html::
-	sed -i -e "s/SLIDESHOW_TITLE/Session 4 : GitLab et Git avancés et bonnes pratiques/g" $@
+$(SESSION4_INDEX): $(SESSION4)/index.qmd
+	quarto render $< --output-dir $(SESSION4_DIR)
-- 
GitLab


From 6cf8a5800e882b26503d28946bd8f9a339a9edbb Mon Sep 17 00:00:00 2001
From: Olivier Maury <Olivier.Maury@inrae.fr>
Date: Mon, 2 Sep 2024 15:12:55 +0200
Subject: [PATCH 12/21] Typo

---
 04_avance_bonnes_pratiques/01_01_gflm.qmd     |  6 +-
 04_avance_bonnes_pratiques/01_07_pipeline.qmd | 11 +--
 .../02_03_cherry-pick.qmd                     |  2 +-
 .../03_07_documentation.qmd                   | 67 ++++++++++++-------
 4 files changed, 52 insertions(+), 34 deletions(-)

diff --git a/04_avance_bonnes_pratiques/01_01_gflm.qmd b/04_avance_bonnes_pratiques/01_01_gflm.qmd
index 4296025..f4a4cb4 100644
--- a/04_avance_bonnes_pratiques/01_01_gflm.qmd
+++ b/04_avance_bonnes_pratiques/01_01_gflm.qmd
@@ -1,6 +1,6 @@
-# Syntaxe Mardown dans GitLab
+# Syntaxe Markdown dans GitLab
 
-## Mardown ?
+## Markdown ?
 
 Format texte pour écrire des documents structurés, mise en forme de caractères, liens, images, citations, listes...
 
@@ -8,7 +8,7 @@ Utilisation pour : livres, articles, présentations (ce support de formation !),
 
 ## Markdown dans GitLab
 
-Version enrichie de la syntaxe d'origine : *GitLab Flavored Markdown* :
+Version enrichie de la syntaxe d’origine : *GitLab Flavored Markdown* :
 
 - spécification officielle de Markdown ([CommonMark](https://spec.commonmark.org/current/))
 - extensions de GitHub ([GFM](https://github.github.com/gfm/))
diff --git a/04_avance_bonnes_pratiques/01_07_pipeline.qmd b/04_avance_bonnes_pratiques/01_07_pipeline.qmd
index 57cf308..76327c6 100644
--- a/04_avance_bonnes_pratiques/01_07_pipeline.qmd
+++ b/04_avance_bonnes_pratiques/01_07_pipeline.qmd
@@ -1,12 +1,12 @@
 # *Pipeline*
 
-Successions d'étapes dans l'intégration continue ou dans le déploiement continu.
+Successions d’étapes dans l’intégration continue ou dans le déploiement continu.
 
 ## Intégration continue
 
-Ensemble de pratiques utilisées en génie logiciel consistant à vérifier à chaque modification de code source que le résultat des modifications ne produit pas de régression dans l'application développée.
+Ensemble de pratiques utilisées en génie logiciel consistant à vérifier à chaque modification de code source que le résultat des modifications ne produit pas de régression dans l’application développée.
 
-Le principal but de cette pratique est de détecter les problèmes d'intégration au plus tôt lors du développement. De plus, elle permet d'automatiser l'exécution des suites de tests et de voir l'évolution du développement du logiciel. 
+Le principal but de cette pratique est de détecter les problèmes d’intégration au plus tôt lors du développement. De plus, elle permet d’automatiser l’exécution des suites de tests et de voir l’évolution du développement du logiciel.
 
 ---
 
@@ -15,11 +15,12 @@ Exemples :
 - exécution automatique des tests
 - construction (compilation, empaquetage) de logiciels
 
-## Livraison continue
+## Déploiement continu
 
 Déploiement à chaque modification de code source du résultat de la construction du projet.
 
 Exemples :
 
 - publication du logiciel empaqueté,
-- mise en ligne d'un site web...
+- mise à disposition d'une bibliothèque logicielle,
+- mise en ligne d’un site web...
diff --git a/04_avance_bonnes_pratiques/02_03_cherry-pick.qmd b/04_avance_bonnes_pratiques/02_03_cherry-pick.qmd
index 478cafc..294a4de 100644
--- a/04_avance_bonnes_pratiques/02_03_cherry-pick.qmd
+++ b/04_avance_bonnes_pratiques/02_03_cherry-pick.qmd
@@ -1,6 +1,6 @@
 # `git cherry-pick`
 
-Appliquer les modifications introduites par certains commits existants sur la branche.
+Appliquer les modifications introduites par certains commits (d’une autre branche) existants sur la branche.
 
 ::: {.notes}
 https://git-scm.com/docs/git-cherry-pick/fr
diff --git a/04_avance_bonnes_pratiques/03_07_documentation.qmd b/04_avance_bonnes_pratiques/03_07_documentation.qmd
index f4ceb41..b4eaca7 100644
--- a/04_avance_bonnes_pratiques/03_07_documentation.qmd
+++ b/04_avance_bonnes_pratiques/03_07_documentation.qmd
@@ -3,14 +3,16 @@
 La documentation fait partie du processus de développement.
 Elle doit être considérée comme le code et les tests et écrite lorsque la connaissance est acquise.
 
-Une documentation utile est facilement maintenue par toute l'équipe.
-Une documentation à jour est utilisable pour le développement et l'utisation du code.
+Une documentation utile est facilement maintenue par toute l’équipe.
+Une documentation à jour est utilisable pour le développement et l’utisation du code.
+
+---
 
 Plusieurs types de documentation
 
 - dans le code (commentaires)
 - documentation générale, à choisir selon les besoins du projet :
-  exigences du système, conception, vision, portée, cas d'utilisation, schémas, diagrammes de flux, documentation utilisateur, documentation du code…
+  exigences du système, conception, vision, portée, cas d’utilisation, schémas, diagrammes de flux, documentation utilisateur, documentation du code…
 - documentation du projet
 
 ## Documenter le code
@@ -19,9 +21,11 @@ Plusieurs types de documentation
 
 * reproductibilité
 * principes FAIR (*findable*, *accessible*, *interopable*, *reusable*)
-* rendre réutilisable pour d'autres, notamment vous dans le futur !
+* rendre réutilisable pour d’autres, notamment vous dans le futur !
 
-NB : plus de temps est passé à reprendre un code qu'à l'écrire.
+NB : plus de temps est passé à reprendre un code qu’à l’écrire.
+
+---
 
 ### Comment documenter ?
 
@@ -31,37 +35,43 @@ Règles documenter un logiciel scientifique, selon [Lee et al. 2018](https://doi
 * ajouter un fichier README (voir plus loin)
 * utiliser un gestionnaire de version aussi pour la documentation
 * utiliser des outils automatiques de documentation (voir plus loin)
-* écrire des messages d'erreur qui fournissent des solutions ou pointent vers la documentation
+* écrire des messages d’erreur qui fournissent des solutions ou pointent vers la documentation
 
-Intégrer la génération de la documentation dans le processus d'intégration et de déploiement continus (CI/CD).
+Intégrer la génération de la documentation dans le processus d’intégration et de déploiement continus (CI/CD).
+
+---
 
 ### Que documenter ?
 
-Toujours documenter les blocs de code délicats, fonctions, classes, fichiers, modules, données d'entrée d'exemple… selon les normes du langage :
+Toujours documenter les blocs de code délicats, fonctions, classes, fichiers, modules, données d’entrée d’exemple… selon les normes du langage :
 
 * Java : JavaDoc
 * R : roxygen2
 * paquet R : vignette en RMarkdown, site web (*GitLab Pages*)
 
+---
+
 Utiliser des noms de variables et de fonction les plus explicites.
-S'il faut documenter les variables, c'est peut-être qu'il faut les renommer. Exemples :
+S’il faut documenter les variables, c’est peut-être qu’il faut les renommer. Exemples :
 
 * `plant_metadata` au lieu de `df`
 * `data_cleaned` au lieu de `df2`
 
 Préciser le périmètre, les entrées, les sorties, les unités.
 
+---
+
 Exemple de documentation *roxygen2*
 
 ```r
-#' Add together two numbers.
-#' 
-#' @param x A number.
-#' @param y A number.
-#' @return The sum of \code{x} and \code{y}.
-#' @examples
-#' add(1, 1)
-#' add(10, 1)
+#’ Add together two numbers.
+#’
+#’ @param x A number.
+#’ @param y A number.
+#’ @return The sum of \code{x} and \code{y}.
+#’ @examples
+#’ add(1, 1)
+#’ add(10, 1)
 add <- function(x, y) {
    x + y
 }
@@ -79,15 +89,19 @@ Arbitrages et raisons des choix techniques et architecturaux réalisés.
 
 Exemple de structuation : [MADR − Markdown Architectural Decision Records](https://adr.github.io/madr/)
 
+---
+
 ### Fichier README
 
 Fichier texte `README` (format Markdown ou texte simple).
-Point d'entrée par convention pour se renseigner sur un projet et utiliser le projet.
+Point d’entrée par convention pour se renseigner sur un projet et utiliser le projet.
 
-Exemple de structuration : titre, description, fonctionnalités, dépendances techniques, installations, exemples d'utilisation.
+Exemple de structuration : titre, description, fonctionnalités, dépendances techniques, installations, exemples d’utilisation.
 
 Outil en ligne pour la mise en forme : https://readmi.xyz/
 
+---
+
 ### Autres fichiers recommandés
 
 (extensions : aucune, `.txt` ou `.md`)
@@ -96,22 +110,25 @@ Outil en ligne pour la mise en forme : https://readmi.xyz/
 - `CONTRIBUTING` : guide pour contribuer au projet
 - `LICENCE` : fichier texte avec la licence choisie
 
+---
+
 Mais aussi :
 
 - `CHANGELOG` : les changements apportés dans chaque version
-- `SUPPORT` : explications pour obtenir de l'aide sur le dépôt de code
+- `SUPPORT` : explications pour obtenir de l’aide sur le dépôt de code
 - `SECURITY`, `CODE_OF_CONDUCT`, `ACKNOWLEDGMENTS`, `CODEOWNERS`, `FUNDING`
 
+---
+
 ### Fichiers pour le moissonnage des projets
 
 - [`CITATION.cff`](https://citation-file-format.github.io/) : texte de la citation pour le code,
 - [`codemeta.json`](https://codemeta.github.io/) : moissonnage par *Software Heritage*,
-- [`publiccode.yml`](https://docs.italia.it/italia/developers-italia/publiccodeyml-en/) : obligatoire pour les logiciels publics en Italie, utilisé par [code.gouv.fr](https://github.com/codegouvfr/awesome-codegouvfr/blob/main/README.fr.md).
+  [Formulaire en ligne](https://codemeta.github.io/codemeta-generator/),
+- [`publiccode.yml`](https://docs.italia.it/italia/developers-italia/publiccodeyml-en/) ([standard](https://github.com/publiccodeyml/publiccode.yml)) :
+  obligatoire pour les logiciels publics en Italie, utilisé par [code.gouv.fr](https://github.com/codegouvfr/awesome-codegouvfr/blob/main/README.fr.md) (voir [GitHub](https://github.com/codegouvfr/awesome-codegouvfr-tooling)),
+  [Formulaire en ligne](https://publiccode-editor.etalab.studio/).
 
 Voir les consignes *Software Heritage* plus loin.
 
-- Formulaire en ligne pour générer `codemeta.json` : https://codemeta.github.io/codemeta-generator/
-- Formulaire en ligne pour générer `publiccode.yml` : https://publiccode-editor.etalab.studio/
-- Outil pour générer `publiccode.yml` : https://github.com/codegouvfr/awesome-codegouvfr-tooling
-- S'appuyer sur le standard `publiccode.yml` : https://github.com/publiccodeyml/publiccode.yml
 
-- 
GitLab


From 0d5620b853fe06ff22167ce2aec9d53232fff38a Mon Sep 17 00:00:00 2001
From: Olivier Maury <Olivier.Maury@inrae.fr>
Date: Mon, 2 Sep 2024 15:58:54 +0200
Subject: [PATCH 13/21] =?UTF-8?q?Ajouter=20du=20contenur=20sur=20les=20bon?=
 =?UTF-8?q?nes=20pratiques,=20les=20tests=20et=20la=20gestion=20des=20d?=
 =?UTF-8?q?=C3=A9pendances?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../03_00_bonnes_pratiques.qmd                |  3 ++
 04_avance_bonnes_pratiques/03_01_pourquoi.qmd | 31 +++++++++++++++++-
 .../03_03_structuration.qmd                   |  3 +-
 04_avance_bonnes_pratiques/03_04_test.qmd     | 32 ++++++++++++++++++-
 .../03_06_dependances.qmd                     | 16 ++++++++++
 5 files changed, 82 insertions(+), 3 deletions(-)

diff --git a/04_avance_bonnes_pratiques/03_00_bonnes_pratiques.qmd b/04_avance_bonnes_pratiques/03_00_bonnes_pratiques.qmd
index f45a7af..778fba8 100644
--- a/04_avance_bonnes_pratiques/03_00_bonnes_pratiques.qmd
+++ b/04_avance_bonnes_pratiques/03_00_bonnes_pratiques.qmd
@@ -1 +1,4 @@
 # Bonnes pratiques
+
+Bon code : (répond aux besoins et est) maintenable, réutilisable et testable.
+
diff --git a/04_avance_bonnes_pratiques/03_01_pourquoi.qmd b/04_avance_bonnes_pratiques/03_01_pourquoi.qmd
index 71d53bd..8a7edc9 100644
--- a/04_avance_bonnes_pratiques/03_01_pourquoi.qmd
+++ b/04_avance_bonnes_pratiques/03_01_pourquoi.qmd
@@ -1 +1,30 @@
-# Pourquoi suivre les bonnes pratiques ?
+## Pourquoi suivre les bonnes pratiques ?
+
+### lisibilité
+
+- toujours penser aux lecteurs
+- utiliser des standards de codage pour unifier les pratiques
+
+---
+
+### clarté
+
+- utiliser un code générique, mais pas au dépend de la clarté
+- tirer avantages des fonctionnalités du langage et éviter les fonctionnalités ésotériques
+- sophistication entraîne complexité, veiller à ce que l'utilité dépasse le coût
+- ne pas dupliquer (*Don't Repeat Yourself*)
+- séparer par domaines (accès aux données, traitement, affichage...)
+- documenter
+
+::: {.notes}
+Les doublons augmentent aussi le nombre de bogues à corriger, réusiner fait donc gagner du temps.
+:::
+
+---
+
+### maintenir la qualité
+
+- automatiser les tests
+- automatiser les vérifications de code
+- automatiser la construction
+
diff --git a/04_avance_bonnes_pratiques/03_03_structuration.qmd b/04_avance_bonnes_pratiques/03_03_structuration.qmd
index a5852ff..18b4d41 100644
--- a/04_avance_bonnes_pratiques/03_03_structuration.qmd
+++ b/04_avance_bonnes_pratiques/03_03_structuration.qmd
@@ -7,4 +7,5 @@
 - * : [SonarLint](https://www.sonarsource.com/products/sonarlint/)
 - Java : [checkstyle](https://checkstyle.org/), [PMD](https://pmd.github.io/),
 - Python : Flake8, isort, Black, [Ruff](https://astral.sh/ruff)
-- Rust : [clippy](https://doc.rust-lang.org/clippy/)
\ No newline at end of file
+- R : [lintr](https://lintr.r-lib.org/)
+- Rust : [clippy](https://doc.rust-lang.org/clippy/)
diff --git a/04_avance_bonnes_pratiques/03_04_test.qmd b/04_avance_bonnes_pratiques/03_04_test.qmd
index 8bb7b53..89eefca 100644
--- a/04_avance_bonnes_pratiques/03_04_test.qmd
+++ b/04_avance_bonnes_pratiques/03_04_test.qmd
@@ -2,4 +2,34 @@
 
 ## Pourquoi tester
 
-## Les différents types de tests
+Écrire des tests pour :
+
+- garantir l’adéquation entre les développements et les attentes,
+- pouvoir modifier sans crainte et faciliter le maintien à long terme du projet,
+- fournir des exemples d’utilisation des composants.
+
+## Les différents types de tests (1/3)
+
+- Test unitaire : test de chaque composant individuellement
+- Test fonctionnel : test des fonctionnalités de l’application
+- Test de conformité
+- Test de non-régression : menés pour détecter la réapparition de bogues déjà réparés.
+- Test de dégradations des transactions,
+
+---
+
+## Les différents types de tests (2/3)
+
+- Test de robustesse, d’endurance, de fiabilité : pour renforcer une application dans un domaine (ergonomie, mode dégradé, sécurité, architecture…).
+  - Test à données aléatoires, fuzzing, https://fr.m.wikipedia.org/wiki/Fuzzing
+- Test de performance,
+- Test de charge,
+
+---
+
+## Les différents types de tests (3/3)
+
+- Test utilisateur : *Usability testing*
+  - Test de couloir : *hallway testing*, un test utilisateur avec des nouvelles personnes prises au hasard
+- Test d’intégration : interaction de composants préalablement testés individuellement,
+- Test d’acceptation, *Acceptance Testing*, test de recette : le logiciel répond aux exigences du client
diff --git a/04_avance_bonnes_pratiques/03_06_dependances.qmd b/04_avance_bonnes_pratiques/03_06_dependances.qmd
index 4ecadb6..2c8f762 100644
--- a/04_avance_bonnes_pratiques/03_06_dependances.qmd
+++ b/04_avance_bonnes_pratiques/03_06_dependances.qmd
@@ -1 +1,17 @@
 # Gérer ses dépendances dans son dépôt Git
+
+Utiliser les fichiers de constructions pour définir les versions des dépendances.
+
+---
+
+Exemples de gestionnaires de projets :
+
+- Java :
+  - Maven : `pom.xml`
+  - Gradle : `build.gradle`
+- PHP :
+  - Composer : `composer.json`
+- Python :
+  - Hatch : `pyproject.toml`
+- Rust :
+  - Cargo : `cargo.toml`
-- 
GitLab


From 8e29a52695d36a4ed911e853793a32334d888448 Mon Sep 17 00:00:00 2001
From: Olivier Maury <Olivier.Maury@inrae.fr>
Date: Mon, 16 Sep 2024 18:07:04 +0200
Subject: [PATCH 14/21] Correction script construction session 4

---
 .gitignore                           |  1 +
 04_avance_bonnes_pratiques/index.qmd | 12 +++++++++---
 Makefile                             | 18 ++----------------
 _quarto.yml                          |  3 ++-
 4 files changed, 14 insertions(+), 20 deletions(-)

diff --git a/.gitignore b/.gitignore
index d2e99ad..59b72dd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,6 +4,7 @@
 public/01_initiation/
 public/02_gitlab_depot_distant/
 public/03_branches/
+public/04_avance_bonnes_pratiques/
 public/*.png
 /.quarto/
 *.Rproj
diff --git a/04_avance_bonnes_pratiques/index.qmd b/04_avance_bonnes_pratiques/index.qmd
index fc97715..6261f69 100644
--- a/04_avance_bonnes_pratiques/index.qmd
+++ b/04_avance_bonnes_pratiques/index.qmd
@@ -1,10 +1,16 @@
 ---
 title: "Session 4 : GitLab et Git avancés et bonnes pratiques"
-format: 
-  revealjs:
-    footer: "Formation Git / Gitlab Session 4 : GitLab et Git avancés et bonnes pratiques"
+format:
+  inrae-revealjs:
+    footer: "Formation Git / GitLab − Session 4 : GitLab et Git avancés et bonnes pratiques"
     slide-number: true
     show-slide-number: all
+    transition: none
+    menu:
+      useTextContentForMissingTitles: false
+      hideMissingTitles: true
+    fontsize: 22pt
+    self-contained: true
 editor: visual
 ---
 
diff --git a/Makefile b/Makefile
index 1f8b748..71b4708 100644
--- a/Makefile
+++ b/Makefile
@@ -1,10 +1,7 @@
 SHELL := /usr/bin/env bash
 
 BUILD_DIR := public
-SESSION4 := 04_avance_bonnes_pratiques
-SESSION4_DIR := $(BUILD_DIR)/$(SESSION4)
-SESSION4_INDEX := $(SESSION4_DIR)/index.html
-SESSIONS := 01_initiation 02_gitlab_depot_distant 03_branches
+SESSIONS := 01_initiation 02_gitlab_depot_distant 03_branches 04_avance_bonnes_pratiques
 SESSION_DIRS := $(SESSIONS:%=$(BUILD_DIR)/%)
 INDEXES := $(SESSIONS:%=$(BUILD_DIR)/%/index.html)
 
@@ -15,20 +12,9 @@ $(BUILD_DIR)/%/index.html:: %/index.qmd %/*.qmd
 	quarto render $< --output-dir $(BUILD_DIR)
 
 clean:
-	rm -fr $(SESSION_DIRS) $(SESSION4_DIR)
+	rm -fr $(SESSION_DIRS)
 
 run: build
 	(sleep 1 ; python3 -mwebbrowser http://0.0.0.0:8000/) &
 	(cd public/ ; python3 -m http.server)
 
-public/01_initiation/index.html::
-	sed -i -e "s/SLIDESHOW_TITLE/Session 1 : initiation Git/g" $@
-
-public/02_gitlab_depot_distant/index.html::
-	sed -i -e "s/SLIDESHOW_TITLE/Session 2 : Gitlab et dépôt distant/g" $@
-
-public/03_branches/index.html::
-	sed -i -e "s/SLIDESHOW_TITLE/Session 3 : les branches/g" $@
-
-$(SESSION4_INDEX): $(SESSION4)/index.qmd
-	quarto render $< --output-dir $(SESSION4_DIR)
diff --git a/_quarto.yml b/_quarto.yml
index 2a9d1dc..43dd470 100644
--- a/_quarto.yml
+++ b/_quarto.yml
@@ -3,4 +3,5 @@ project:
   render:
     - "01_initiation/index.qmd"
     - "02_gitlab_depot_distant/index.qmd"
-    - "03_branches/index.qmd"
\ No newline at end of file
+    - "03_branches/index.qmd"
+    - "04_avance_bonnes_pratiques/index.qmd"
-- 
GitLab


From da62bfadf7d42780bb462c5a1d91656cd497fec7 Mon Sep 17 00:00:00 2001
From: Olivier Maury <Olivier.Maury@inrae.fr>
Date: Tue, 17 Sep 2024 10:56:37 +0200
Subject: [PATCH 15/21] Mise en forme

---
 01_initiation/11_etiquetage.qmd               |   2 +-
 02_gitlab_depot_distant/09_navigation.qmd     |   2 +-
 03_branches/scenario_branches_formateur.md    | 113 ++++++++++++++++++
 .../00_00_introduction.qmd                    |   9 +-
 04_avance_bonnes_pratiques/01_00_gitlab.qmd   |  14 ++-
 04_avance_bonnes_pratiques/01_01_gflm.qmd     |  26 ++--
 04_avance_bonnes_pratiques/01_02_release.qmd  |   2 +-
 .../01_03_issue_template.qmd                  |   2 +-
 04_avance_bonnes_pratiques/01_04_groupe.qmd   |   2 +-
 .../01_05_planification.qmd                   |  14 ++-
 04_avance_bonnes_pratiques/01_06_topic.qmd    |   6 +-
 04_avance_bonnes_pratiques/01_07_pipeline.qmd |   6 +-
 04_avance_bonnes_pratiques/01_08_runner.qmd   |   2 +-
 .../01_10_mattermost.qmd                      |   2 +-
 04_avance_bonnes_pratiques/02_00_git.qmd      |  10 +-
 04_avance_bonnes_pratiques/02_01_hook.qmd     |   2 +-
 04_avance_bonnes_pratiques/02_02_alias.qmd    |  10 +-
 .../02_03_cherry-pick.qmd                     |   2 +-
 04_avance_bonnes_pratiques/02_04_rebase-i.qmd |   2 +-
 04_avance_bonnes_pratiques/02_05_bisect.qmd   |   2 +-
 .../03_00_bonnes_pratiques.qmd                |   3 +-
 04_avance_bonnes_pratiques/03_01_pourquoi.qmd |  11 +-
 .../03_02_processus.qmd                       |   2 +-
 .../03_03_structuration.qmd                   |   6 +-
 04_avance_bonnes_pratiques/03_04_test.qmd     |  14 ++-
 .../03_05_environnement_virtuel.qmd           |   2 +-
 .../03_06_dependances.qmd                     |   2 +-
 .../03_07_documentation.qmd                   |  42 ++++---
 .../04_00_ouverture.qmd                       |   2 +-
 .../04_01_publication.qmd                     |   2 +-
 .../04_02_choix_licence_gitlab.qmd            |   5 +-
 .../04_03_software_heritage.qmd               |   2 +-
 04_avance_bonnes_pratiques/04_04_oscar.qmd    |   5 -
 .../05_00_plus_loin.qmd                       |  24 ++++
 04_avance_bonnes_pratiques/index.qmd          |   2 +
 35 files changed, 272 insertions(+), 82 deletions(-)
 create mode 100644 03_branches/scenario_branches_formateur.md
 create mode 100644 04_avance_bonnes_pratiques/05_00_plus_loin.qmd

diff --git a/01_initiation/11_etiquetage.qmd b/01_initiation/11_etiquetage.qmd
index 8230997..4b57a47 100644
--- a/01_initiation/11_etiquetage.qmd
+++ b/01_initiation/11_etiquetage.qmd
@@ -153,7 +153,7 @@ Lister les étiquettes existantes : dans le menu, cliquer sur *Basculer sur…*
 :::
 
 :::{.column width="40%"}
-... et choisir parmi les étiquettes proposées
+… et choisir parmi les étiquettes proposées
 
 ![](images/06_03_tag_vscode_basculer2.png){width=50%}
 :::
diff --git a/02_gitlab_depot_distant/09_navigation.qmd b/02_gitlab_depot_distant/09_navigation.qmd
index 7b9053a..6067215 100644
--- a/02_gitlab_depot_distant/09_navigation.qmd
+++ b/02_gitlab_depot_distant/09_navigation.qmd
@@ -1,6 +1,6 @@
 # Navigation dans un projet GitLab {.inverse}
 
-Où comment s'y retrouver au milieu de toutes ces informations...
+Où comment s'y retrouver au milieu de toutes ces informations…
 
 ----
 
diff --git a/03_branches/scenario_branches_formateur.md b/03_branches/scenario_branches_formateur.md
new file mode 100644
index 0000000..2e789cb
--- /dev/null
+++ b/03_branches/scenario_branches_formateur.md
@@ -0,0 +1,113 @@
+# Scénario GitLab « branches »
+
+Pour mémoire, un document scenario_branches_utilisateurs.md doit être fourni aux apprenants.
+
+Il reprend les instructions à réaliser à chaque étape.
+
+Le présent document est destiné au formateur afin de le guider de manière efficace dans le suivi du scénario.
+
+Trois cas d'utilisations sont déroulés
+
+- use case idéal: une issue = une MR = une branche = un commit = un push = une PR
+- use case rebasage:
+- use case conflit:
+
+## Préparation formation
+
+### Création d'une copie du projet exercice_session3
+
+- Aller à la page [du projet exercice_session3](https://forgemia.inra.fr:git-gitlab-paca/exercice_session3)
+- Récupération du code (tgz) projet `git@forgemia.inra.fr:git-gitlab-paca/exercice_session3.git` et installation dans un nouveau répertoire local
+
+- Création d'un nouveau projet dans un autre espace de nom (au choix)
+  - Nouveau nom du projet : session3_labo
+  - Description : démo session 3, pour groupe… , date…
+  - Visibilité : _private_
+  - Casser le lien avec le projet source (fork relationship / relation de bifurcation) via _General settings / Advanced / Fork relationship_
+
+### Configuration du nouveau projet
+
+- Déclarer les membres en fonction des présents (Manage/Members), en rôle "developper"
+- configuration à faire pour empêcher la modification de la branche "main" par les stagiaires:
+  - bloquer qui peut modifier la branche main (settings/Merge request,Merge commit with semi-linear history )
+  - repository / protected branch et sur main, bloquer les push (no one )
+
+# Use case idéal
+
+## (Formateur)
+
+- Envoyer un mail aux utilisateurs présents avec le nom du projet à cloner et le lien vers le fichier scenario_branches_utilisareur.md.
+- Création et affectation des issues à chaque utilisateur (script à venir pour automatiser cette action car c'est un peu long)
+- Au passage, expliquer qu'il joue le rôle de chef de projet
+- Il explique les règles de MR (pas sur main) et que ce sont des conventions à définir/appliquer dès le début du projet
+- On choisi le modèle une branche main stable, et des branches par issues pour faire évoluer le code.
+
+## (Formateur) démo de fusion et ménage
+
+- montre le contenu de la fusion, les changements , les commits associés
+- procède à une revue de code sur les changements proposés (option)
+- valide la fusion
+- déclenche la fusion
+- s'il a le temps, fermeture de toutes les issues, ménage dans les branches et les MR en attente
+
+# Use case conflit
+
+Nous allons volontairement créer une situation de conflit, que Git va vous demander de régler.
+
+Diapos ?
+
+Un conflit apparait lorsque deux modifications ont été faite au même endroit dans un fichier.
+Git ne sait pas choisir qu'elle est la version à retenir, il va donc vous inviter à résoudre le conflit vous même.
+
+## (Formateur) Démo résolution de conflit
+
+- Prise en charge de l'issue Partie2_Chapitre2_bis (création branche à faire avant le push de la branche de l'issue précédente)
+- Activation de la fusion précédente sans pull (en local, main est en retard, ainsi que la branche de l'issue)
+- récupération de la nouvelle branche en local
+- Correction de l'erreur dans le même fichier texte
+- commit
+- push
+- Connexion à la forge
+- Activation de la demande de fusion
+- Constat de l'impossibilité à cause d'un conflit (git ne sait pas choisir laquelle des deux versions conserver)
+- On peut voir les marques du conflit depuis les outils de la forge
+- On peut aussi (bonne pratique) gérer ce conflit localement
+
+```bash
+git switch Partie2_Chapitre2_bis
+git fetch
+git rebase origin/main
+```
+
+- lire les messages retournés par git !!
+- ouvrir le fichier en conflit dans un éditeur
+- constater les marques de conflit
+- corriger (choisir le code à conserver, supprimer l'autre, supprimer les marques de conflit)
+
+```bash
+git add .
+git commit -m "Fix conflict on issue Partie2_Chapitre2_bis"
+git rebase --continue
+```
+
+# Use case rebasage
+
+On veut illustrer ici la fonctionnalité de rebasage, sans conflit.
+
+Diapos:
+
+## (Formateur) Création des issues
+
+- Création des issues et affectation aux utilisateurs
+- il s'en prévoit une pour lui, afin de faire la démo d'accompagnement
+
+## (Formateur) Démo rebasage
+
+- Constat que la troisième fusion ne peut être faite parce que le dépôt n'est plus à jour (il ne contient pas la fusion 2 par exemple)
+
+- résolution du problème par rebasage (on embarque dans la branche locale )
+
+```bash
+git checkout issue3
+git rebase origin/main
+```
diff --git a/04_avance_bonnes_pratiques/00_00_introduction.qmd b/04_avance_bonnes_pratiques/00_00_introduction.qmd
index fa9b535..f111386 100644
--- a/04_avance_bonnes_pratiques/00_00_introduction.qmd
+++ b/04_avance_bonnes_pratiques/00_00_introduction.qmd
@@ -1,3 +1,10 @@
-* Fonctionnalités avancées
+# Objectifs {.inverse}
+
+----
+
+Selon vos attendus :
+
+* Autres fonctionnalités de GitLab
+* Fonctionnalités avancées de Git
 * Bonnes pratiques de développement
 * Ouverture du code
diff --git a/04_avance_bonnes_pratiques/01_00_gitlab.qmd b/04_avance_bonnes_pratiques/01_00_gitlab.qmd
index 8f6e687..29f7736 100644
--- a/04_avance_bonnes_pratiques/01_00_gitlab.qmd
+++ b/04_avance_bonnes_pratiques/01_00_gitlab.qmd
@@ -1 +1,13 @@
-# GitLab − autres fonctionnalités
+# Autres fonctionnalités de GitLab {.inverse}
+
+---
+
+* syntaxe Markdown
+* *release*
+* modèles de ticket
+* organisation des projets en groupes et sous-groupes
+* gestion des tickets
+* étiquettes de projet
+* *pipeline*
+* *runner*
+* intégration à Mattermost
diff --git a/04_avance_bonnes_pratiques/01_01_gflm.qmd b/04_avance_bonnes_pratiques/01_01_gflm.qmd
index f4a4cb4..599cc4d 100644
--- a/04_avance_bonnes_pratiques/01_01_gflm.qmd
+++ b/04_avance_bonnes_pratiques/01_01_gflm.qmd
@@ -1,8 +1,8 @@
-# Syntaxe Markdown dans GitLab
+# Autres fonctionnalités de GitLab − Syntaxe Markdown {.inverse}
 
 ## Markdown ?
 
-Format texte pour écrire des documents structurés, mise en forme de caractères, liens, images, citations, listes...
+Format texte pour écrire des documents structurés, mise en forme de caractères, liens, images, citations, listes…
 
 Utilisation pour : livres, articles, présentations (ce support de formation !), lettres, prises de notes.
 
@@ -14,7 +14,7 @@ Version enrichie de la syntaxe d’origine : *GitLab Flavored Markdown* :
 - extensions de GitHub ([GFM](https://github.github.com/gfm/))
 - extensions spécifiques à GitLab
 
-## Utilisable dans...
+## Utilisable dans…
 
 - tickets
 - demandes de fusion
@@ -27,7 +27,7 @@ Version enrichie de la syntaxe d’origine : *GitLab Flavored Markdown* :
 
 ---
 
-### Titre
+### Markdown de base − Titre
 
 ```markdown
 # Titre de chapitre
@@ -37,7 +37,7 @@ Version enrichie de la syntaxe d’origine : *GitLab Flavored Markdown* :
 
 ---
 
-### Paragraphes
+### Markdown de base − Paragraphes
 
 Pour créer un nouveau paragraphe, il faut simplement laisser une ligne vide entre deux portions de texte :
 
@@ -49,7 +49,7 @@ Second paragraphe.
 
 ---
 
-### Liens
+### Markdown de base − Liens
 
 ```markdown
 [ForgeMIA](https://forgemia.inra.fr/)
@@ -57,7 +57,7 @@ Second paragraphe.
 
 ---
 
-### Styles de texte
+### Markdown de base − Styles de texte
 
 ```markdown
 _italique_
@@ -68,7 +68,7 @@ _italique_
 
 ---
 
-### Citation
+### Markdown de base − Citation
 
 ```markdown
 > Ceci est une citation.
@@ -76,7 +76,7 @@ _italique_
 
 ---
 
-### Liste non ordonnée
+### Markdown de base − Liste non ordonnée
 
 ```markdown
 * Un élément
@@ -88,7 +88,7 @@ _italique_
 
 ---
 
-### Liste ordonnée
+### Markdown de base − Liste ordonnée
 
 ```markdown
 1. Un élément
@@ -100,13 +100,13 @@ _italique_
 
 ---
 
-### Image
+### Markdown de base − Image
 
 ```markdown
 ![](https://www.inrae.fr/themes/custom/inrae_socle/logo.svg)
 ```
 
-## Extension{.smaller}
+## Extension de Markdown dans GitLab {.smaller}
 
 [Liste complète](https://docs.gitlab.com/ee/user/markdown.html)
 
@@ -118,7 +118,7 @@ _italique_
 - équations mathématiques
 - tableaux, tableaux triables et filtrables
 - notes de bas de page
-- bloc de métadonnées (Jekill, Hugo, RMarkdown...)
+- bloc de métadonnées (Jekill, Hugo, RMarkdown…)
 - sommaire
 - références GitLab
 - différences de texte
diff --git a/04_avance_bonnes_pratiques/01_02_release.qmd b/04_avance_bonnes_pratiques/01_02_release.qmd
index aa054b5..27d3d5d 100644
--- a/04_avance_bonnes_pratiques/01_02_release.qmd
+++ b/04_avance_bonnes_pratiques/01_02_release.qmd
@@ -1 +1 @@
-# Release
+# Autres fonctionnalités de GitLab − Release {.inverse}
diff --git a/04_avance_bonnes_pratiques/01_03_issue_template.qmd b/04_avance_bonnes_pratiques/01_03_issue_template.qmd
index a558ee1..13ba29e 100644
--- a/04_avance_bonnes_pratiques/01_03_issue_template.qmd
+++ b/04_avance_bonnes_pratiques/01_03_issue_template.qmd
@@ -1 +1 @@
-# Modèles de ticket
+# Autres fonctionnalités de GitLab − Modèles de ticket {.inverse}
diff --git a/04_avance_bonnes_pratiques/01_04_groupe.qmd b/04_avance_bonnes_pratiques/01_04_groupe.qmd
index 0593f89..9ad8d72 100644
--- a/04_avance_bonnes_pratiques/01_04_groupe.qmd
+++ b/04_avance_bonnes_pratiques/01_04_groupe.qmd
@@ -1 +1 @@
-# Organisation en groupe et sous-groupe
+# Autres fonctionnalités de GitLab − Organisation en groupe et sous-groupe {.inverse}
diff --git a/04_avance_bonnes_pratiques/01_05_planification.qmd b/04_avance_bonnes_pratiques/01_05_planification.qmd
index f868781..344b05f 100644
--- a/04_avance_bonnes_pratiques/01_05_planification.qmd
+++ b/04_avance_bonnes_pratiques/01_05_planification.qmd
@@ -1,4 +1,6 @@
-# Gestion des tickets
+# Autres fonctionnalités de GitLab − Gestion des tickets {.inverse}
+
+---
 
 - Dans un projet ou un groupe
   - Liste des tickets
@@ -30,7 +32,7 @@ Dans un projet ou un groupe de projets.
 
 ---
 
-### Modifier le tableau
+### Modifier le tableau de tickets
 
 Dans un projet ou un groupe de projets.
 
@@ -43,7 +45,7 @@ On peut créer un ticket directement dans une liste.
 
 ---
 
-### Créer un nouveau tableau
+### Créer un nouveau tableau de tickets
 
 Uniquement dans un projet.
 
@@ -51,7 +53,7 @@ Possibilité créer d'autres tableaux.
 
 ---
 
-### Filtrer un tableau
+### Filtrer un tableau de tickets
 
 Pour limiter à un ou plusieurs :
 
@@ -64,7 +66,7 @@ Pour limiter à un ou plusieurs :
 
 ---
 
-### Exemples de tableaux
+### Exemples de tableaux de tickets
 
 - *Open*, label *En cours*, label *Rejeté*, *Closed*
 
@@ -93,6 +95,6 @@ Tri par :
 
 - date de dernière mise à jour
 - priorité
-- ...
+- …
 
 => La forge devient le lieu unique de sa gestion des tâches.
diff --git a/04_avance_bonnes_pratiques/01_06_topic.qmd b/04_avance_bonnes_pratiques/01_06_topic.qmd
index c1c7981..b155758 100644
--- a/04_avance_bonnes_pratiques/01_06_topic.qmd
+++ b/04_avance_bonnes_pratiques/01_06_topic.qmd
@@ -1,3 +1,5 @@
-# Étiquetter un projet
+# Autres fonctionnalités de GitLab − Étiquetter un projet {.inverse}
 
-Objectif : favoriser la recherche dans les projets
\ No newline at end of file
+---
+
+Objectif : favoriser la recherche dans les projets
diff --git a/04_avance_bonnes_pratiques/01_07_pipeline.qmd b/04_avance_bonnes_pratiques/01_07_pipeline.qmd
index 76327c6..ec3ddd3 100644
--- a/04_avance_bonnes_pratiques/01_07_pipeline.qmd
+++ b/04_avance_bonnes_pratiques/01_07_pipeline.qmd
@@ -1,4 +1,6 @@
-# *Pipeline*
+# Autres fonctionnalités de GitLab − *Pipeline* {.inverse}
+
+---
 
 Successions d’étapes dans l’intégration continue ou dans le déploiement continu.
 
@@ -23,4 +25,4 @@ Exemples :
 
 - publication du logiciel empaqueté,
 - mise à disposition d'une bibliothèque logicielle,
-- mise en ligne d’un site web...
+- mise en ligne d’un site web…
diff --git a/04_avance_bonnes_pratiques/01_08_runner.qmd b/04_avance_bonnes_pratiques/01_08_runner.qmd
index dc582f8..e97d8ca 100644
--- a/04_avance_bonnes_pratiques/01_08_runner.qmd
+++ b/04_avance_bonnes_pratiques/01_08_runner.qmd
@@ -1 +1 @@
-# Cas d'utilisation des *runners* maison
+# Autres fonctionnalités de GitLab − Cas d'utilisation des *runners* maison {.inverse}
diff --git a/04_avance_bonnes_pratiques/01_10_mattermost.qmd b/04_avance_bonnes_pratiques/01_10_mattermost.qmd
index 20d5d5c..857dd4c 100644
--- a/04_avance_bonnes_pratiques/01_10_mattermost.qmd
+++ b/04_avance_bonnes_pratiques/01_10_mattermost.qmd
@@ -1 +1 @@
-# Intégratiion à Mattermost
+# Autres fonctionnalités de GitLab − Intégration à Mattermost {.inverse}
diff --git a/04_avance_bonnes_pratiques/02_00_git.qmd b/04_avance_bonnes_pratiques/02_00_git.qmd
index 0a233ca..0f0f3ba 100644
--- a/04_avance_bonnes_pratiques/02_00_git.qmd
+++ b/04_avance_bonnes_pratiques/02_00_git.qmd
@@ -1 +1,9 @@
-# Git : fonctionnalités particulières et astuces
+# Git : fonctionnalités particulières et astuces {.inverse}
+
+---
+
+* crochets Git
+* alias de commande
+* `git cherry-pick`
+* `git rebase --interactive`
+* `git bisect`
diff --git a/04_avance_bonnes_pratiques/02_01_hook.qmd b/04_avance_bonnes_pratiques/02_01_hook.qmd
index 914b650..5dfcd5a 100644
--- a/04_avance_bonnes_pratiques/02_01_hook.qmd
+++ b/04_avance_bonnes_pratiques/02_01_hook.qmd
@@ -1,4 +1,4 @@
-# Crochets Git
+## Crochets Git
 
 ::: {.notes}
 https://git-scm.com/book/fr/v2/Personnalisation-de-Git-Crochets-Git
diff --git a/04_avance_bonnes_pratiques/02_02_alias.qmd b/04_avance_bonnes_pratiques/02_02_alias.qmd
index 6fd55c7..6047a33 100644
--- a/04_avance_bonnes_pratiques/02_02_alias.qmd
+++ b/04_avance_bonnes_pratiques/02_02_alias.qmd
@@ -1,10 +1,12 @@
-# Alias de commande
+## Alias de commande
 
 Objet : rendre l'utilisation de Git plus simple, facile ou familier.
 
 ---
 
-**Exemple :** pour désindexer un fichier, on utilise la commande
+### Alias de commande − exemple 1
+
+Pour désindexer un fichier, on utilise la commande
 
 ```
 git reset HEAD mon_fichier.txt
@@ -24,7 +26,9 @@ git unstage mon_fichier.txt
 
 ---
 
-**Exemple :** mettre en forme l'affichage de l'historique :
+### Alias de commande − exemple 2
+
+Pour mettre en forme l'affichage de l'historique :
 
 ```
 git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
diff --git a/04_avance_bonnes_pratiques/02_03_cherry-pick.qmd b/04_avance_bonnes_pratiques/02_03_cherry-pick.qmd
index 294a4de..950da53 100644
--- a/04_avance_bonnes_pratiques/02_03_cherry-pick.qmd
+++ b/04_avance_bonnes_pratiques/02_03_cherry-pick.qmd
@@ -1,4 +1,4 @@
-# `git cherry-pick`
+## `git cherry-pick`
 
 Appliquer les modifications introduites par certains commits (d’une autre branche) existants sur la branche.
 
diff --git a/04_avance_bonnes_pratiques/02_04_rebase-i.qmd b/04_avance_bonnes_pratiques/02_04_rebase-i.qmd
index a9b7d6b..c75309b 100644
--- a/04_avance_bonnes_pratiques/02_04_rebase-i.qmd
+++ b/04_avance_bonnes_pratiques/02_04_rebase-i.qmd
@@ -1,4 +1,4 @@
-# `git rebase --interactive`
+## `git rebase --interactive`
 
 ::: {.notes}
 https://git-scm.com/docs/git-rebase https://git-scm.com/book/fr/v2/Les-branches-avec-Git-Rebaser-Rebasing
diff --git a/04_avance_bonnes_pratiques/02_05_bisect.qmd b/04_avance_bonnes_pratiques/02_05_bisect.qmd
index 078160e..cfa2bca 100644
--- a/04_avance_bonnes_pratiques/02_05_bisect.qmd
+++ b/04_avance_bonnes_pratiques/02_05_bisect.qmd
@@ -1,4 +1,4 @@
-# `git bisect`
+## `git bisect`
 
 ::: {.notes}
 https://git-scm.com/docs/git-bisect/fr
diff --git a/04_avance_bonnes_pratiques/03_00_bonnes_pratiques.qmd b/04_avance_bonnes_pratiques/03_00_bonnes_pratiques.qmd
index 778fba8..680dad8 100644
--- a/04_avance_bonnes_pratiques/03_00_bonnes_pratiques.qmd
+++ b/04_avance_bonnes_pratiques/03_00_bonnes_pratiques.qmd
@@ -1,4 +1,3 @@
-# Bonnes pratiques
+# Bonnes pratiques {.inverse}
 
 Bon code : (répond aux besoins et est) maintenable, réutilisable et testable.
-
diff --git a/04_avance_bonnes_pratiques/03_01_pourquoi.qmd b/04_avance_bonnes_pratiques/03_01_pourquoi.qmd
index 8a7edc9..ea1ec13 100644
--- a/04_avance_bonnes_pratiques/03_01_pourquoi.qmd
+++ b/04_avance_bonnes_pratiques/03_01_pourquoi.qmd
@@ -1,19 +1,21 @@
 ## Pourquoi suivre les bonnes pratiques ?
 
-### lisibilité
+---
+
+### Suivre les bonnes pratiques pour… la lisibilité
 
 - toujours penser aux lecteurs
 - utiliser des standards de codage pour unifier les pratiques
 
 ---
 
-### clarté
+### Suivre les bonnes pratiques pour… la clarté
 
 - utiliser un code générique, mais pas au dépend de la clarté
 - tirer avantages des fonctionnalités du langage et éviter les fonctionnalités ésotériques
 - sophistication entraîne complexité, veiller à ce que l'utilité dépasse le coût
 - ne pas dupliquer (*Don't Repeat Yourself*)
-- séparer par domaines (accès aux données, traitement, affichage...)
+- séparer par domaines (accès aux données, traitement, affichage…)
 - documenter
 
 ::: {.notes}
@@ -22,9 +24,8 @@ Les doublons augmentent aussi le nombre de bogues à corriger, réusiner fait do
 
 ---
 
-### maintenir la qualité
+### Suivre les bonnes pratiques pour… maintenir la qualité
 
 - automatiser les tests
 - automatiser les vérifications de code
 - automatiser la construction
-
diff --git a/04_avance_bonnes_pratiques/03_02_processus.qmd b/04_avance_bonnes_pratiques/03_02_processus.qmd
index ccac20b..abfa37a 100644
--- a/04_avance_bonnes_pratiques/03_02_processus.qmd
+++ b/04_avance_bonnes_pratiques/03_02_processus.qmd
@@ -1 +1 @@
-# Présentation d'un processus de développement
+## Présentation d'un processus de développement
diff --git a/04_avance_bonnes_pratiques/03_03_structuration.qmd b/04_avance_bonnes_pratiques/03_03_structuration.qmd
index 18b4d41..866b0f5 100644
--- a/04_avance_bonnes_pratiques/03_03_structuration.qmd
+++ b/04_avance_bonnes_pratiques/03_03_structuration.qmd
@@ -1,6 +1,8 @@
-# Structurer son code
+## Structurer son code
 
-## Utiliser des analyseurs de code
+---
+
+### Structurer son code − Utiliser des analyseurs de code
 
 *linter* : outil de contrôle (et suggestions et corrections) pour la qualité de code
 
diff --git a/04_avance_bonnes_pratiques/03_04_test.qmd b/04_avance_bonnes_pratiques/03_04_test.qmd
index 89eefca..afd51f0 100644
--- a/04_avance_bonnes_pratiques/03_04_test.qmd
+++ b/04_avance_bonnes_pratiques/03_04_test.qmd
@@ -1,6 +1,8 @@
-# Tester son code
+## Tester son code
 
-## Pourquoi tester
+---
+
+### Pourquoi tester
 
 Écrire des tests pour :
 
@@ -8,7 +10,9 @@
 - pouvoir modifier sans crainte et faciliter le maintien à long terme du projet,
 - fournir des exemples d’utilisation des composants.
 
-## Les différents types de tests (1/3)
+---
+
+### Les différents types de tests (1/3)
 
 - Test unitaire : test de chaque composant individuellement
 - Test fonctionnel : test des fonctionnalités de l’application
@@ -18,7 +22,7 @@
 
 ---
 
-## Les différents types de tests (2/3)
+### Les différents types de tests (2/3)
 
 - Test de robustesse, d’endurance, de fiabilité : pour renforcer une application dans un domaine (ergonomie, mode dégradé, sécurité, architecture…).
   - Test à données aléatoires, fuzzing, https://fr.m.wikipedia.org/wiki/Fuzzing
@@ -27,7 +31,7 @@
 
 ---
 
-## Les différents types de tests (3/3)
+### Les différents types de tests (3/3)
 
 - Test utilisateur : *Usability testing*
   - Test de couloir : *hallway testing*, un test utilisateur avec des nouvelles personnes prises au hasard
diff --git a/04_avance_bonnes_pratiques/03_05_environnement_virtuel.qmd b/04_avance_bonnes_pratiques/03_05_environnement_virtuel.qmd
index 3015dfe..dbc5a4c 100644
--- a/04_avance_bonnes_pratiques/03_05_environnement_virtuel.qmd
+++ b/04_avance_bonnes_pratiques/03_05_environnement_virtuel.qmd
@@ -1 +1 @@
-# Utiliser des environnements virtuels
+## Utiliser des environnements virtuels
diff --git a/04_avance_bonnes_pratiques/03_06_dependances.qmd b/04_avance_bonnes_pratiques/03_06_dependances.qmd
index 2c8f762..d07da24 100644
--- a/04_avance_bonnes_pratiques/03_06_dependances.qmd
+++ b/04_avance_bonnes_pratiques/03_06_dependances.qmd
@@ -1,4 +1,4 @@
-# Gérer ses dépendances dans son dépôt Git
+## Gérer ses dépendances dans son dépôt Git
 
 Utiliser les fichiers de constructions pour définir les versions des dépendances.
 
diff --git a/04_avance_bonnes_pratiques/03_07_documentation.qmd b/04_avance_bonnes_pratiques/03_07_documentation.qmd
index b4eaca7..f38b133 100644
--- a/04_avance_bonnes_pratiques/03_07_documentation.qmd
+++ b/04_avance_bonnes_pratiques/03_07_documentation.qmd
@@ -1,4 +1,4 @@
-# Documenter
+## Documenter
 
 La documentation fait partie du processus de développement.
 Elle doit être considérée comme le code et les tests et écrite lorsque la connaissance est acquise.
@@ -15,9 +15,13 @@ Plusieurs types de documentation
   exigences du système, conception, vision, portée, cas d’utilisation, schémas, diagrammes de flux, documentation utilisateur, documentation du code…
 - documentation du projet
 
-## Documenter le code
+---
+
+### Documenter le code
+
+---
 
-### Pourquoi documenter son code ?
+#### Pourquoi documenter son code ?
 
 * reproductibilité
 * principes FAIR (*findable*, *accessible*, *interopable*, *reusable*)
@@ -27,7 +31,7 @@ NB : plus de temps est passé à reprendre un code qu’à l’écrire.
 
 ---
 
-### Comment documenter ?
+#### Comment documenter son code ?
 
 Règles documenter un logiciel scientifique, selon [Lee et al. 2018](https://doi.org/10.1371/journal.pcbi.1006561) :
 
@@ -41,7 +45,7 @@ Intégrer la génération de la documentation dans le processus d’intégration
 
 ---
 
-### Que documenter ?
+#### Que documenter dans le code ?
 
 Toujours documenter les blocs de code délicats, fonctions, classes, fichiers, modules, données d’entrée d’exemple… selon les normes du langage :
 
@@ -61,7 +65,7 @@ Préciser le périmètre, les entrées, les sorties, les unités.
 
 ---
 
-Exemple de documentation *roxygen2*
+Exemple de documentation de code R pour *roxygen2*
 
 ```r
 #’ Add together two numbers.
@@ -79,11 +83,13 @@ add <- function(x, y) {
 
 - [Mastering Software Development in R − Documentation](https://bookdown.org/rdpeng/RProgDA/documentation.html)
 
-## Documenter son projet
+---
+
+### Documenter son projet
 
 ---
 
-### Décisions techniques
+#### Décisions techniques du projet
 
 Arbitrages et raisons des choix techniques et architecturaux réalisés.
 
@@ -91,18 +97,22 @@ Exemple de structuation : [MADR − Markdown Architectural Decision Records](htt
 
 ---
 
-### Fichier README
+#### Fichier README
 
 Fichier texte `README` (format Markdown ou texte simple).
 Point d’entrée par convention pour se renseigner sur un projet et utiliser le projet.
 
 Exemple de structuration : titre, description, fonctionnalités, dépendances techniques, installations, exemples d’utilisation.
 
+::: callout-tip
+## Ressource
+
 Outil en ligne pour la mise en forme : https://readmi.xyz/
+:::
 
 ---
 
-### Autres fichiers recommandés
+#### Autres fichiers recommandés
 
 (extensions : aucune, `.txt` ou `.md`)
 
@@ -110,6 +120,12 @@ Outil en ligne pour la mise en forme : https://readmi.xyz/
 - `CONTRIBUTING` : guide pour contribuer au projet
 - `LICENCE` : fichier texte avec la licence choisie
 
+::: callout-tip
+## Ressource
+
+licences les plus fréquentes chez [SPDX](https://spdx.org/licenses/).
+:::
+
 ---
 
 Mais aussi :
@@ -120,7 +136,7 @@ Mais aussi :
 
 ---
 
-### Fichiers pour le moissonnage des projets
+#### Fichiers pour le moissonnage des projets
 
 - [`CITATION.cff`](https://citation-file-format.github.io/) : texte de la citation pour le code,
 - [`codemeta.json`](https://codemeta.github.io/) : moissonnage par *Software Heritage*,
@@ -129,6 +145,4 @@ Mais aussi :
   obligatoire pour les logiciels publics en Italie, utilisé par [code.gouv.fr](https://github.com/codegouvfr/awesome-codegouvfr/blob/main/README.fr.md) (voir [GitHub](https://github.com/codegouvfr/awesome-codegouvfr-tooling)),
   [Formulaire en ligne](https://publiccode-editor.etalab.studio/).
 
-Voir les consignes *Software Heritage* plus loin.
-
-
+Voir les consignes *Software Heritage* à la @sec-software-heritage.
diff --git a/04_avance_bonnes_pratiques/04_00_ouverture.qmd b/04_avance_bonnes_pratiques/04_00_ouverture.qmd
index 7701a8e..29092c8 100644
--- a/04_avance_bonnes_pratiques/04_00_ouverture.qmd
+++ b/04_avance_bonnes_pratiques/04_00_ouverture.qmd
@@ -1 +1 @@
-# Licence et ouverture du code
+# Licence et ouverture du code {.inverse}
diff --git a/04_avance_bonnes_pratiques/04_01_publication.qmd b/04_avance_bonnes_pratiques/04_01_publication.qmd
index ad7aa48..ce33e48 100644
--- a/04_avance_bonnes_pratiques/04_01_publication.qmd
+++ b/04_avance_bonnes_pratiques/04_01_publication.qmd
@@ -1 +1 @@
-# Publier son code
+## Publier son code
diff --git a/04_avance_bonnes_pratiques/04_02_choix_licence_gitlab.qmd b/04_avance_bonnes_pratiques/04_02_choix_licence_gitlab.qmd
index 86e0fe4..6a43354 100644
--- a/04_avance_bonnes_pratiques/04_02_choix_licence_gitlab.qmd
+++ b/04_avance_bonnes_pratiques/04_02_choix_licence_gitlab.qmd
@@ -1,7 +1,6 @@
-# Utiliser GitLab pour choisir une licence
-
+## Utiliser GitLab pour choisir une licence
 
 NB :
 
 - exigences État et INRAE en matière de licence
-- attention aux contributions des stagiaires
\ No newline at end of file
+- attention aux contributions des stagiaires
diff --git a/04_avance_bonnes_pratiques/04_03_software_heritage.qmd b/04_avance_bonnes_pratiques/04_03_software_heritage.qmd
index 8bc5a27..fc3a46b 100644
--- a/04_avance_bonnes_pratiques/04_03_software_heritage.qmd
+++ b/04_avance_bonnes_pratiques/04_03_software_heritage.qmd
@@ -1 +1 @@
-# Software Heritage
+## Software Heritage {#sec-software-heritage}
diff --git a/04_avance_bonnes_pratiques/04_04_oscar.qmd b/04_avance_bonnes_pratiques/04_04_oscar.qmd
index 7910017..a28b607 100644
--- a/04_avance_bonnes_pratiques/04_04_oscar.qmd
+++ b/04_avance_bonnes_pratiques/04_04_oscar.qmd
@@ -1,8 +1,3 @@
-# Ressources complémentaires
-
-- [Bonnes pratiques GitLab pour l'ESR](https://coso-college-codes-sources-et-logiciels.pages.in2p3.fr/handbook/)
-- [Documentation de la forge logicielle GitLab du CIRAD](https://gitlab.cirad.fr/cirad/documentation)
-
 ## Module de formation Oscar
 
 3 modules sont disponibles :
diff --git a/04_avance_bonnes_pratiques/05_00_plus_loin.qmd b/04_avance_bonnes_pratiques/05_00_plus_loin.qmd
new file mode 100644
index 0000000..0e9c424
--- /dev/null
+++ b/04_avance_bonnes_pratiques/05_00_plus_loin.qmd
@@ -0,0 +1,24 @@
+# Ressources complémentaires {.inverse}
+
+---
+
+## Ressources complémentaires − GitLab
+
+- [Bonnes pratiques GitLab pour l'ESR](https://coso-college-codes-sources-et-logiciels.pages.in2p3.fr/handbook/)
+- [Documentation de la forge logicielle GitLab du CIRAD](https://gitlab.cirad.fr/cirad/documentation)
+- « [gtdonnees-gitlab2023](https://gtdonnees-gitlab2023.sciencesconf.org/) : Gitlab, le compagnon pour votre production scientifique : logiciels, données, publications… »
+  - [Introduction générale aux forges logicielles. Gitlab : tour d'horizon et prise en main](https://gtdonnees-gitlab2023.gricad-pages.univ-grenoble-alpes.fr/intro-gitlab/)
+  - [Software Heritage, l'archive universelle à la croisée des forges](https://gtdonnees-gitlab2023.sciencesconf.org/data/pages/2023_06_29_MITI_SoftwareHeritage.pdf)
+  - [Principes et exemples de mise en place de l'intégration continue sur Gitlab](https://gtdonnees-gitlab2023.gricad-pages.univ-grenoble-alpes.fr/intro-gitlab/)
+- [Chapître *Pipeline CI/CD*](https://docs.sk8.inrae.fr/021-pipeline.html) de la *Documentation SK8 INRAE*
+
+## Ressources complémentaires − Git
+
+- Conventions d'écriture pour les commit : [Conventional Commits](https://www.conventionalcommits.org/fr/v1.0.0/)
+
+## Ressources complémentaires − Bonnes pratiques
+
+- [UMR ISPA UMR ISPA / Formation numérique 2024 / Bonnes pratiques en développement](https://forgemia.inra.fr/umr-ispa/formation-numerique-2024/dev-best-practices/)
+- [GitHub − Best practices for a collaborative software development culture](https://resources.github.com/innersource/best-practices-collaborative-software-dev/)
+- Choix du nom des versions : [Semantic Versioning](https://semver.org/)
+- Format des notes de version : [Keep a Changelog](https://keepachangelog.com/)
diff --git a/04_avance_bonnes_pratiques/index.qmd b/04_avance_bonnes_pratiques/index.qmd
index 6261f69..e50e2d1 100644
--- a/04_avance_bonnes_pratiques/index.qmd
+++ b/04_avance_bonnes_pratiques/index.qmd
@@ -48,3 +48,5 @@ editor: visual
 {{< include 04_02_choix_licence_gitlab.qmd >}}
 {{< include 04_03_software_heritage.qmd >}}
 {{< include 04_04_oscar.qmd >}}
+
+{{< include 05_00_plus_loin.qmd >}}
-- 
GitLab


From 7a973bcf832267d0e0632e3d1051e8c6d3ed90e2 Mon Sep 17 00:00:00 2001
From: Olivier Maury <Olivier.Maury@inrae.fr>
Date: Tue, 24 Sep 2024 08:01:03 +0200
Subject: [PATCH 16/21] Ajouter des ressources sur README

---
 04_avance_bonnes_pratiques/03_07_documentation.qmd | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/04_avance_bonnes_pratiques/03_07_documentation.qmd b/04_avance_bonnes_pratiques/03_07_documentation.qmd
index f38b133..9e595e2 100644
--- a/04_avance_bonnes_pratiques/03_07_documentation.qmd
+++ b/04_avance_bonnes_pratiques/03_07_documentation.qmd
@@ -105,9 +105,11 @@ Point d’entrée par convention pour se renseigner sur un projet et utiliser le
 Exemple de structuration : titre, description, fonctionnalités, dépendances techniques, installations, exemples d’utilisation.
 
 ::: callout-tip
-## Ressource
+## Ressources
 
-Outil en ligne pour la mise en forme : https://readmi.xyz/
+- Outil en ligne pour la mise en forme : https://readmi.xyz/
+- [Art of readme version française](https://github.com/hackergrrl/art-of-readme/blob/master/README-fr.md)
+- [Software Release Practice](https://tldp.org/HOWTO/Software-Release-Practice-HOWTO/distpractice.html#readme)
 :::
 
 ---
-- 
GitLab


From 09bdfbb16ac2086facc26196844700350e1a6ffd Mon Sep 17 00:00:00 2001
From: Olivier Maury <Olivier.Maury@inrae.fr>
Date: Tue, 24 Sep 2024 08:01:47 +0200
Subject: [PATCH 17/21] Typo Markdown

---
 04_avance_bonnes_pratiques/03_07_documentation.qmd | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/04_avance_bonnes_pratiques/03_07_documentation.qmd b/04_avance_bonnes_pratiques/03_07_documentation.qmd
index 9e595e2..d807169 100644
--- a/04_avance_bonnes_pratiques/03_07_documentation.qmd
+++ b/04_avance_bonnes_pratiques/03_07_documentation.qmd
@@ -107,7 +107,7 @@ Exemple de structuration : titre, description, fonctionnalités, dépendances te
 ::: callout-tip
 ## Ressources
 
-- Outil en ligne pour la mise en forme : https://readmi.xyz/
+- Outil en ligne pour la mise en forme : <https://readmi.xyz/>
 - [Art of readme version française](https://github.com/hackergrrl/art-of-readme/blob/master/README-fr.md)
 - [Software Release Practice](https://tldp.org/HOWTO/Software-Release-Practice-HOWTO/distpractice.html#readme)
 :::
-- 
GitLab


From 9af039c152d6abe323d2081bde2950deb5d9ac05 Mon Sep 17 00:00:00 2001
From: Olivier Maury <Olivier.Maury@inrae.fr>
Date: Tue, 24 Sep 2024 08:38:26 +0200
Subject: [PATCH 18/21] Ajouter 01_07_organisation_projets.qmd

---
 .../01_07_organisation_projets.qmd                    | 11 +++++++++++
 .../{01_07_pipeline.qmd => 01_08_pipeline.qmd}        |  0
 .../{01_08_runner.qmd => 01_09_runner.qmd}            |  0
 04_avance_bonnes_pratiques/index.qmd                  |  5 +++--
 4 files changed, 14 insertions(+), 2 deletions(-)
 create mode 100644 04_avance_bonnes_pratiques/01_07_organisation_projets.qmd
 rename 04_avance_bonnes_pratiques/{01_07_pipeline.qmd => 01_08_pipeline.qmd} (100%)
 rename 04_avance_bonnes_pratiques/{01_08_runner.qmd => 01_09_runner.qmd} (100%)

diff --git a/04_avance_bonnes_pratiques/01_07_organisation_projets.qmd b/04_avance_bonnes_pratiques/01_07_organisation_projets.qmd
new file mode 100644
index 0000000..279b672
--- /dev/null
+++ b/04_avance_bonnes_pratiques/01_07_organisation_projets.qmd
@@ -0,0 +1,11 @@
+# Autres fonctionnalités de GitLab − Organiser les projets {.inverse}
+
+---
+
+TODO
+
+::: callout-tip
+## Ressources
+
+- Wiki de la forge CIRAD : [Scénarios d'affiliation](https://gitlab.cirad.fr/cirad/documentation/-/wikis/Les%20sc%C3%A9narios)
+:::
diff --git a/04_avance_bonnes_pratiques/01_07_pipeline.qmd b/04_avance_bonnes_pratiques/01_08_pipeline.qmd
similarity index 100%
rename from 04_avance_bonnes_pratiques/01_07_pipeline.qmd
rename to 04_avance_bonnes_pratiques/01_08_pipeline.qmd
diff --git a/04_avance_bonnes_pratiques/01_08_runner.qmd b/04_avance_bonnes_pratiques/01_09_runner.qmd
similarity index 100%
rename from 04_avance_bonnes_pratiques/01_08_runner.qmd
rename to 04_avance_bonnes_pratiques/01_09_runner.qmd
diff --git a/04_avance_bonnes_pratiques/index.qmd b/04_avance_bonnes_pratiques/index.qmd
index e50e2d1..aa655c4 100644
--- a/04_avance_bonnes_pratiques/index.qmd
+++ b/04_avance_bonnes_pratiques/index.qmd
@@ -23,8 +23,9 @@ editor: visual
 {{< include 01_04_groupe.qmd >}}
 {{< include 01_05_planification.qmd >}}
 {{< include 01_06_topic.qmd >}}
-{{< include 01_07_pipeline.qmd >}}
-{{< include 01_08_runner.qmd >}}
+{{< include 01_07_organisation_projets.qmd >}}
+{{< include 01_08_pipeline.qmd >}}
+{{< include 01_09_runner.qmd >}}
 {{< include 01_10_mattermost.qmd >}}
 
 {{< include 02_00_git.qmd >}}
-- 
GitLab


From 7e4b1a5d58ab0c5e941cd550d8bf54fee203b2e4 Mon Sep 17 00:00:00 2001
From: Olivier Maury <Olivier.Maury@inrae.fr>
Date: Wed, 2 Oct 2024 15:56:34 +0200
Subject: [PATCH 19/21] =?UTF-8?q?Permettre=20la=20navigation=20=C3=A0=20l'?=
 =?UTF-8?q?aide=20de=20la=20molette=20de=20souris=20(comme=203fb2b999).?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 04_avance_bonnes_pratiques/index.qmd | 1 +
 1 file changed, 1 insertion(+)

diff --git a/04_avance_bonnes_pratiques/index.qmd b/04_avance_bonnes_pratiques/index.qmd
index aa655c4..e12afd2 100644
--- a/04_avance_bonnes_pratiques/index.qmd
+++ b/04_avance_bonnes_pratiques/index.qmd
@@ -5,6 +5,7 @@ format:
     footer: "Formation Git / GitLab − Session 4 : GitLab et Git avancés et bonnes pratiques"
     slide-number: true
     show-slide-number: all
+    mouse-wheel: true
     transition: none
     menu:
       useTextContentForMissingTitles: false
-- 
GitLab


From 157d9a3e1c24891d98513e1d4d3a36d5e5449c02 Mon Sep 17 00:00:00 2001
From: Olivier Maury <olivier.maury@inrae.fr>
Date: Tue, 3 Dec 2024 18:37:34 +0100
Subject: [PATCH 20/21] Mentionner squash dans 02_04_rebase-i.qmd

---
 04_avance_bonnes_pratiques/02_04_rebase-i.qmd | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/04_avance_bonnes_pratiques/02_04_rebase-i.qmd b/04_avance_bonnes_pratiques/02_04_rebase-i.qmd
index c75309b..243a3dd 100644
--- a/04_avance_bonnes_pratiques/02_04_rebase-i.qmd
+++ b/04_avance_bonnes_pratiques/02_04_rebase-i.qmd
@@ -1,5 +1,13 @@
 ## `git rebase --interactive`
 
+Objet : intégrer les modifications d’une branche dans une autre (ou la même)
+
+Cas d'utilisation :
+
+- réécrire l'historique
+- regrouper plusieurs commits (*squash*)
+
+
 ::: {.notes}
 https://git-scm.com/docs/git-rebase https://git-scm.com/book/fr/v2/Les-branches-avec-Git-Rebaser-Rebasing
 :::
-- 
GitLab


From d04fbb5e0908d233e6b4e0c1f6a696bfe9e02516 Mon Sep 17 00:00:00 2001
From: Olivier Maury <Olivier.Maury@inrae.fr>
Date: Mon, 3 Feb 2025 10:40:59 +0100
Subject: [PATCH 21/21] =?UTF-8?q?Ajout=20du=20badge=20num=C3=A9rique=20SWH?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 04_avance_bonnes_pratiques/04_03_software_heritage.qmd | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/04_avance_bonnes_pratiques/04_03_software_heritage.qmd b/04_avance_bonnes_pratiques/04_03_software_heritage.qmd
index fc3a46b..5f39f0b 100644
--- a/04_avance_bonnes_pratiques/04_03_software_heritage.qmd
+++ b/04_avance_bonnes_pratiques/04_03_software_heritage.qmd
@@ -1 +1,11 @@
 ## Software Heritage {#sec-software-heritage}
+
+### Badge numérique
+
+Il est possible d'ajouter le badge dans le projet GitLab
+
+Menu _Général > Badges numériques_ :
+
+- Nom : `Software Heritage`
+- Lien : `https://archive.softwareheritage.org/browse/origin/?origin_url=https://%{gitlab_server}/%{project_path}`
+- URL de l'image : `https://archive.softwareheritage.org/badge/origin/https://%{gitlab_server}/%{project_path}`
-- 
GitLab