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 + +``` + +---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  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_  ``` ----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 {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  ``` -## 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