Travail collaboratif distribué

Transcription

Travail collaboratif distribué
TRAVAIL COLLABORATIF
DISTRIBUÉ
Travail collaboratif distribué
Fabien Moutarde
1
Travail collaboratif distribué
• Pour travailler en équipe en parallèle, nécessité
d’un « référentiel commun » et d’outils pour
éviter/gérer les modifications concurrentes
• Idéal = utiliser un système de gestion de sources
type CVS ou SVN
– principe commun = « repository » central et chaque
développeur travaille sur copie locale
– cohérence/synchronisation assurée
• soit par système de « lock »,
• soit par update/commit avec aide à la résolution des conflits
Travail collaboratif distribué
Fabien Moutarde
2
Système de Gestion de Sources
(Source Code Management, SCM)
• Au départ dédié au pur développement logiciel,
et axé surtout versionnement + historisation
• Evolution vers travail réellement parallèle (pas de
verrouillage total), et distribué géographiquement
• Principe de SVN :
R
C3
C1
C2
• Pour autoformation SCM, CVS/SVN, voir :
http://www.coelho.net/cours/scm/
Travail collaboratif distribué
Fabien Moutarde
3
Notion de « forge »
• Hébergement de repository central (SVN, RCS
ou autre) + gestion des droits + outils divers
pour développement collaboratif
• Exemples :
– http://gforge.inria.fr
– http://sourceforge.net
Travail collaboratif distribué
Fabien Moutarde
4
Les « forges »
• Serveurs hébergeant les repositories CVS ou
SVN
• Peut être « local »/privé ou public
Liste et comparaison sites publics :
http://en.wikipedia.org/wiki/Comparison_of_open_source
_software_hosting_facilities
• Parmi ces sites publics, utiliser de préférence un
:
– qui permette choix CVS ou SVN
– bien « établi »
sourceforge.org
Travail collaboratif distribué
Fabien Moutarde
savannah.nongnu.org
5
Intégration SCM dans nombreux outils
• Dans Eclipse (built-in pour CVS, ou après
ajout d’un plugin dédié pour SVN)
Pour CVS, voir tutorial en ligne :
http://help.eclipse.org/help32/index.jsp?topic=/org.ecl
ipse.platform.doc.user/gettingStarted/qs-60_team.htm
Pour SVN, voir plugin Subclipse
(http://subclipse.tigris.org),
ou bien Subversive
http://www.eclipse.org/subversive/
• Intégrée à explorateur Windows avec
TortoiseCVS / TortoiseSVN (freewares)
• Dans Modelio aussi !!
Travail collaboratif distribué
Fabien Moutarde
6
Modélisation collaborative avec Modelio
• Module « SVN teamwork manager » permet travail collaboratif
parallèle facile à plusieurs sur un même modèle UML, via
l'utilisation de SVN
• AU PREALABLE, IL FAUT QUE CHAQUE MEMBRE DE L'EQUIPE
DISPOSE D'UN COMPTE SUR UNE MEME « FORGE » svn (par ex.
http://sourceforge.net/)
• Ensuite UN SEUL équipier crée 1 projet sur la forge, puis donne LES
DROITS DE MODIFICATIONS sur ce projet AUX AUTRES équipiers
• Enfin, chaque équipier crée sous Modelio un projet VIDE mais comportant
tous modules nécessaires (dont JavaDesigner + SVN teamwork) et LE
CONNECTE AU MEME REFERENTIEL svn COMMUN
• Au final, les équipiers peuvent travailler en parallèle sur des
portions différentes du même modèle UML : accès exclusif en
modification par verrou (« lock »), et mise en commun par « Livraisons »
(« Commit ») et « mise à jour » (« Update » )
Travail collaboratif distribué
Fabien Moutarde
7
Développement collaboratif
• Une fois modélisation terminée, et code Java généré,
travail collaboratif parallèle aussi pour développement,
avec svn (cf. plugin Eclipse)
• mais pas de « lock » ne pas trop modifier mêmes
fichiers sources en parallèle, pour éviter « merge »
pénibles…
Travail collaboratif distribué
Fabien Moutarde
8