Commit e6c7a4d1 authored by Grégory Mounié's avatar Grégory Mounié
Browse files

programme du cours Météofrance 2021

programme et TODO à faire pour la mise en ligne du cours avant le 26 avril.
parent c570d2e4
......@@ -3,25 +3,40 @@ fondamentaux de l'outil et aux principales manipulations. L'accent
sera mis sur les moyens pour faciliter la maintenance à long terme. En
particulier la gestion des branches.
* TODO POUR LA MISE EN LIGNE [0/11]
- [ ] Intro à git: revoir l'historique
- [ ] Image docker pour compiler le latex
- [ ] configurer le gitlab pour metre en ligne automatiquement
- [ ] nettoyage sur les slides de débutants
- figures, popularity contest
- [ ] Demander au service info si ils peuvent avoir accès au
gitlab.ensimag.fr et dans quelles conditions ?
- [ ] nettoyage du tp1 (pour le passer à gitlab, prendre celui de l'ensimag Unix)
- [ ] CC-BY-SA dans le template slides
- [ ] TP2 historique: mettre dumb-project dans le gitlab
- [ ] TP2 flow: le passer à gitlab, prendre celui de l'ensimag Unix ou Mosig
- [ ] TP2 flow: ajouter un pull-request, faut-il creer le deuxième
par un fork gitlab ?
- [ ] TP rajouter VSCode à la place d'eclipse
* 1/2 jour 1: Principes et fondamentaux
** Introduction à Git (1h)
** TODO Introduction à Git (1h)
L'objectif de cette session est d'introduire les concepts liés à la
gestion de version avec Git. Un accent particulier sera mis sur les
apports de Git pour la gestion de version, et sur ses différences
fondamentales avec les autres gestionnaires de version (SVN en
particulier).
apports fondamentaux de Git pour la gestion de version; Quelques
aspects historiques, en particulier SVN, pourront être abordé.
Contenu de la session :
- Qu'est-ce que la gestion de version ?
- Git : perspective historique
- *TODO* Git : perspective historique
- Comprendre Git par l'exemple
- Avant de débuter : quelques conseils et configuration
** TP1 (2h)
** TODO TP1 (2h)
L'objectif de ce premier TP est de faire ses premiers pas avec git. On
commencera par configurer l'environnement, puis nous illustrerons par
......@@ -31,7 +46,7 @@ de version (en environnement mono-utilisateur), avant d'expérimenter
les commandes permettant de travailler dans un environnement
multi-utilisateur, sur un dépôt partagé.
** Comprendre le modèle de données de Git (1h)
** DONE Comprendre le modèle de données de Git (1h)
À première vue, l'utilisation de Git peut sembler relativement
compliquée, et l'on peut vite se retrouver perdu dans les nombreuses
......@@ -47,9 +62,9 @@ qu'il y a derrière la notion de commit, de branche, de tag, et comment
agissent la plupart des commandes de base.
* 1/2 jour 2: Les branches et les modes de développement
* 1/2 jour 2: Historique et les outils annexes
** Un historique clair (30 minutes)
** DONE Un historique clair (30 minutes)
Nous verrons dans cette section pourquoi la clarté de l'historique est
un préalable à la production de logiciel de qualité, et comment cela
......@@ -58,23 +73,37 @@ important d'avoir des /commits/ de qualité et ce que cela signifie. Nous
verrons également comment, à partir de /commits/ bien produits, remonter
dans l'historique pour identifier plus efficacement une erreur.
** TP2 (30 minutes)
Nous illustrerons les principes de la recherche d'erreur dans
l'historique sur un petit exemple. L'objectif est ici d'introduire la
notion de recherche par bisection.
** Réécrire l'histoire (30 minutes)
** DONE Réécrire l'histoire (30 minutes)
L'objectif est ici de montrer comment on peut nettoyer l'historique
d'un dépôt. Après en avoir démontré l'intérêt pratique, nous
introduirons l'utilisation de la commande à =git rebase=.
** TP3 (30 minutes)
** TODO TP2 (30 minutes * 2)
L'objectif du TP est d'illustrer l'utilisation de la commande =git
Nous illustrerons les principes de la recherche d'erreur dans
l'historique sur un petit exemple. Le premier objectif est ici
d'introduire la notion de recherche par bisection.
Le deuxième objectif du TP est d'illustrer l'utilisation de la commande =git
rebase= sur un exemple de réécriture de l'historique d'un dépôt.
** TODO Les outils de base (1h): session de demonstrations
gitk et git gui sont des outils graphiques complets et livrés en
standard avec git. Ils permettent de réaliser de manière simple les
opérations plus courantes, y compris certaines de manière plus fine
et aisée qu'avec l'interface textuel.
** TODO Git et les IDE (1h): session de démonstrations
Les IDE propose une interface de manipulation de Git intégrée avec
l'édition du code. Ces interfaces ont parfois quelques limitations
mais permettent une gestion rapide des cas simples.
L'accent sera mis sur la gestion de Git en Eclipse.
* 1/2 jour 3: Les branches et gitlab
Eclipse, gitk, git gui, git cola, github/gitlab et quelques autres
outils simplifient la vie courante du programmeur utilisant git.
** Les différents workflows de Git (2h)
Après être revenus rapidement sur l'utilisation pratique des branches
......@@ -86,32 +115,20 @@ Ensuite, nous montrerons plusieurs modèles de développement typiques
(centralisé, triangulaire...) et illustrerons ces modèles de
développement sur des exemples concrets.
* 1/2 jour 3: Les outils annexes
Eclipse, gitk, git gui, git cola, github/gitlab et quelques autres
outils simplifient la vie courante du programmeur utilisant git.
** Les outils de base (1h)
gitk et git gui sont des outils graphiques complets et livrés en
standard avec git. Ils permettent de réaliser de manière simple les
opérations plus courantes, y compris certaines de manière plus fine
et aisée qu'avec l'interface textuel.
** Git et les IDE (1h)
Les IDE propose une interface de manipulation de Git intégrée avec
l'édition du code. Ces interfaces ont parfois quelques limitations
mais permettent une gestion rapide des cas simples.
L'accent sera mis sur la gestion de Git en Eclipse.
** Les forges web (2 h)
** TODO TP2 flow (branches)
Mettre une description du TP ici.
** TODO Les forges web (2 h): gitlab
Les forges web comme github et gitlab vont au-delà des aspects
purement coopératifs:
- site web et documentation incluent dans le projet
- gestion des issues liés au code
- gestion des branches
- gestion des membres
- édition en ligne
- gestion des membres: groupes, roles
- contributions externes par /pull request/
- tests automatiques de code
- revue de code
- tests automatiques de code (gitlab-CI)
- pages: site web et documentation incluent dans le projet
- édition en ligne
Contrairement aux forges précédentes, elles sont aussi centrées sur
les développeurs et non sur les projets.
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment