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