- Accessibilité (14)
- Actualité (27)
- Chiffres (18)
- Collectivités (15)
- Droit & TIC (15)
- DSI (14)
- e-Marketing (15)
- Green IT (14)
- Outils (15)
- Sécurité (15)
- Search Marketing (15)
- Web Développement (14)
- 24.3.2010: Quel est le navigateur internet préféré des pirates ?
- 17.3.2010: Février 2010 : Baromètre des navigateurs
- 10.3.2010: Février 2010 : Baromètre des systèmes d'exploitation
- 24.2.2010: Google et les underscores dans les URL
- 17.2.2010: Buzz : polémique autour du web social de Google
- 10.2.2010: E-commerce en France : 25 milliards d'euros en 2009
- 3.2.2010: Le site internet d'une collectivité locale doit-il être déclaré ?
- 27.1.2010: Green IT : pensez aux outils collaboratifs
- 20.1.2010: Les outils Bing pour les webmasters
- 13.1.2010: Sécurité d'un site Internet Joomla!
- mars : 2010
- février : 2010
- janvier : 2010
- décembre : 2009
- novembre : 2009
- octobre : 2009
- septembre : 2009
- août : 2009
- juillet : 2009
- juin : 2009
- mai : 2009
- avril : 2009
- mars : 2009
- février : 2009
- janvier : 2009
- décembre : 2008
- novembre : 2008
- octobre : 2008
- septembre : 2008
- août : 2008
- juillet : 2008
- juin : 2008
- mai : 2008
- avril : 2008
- mars : 2008
- février : 2008
- janvier : 2008
- décembre : 2007
- novembre : 2007
- octobre : 2007
- septembre : 2007
- août : 2007
- juillet : 2007
- juin : 2007
- mai : 2007
Mercurial : gestion de sources distribuée
Dans les solutions de gestion de sources, le modèle client-serveur, avec CVS et surtout SVN, a largement conquis le monde du développement en entreprise. Dans ce modèle, le développeur utilise un client dédié qui permet de se connecter à un serveur pour récupérer une copie locale d’une version précise du projet. Puis, une fois les modifications apportées au projet, le développeur bascule les modifications sur le serveur (Principe du checkout/commit). Enfin, pour éviter les conflits entre les modifications effectuées par différents développeurs, le modèle adopte soit le principe du verrouillage (seul le développeur qui souhaite modifier un source peut le faire), soit le principe de fusion (la dernière version d’un source est fusionnée avec la précédente).
En revanche, dans le domaine des projets communautaires, les développeurs utilisent de plus en plus des solutions utilisant un nouveau modèle : le modèle distribué. C’est le cas de projets comme python ou firefox qui ont adopté la solution Mercurial.
Dans une solution de sources dite “distribuée”, le principe consiste à ajouter un intermédiaire entre la copie de travail et le répertoire distant : le répertoire local, à partir duquel, désormais, vont se faire les checkout/commit classiques avant de transmettre les modifications effectuées au répertoire distant. Quel intérêt me direz vous à utiliser un tel système qui revient à “doublonner” le système C/S ?
En fait, un outil comme Mercurial permet de changer tout simplement d’échelle. Avec SVN, on est au niveau du fichier (au mieux d’une branche) alors qu’avec Mercurial, vous disposez en local d’un véritable “clone” du projet sur lequel vous avez la main pour tester, créer des branches, committer, revenir en arrière, etc. sans impacter forcément toute l’équipe de développement. Chacun peut maintenir sa propre branche dans son coin, avec ses propres patchs.
Un outil de gestion distribuée de versions est un outil qui permet à chacun de travailler à son rythme, de façon désynchronisée des autres, puis d’offrir un moyen à ses développeurs de s’échanger leur travaux respectifs.