Développement coopératif versus développement collaboratif ... · L'objec:f est que Git...
Transcript of Développement coopératif versus développement collaboratif ... · L'objec:f est que Git...
![Page 1: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/1.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 1
1
Développement coopératif versus développement collaboratif :
Quels processus de partage de
code et de contextes d'exécution ?
Quels workflows choisir ? Claire Mouton - CREATIS,Lyon,France
claire.mouton@crea:s.insa-lyon.fr
![Page 2: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/2.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 2
Du développement collaboratif au développement coopératif
Développement collaboratif Une équipe Un seul objectif Développement coopératif Des équipes/personnes
communauté plus ou moins informelle Plusieurs objectifs
nécessité de coopérer pour réutiliser des codes existants systèmes de plus en plus complexes
![Page 3: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/3.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 3
Développement coopératif
Plusieurs solutions Modularité Architecture micro-services SOA / WOA Standard Urbanisation … Ici, nous nous intéressons plus spécifiquement au développement d’une brique
logicielle Développement par composants
![Page 4: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/4.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 4
Le contexte d’exécution et les conteneurs
Contexte d’exécution Collaboration implique une variabilité potentielle des contextes d’exécution Conteneur Une solution pour s’affranchir de la variabilités des contextes d’utilisation intra ou
inter collaborateurs 1 service = 1 conteneur = 1 projet A versionner avec le code
![Page 5: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/5.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 5
Rappel des processus
![Page 6: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/6.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 6
Développement collaboratif: dépôt de code centralisé (SVN)
![Page 7: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/7.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 7
Développement collaboratif: dépôt de code centralisé (SVN)
Organisation
![Page 8: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/8.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 8
Développement collaboratif: dépôt de code centralisé (SVN) Rappel des processus : Récupérer un projet
![Page 9: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/9.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 9
Développement collaboratif: dépôt de code centralisé (SVN) Rappel des processus
![Page 10: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/10.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 10
Développement collaboratif: dépôt de code centralisé (SVN) Rappel des processus
![Page 11: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/11.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 11
Développement collaboratif: dépôt de code centralisé (SVN) Rappel des processus
![Page 12: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/12.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 12
Développement collaboratif: dépôt de code centralisé (SVN) Echanges avec le dépôt distant
commit update
![Page 13: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/13.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 13
Développement coopératif: dépôt de code décentralisé (Git)
![Page 14: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/14.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 14
Développement coopératif: dépôt de code décentralisé (Git)
Nouveautés par rapport à SVN : Aucun dépôt de référence par défaut Copie de travail = bac à sable Facilité de création /manipulation des branches Flexibilité Commandes disponibles hors ligne
![Page 15: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/15.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 15
Développement coopératif: dépôt de code décentralisé (Git) Organisation
Server repository [//server/repository/]
Working copy [~/my_project/]
• All versions • Ancestry information
• Private workspace • State information
Project 1 Project 1 Project 2
Project 3
Local repository [~/my_project]
• All versions • Ancestry information
Project 1
My computer Distant server
![Page 16: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/16.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 16
Développement coopératif: dépôt de code décentralisé (Git) Rappel des processus
clone
Repository
Developer A Repository
![Page 17: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/17.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 17
Développement coopératif: dépôt de code décentralisé (Git) Rappel des processus
clone
Repository
Developer A
Developer B
Repository
Repository
![Page 18: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/18.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 18
Développement coopératif: dépôt de code décentralisé (Git) Rappel des processus
development
Repository
Developer A
Developer B
Repository
Repository
![Page 19: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/19.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 19
Développement coopératif: dépôt de code décentralisé (Git) Rappel des processus
commit
Repository
Developer A
Developer B
Repository
Repository
![Page 20: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/20.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 20
Développement coopératif: dépôt de code décentralisé (Git) Rappel des processus
push
Repository
Developer A
Developer B
Repository
Repository
![Page 21: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/21.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 21
Développement coopératif: dépôt de code décentralisé (Git) Rappel des processus
pull
Repository
Developer A
Developer B
Repository
Repository
![Page 22: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/22.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 22
Développement coopératif: dépôt de code décentralisé (Git) Echanges entre dépôts : classiquement
Remote
Local
1. clone
2. commit
3. push
Remote
Local
1. pull
2. commit
3. push
![Page 23: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/23.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 23
Développement coopératif: dépôt de code décentralisé (Git) Echanges entre dépôts : tout est possible !
push pull
push pull
push
pull
pull
push
push
![Page 24: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/24.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 24
Développement coopératif: dépôt de code décentralisé (Git) Echanges entre dépôts : tout est possible !
http://liris.cnrs.fr/~pchampin/enseignement/intro-git/
![Page 25: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/25.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 25
Développement coopératif: dépôt de code décentralisé (Git) Echanges entre dépôts : tout est possible !
![Page 26: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/26.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 26
Workflows
![Page 27: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/27.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 27
Workflows à l’échelle des dépôts
![Page 28: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/28.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 28
Workflows à l’échelle des dépôts
Centralized workflow Similar to centralized version control, everybody can edit central repository.
![Page 29: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/29.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 29
Workflows à l’échelle des dépôts
Centralized workflow Similar to centralized version control, everybody can edit central repository.
![Page 30: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/30.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 30
Workflows à l’échelle des dépôts
Integration manager workflow
Developer create a request to merge its changes. Release masters chose which requests to merge.
![Page 31: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/31.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 31
Workflows à l’échelle des dépôts
Lieutenant workflow In huge projects, lieutenants are trusted individuals in charge of reviewing requests. http://themouette.github.io/slides-git/?theme=clermontech#/8/3
![Page 32: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/32.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 32
Workflows à l’échelle des branches
![Page 33: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/33.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 33
Workflows à l’échelle des branches
Branches principales permanentes Master Develop
![Page 34: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/34.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 34
Workflows à l’échelle des branches
Branches support temporaires
![Page 35: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/35.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 35
Workflows à l’échelle des branches
Branches support temporaires Feature/topic branches : workflow branche par fonctionnalité / ticket
![Page 36: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/36.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 36
Workflows à l’échelle des branches
Branches support temporaires Release branches
Préparation de prochaine release Correction de bugs mineurs Préparation des meta-data pour la release
![Page 37: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/37.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 37
Workflows à l’échelle des branches
Branches support temporaires Hotfix branches
Résolution d’un bug critique dans une version de production Le travail sur develop continue
![Page 38: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/38.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 38
Workflows à l’échelle des branches
Synthèse : workflow gitflow (Vincent Driessen) Branches master / develop, release-v* Branches de livraison versus maintenance
Source : http://nvie.com/posts/ a-successful-git-branching-model/
![Page 39: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/39.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 39
Workflows à l’échelle des branches
git-flow est un ensemble d'extensions git permettant des opérations de haut niveau sur un dépôt pour appliquer le modèle de branches de Vincent Driessen.
https://danielkummer.github.io/git-flow-cheatsheet/index.fr_FR.html
![Page 40: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/40.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 40
Workflows à l’échelle des branches
git-flow dans GitKraken https://support.gitkraken.com/repositories/git-flow
![Page 41: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/41.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 41
Workflow de duplication
![Page 42: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/42.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 42
Workflow de duplication Fork Clone en local Développement d’une nouvelle fonctionnalité Push Création de la pull request / merge request Review Commit de suivi Acceptation de la pull request Outil puissant pour équipes peu soudées
![Page 43: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/43.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 43
Workflow de duplication
Fork Pull request Merge request
Pull request
https://fr.atlassian.com/git/tutorials/making-a-pull-request
![Page 44: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/44.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 44
Workflow de duplication
Fork Pull request Merge request
Pull request : structure
![Page 45: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/45.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 45
Workflow Gitflow avec pull requests
![Page 46: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/46.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 46
Workflow Gitflow avec pull requests
![Page 47: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/47.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 47
Workflow Github flow
https://guides.github.com/introduction/flow/
![Page 48: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/48.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 48
Workflow Github flow
![Page 49: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/49.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 49
Workflow Gitlab flow
![Page 50: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/50.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 50
Références
http://nvie.com/posts/a-successful-git-branching-model/ https://fr.atlassian.com/git/tutorials/comparing-workflows https://docs.gitlab.com/ce/workflow/gitlab_flow.html https://forge.cnrs.fr/git/guide_d_utilisation_GIT-branchements.pdf 11 rules of Gitlab flow : https://about.gitlab.com/pdfs/the-eleven-rules-of-gitlab-flow.html git-flow cheatsheet :https://danielkummer.github.io/git-flow-cheatsheet/index.fr_FR.html
![Page 51: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/51.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 51
Conclusion
• A decentralized SCM remains a tool • No default usage policy • Policy to be defined
– From centralized to decentralized – Pull-only vs shared-push
Anarchic Centralized Linux kernel model Branch by functionality
or Release train
![Page 52: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/52.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 52
Conclusion
Choixd’unworkflowdépend:niveaud'autonomiequel'onsouhaitedonnerauxdéveloppeurs?tailledelastructure?commentsituésgéographiquement?processusautoma:sés?(ex:vérifica:ondesyntaxe)tempsdisponibleparlesreviewers?Lesworkflowsprésentésicinesontquedesexemplesdecequiestpossible.Cenesontpasdesrèglesimmuablessurl'u:lisa:ondeGitautravail.N'hésitezpasàadoptercertainsaspectsd'unworkflowetàenignorerd'autresL'objec:festqueGittravaillepourvous,pasl'inverse!
![Page 53: Développement coopératif versus développement collaboratif ... · L'objec:f est que Git travaille pour vous, pas l'inverse ! Développement coopéraf versus développement collaboraf](https://reader033.fdocuments.fr/reader033/viewer/2022060403/5f0eb3647e708231d44082ce/html5/thumbnails/53.jpg)
Développementcoopéra/fversusdéveloppementcollabora/f:quelsworkflowschoisir?–JDEV2017–ClaireMOUTON 53
Un moment pour échanger !
Et toi, tu fais comment pour collaborer ?!?
Quel workflow ?
Vos pratiques ? Vos retours d’expérience ? Des erreurs à ne pas faire / des conseils ? Des compléments à ma présentation ?