Permettre un travail collaboratif sur un grand framework si puissant tel que le framework Symfony est essentiel dans un projet complexe. Dans cet article, nous allons donc voir comment travailler avec le système de versionnage Subversion (svn).
 Les avantages sont importants:
 
- Travailler avec confiance en manières collaborative
 - Pouvoir revenir à une version précédente
 - permettre à plusieurs personnes de travailler efficacement sur le  projet
 - Un accès à toutes les versions successives de l’application
 
C’est parti!
 
 Créer un dossier de stockage partagé (repository)
 Un « Repository » ou dossier de stockage partagée , c’est le dossier où va être stocké  l’ensemble des modifications et ajouts apportés par les acteurs du projets.
 Nous allons donc créer ce répertoire :
 
	
	1 2
   |  mkdir /home/projects/sfProjectSymfolive
svnadmin create /home/projects/sfProjectSymfolive  | 
  Création de la structure de notre projet
 Un projet SVN se doit de comporter 3 dossiers principaux:
 
Le tronc (trunk) étant la version actuelle, et les branches/tags des versions de développement ou des versions passées qui continuent néanmoins à être maintenues.
 Créons donc cette structure dans un dossier temporaire, pour  l’intégrer au Repository:
 
	
	mkdir /tmp/project /tmp/project/trunk /tmp/project/tags /tmp/project/branchessvn import /tmp/project/ file:///home/projects/sfProjectSymfolive -m "Import de la structure"
 On obtient donc la structure arborescante suivante:
 
La copie de votre projet
 Une « copie de travail« , c’est une copie intégrale de votre projet que vous allez  pouvoir modifier, enrichir, recréer, tout en étant certain que chacune  des modification sera bien enregistrée dans le Repository. Il doit donc  exister autant de copies de travail que de personnes qui interviennent  sur votre projet.
 
	
	 cd /home/domains/sfProjectSymfolive svn co file:///home/projects/sfProjectSymfolive ./
 On a donc un répertoire qui contient nos trois dossiers: branches, tags et trunk. Nous allons rajouter un nouveau répertoire: vendor.
 Ajoutons-le donc avec:
 Il nous reste donc plus qu’a connecter ce répertoire à une copie distante de  Symfony. Cette manipulation permettra de récupérer automatiquement les  nouvelles mises à jour du package
 
	
	svn propedit svn:externals ./vendor
 Dans la fenêtre qui s’ouvre on rentre simplement le nom du package, puis  l’adresse SVN correspondant à la version que l’on souhaite récupérer.Dans notre exemple, c’est  la version 1.0
 
	
	symfony http://svn.symfony-project.com/branches/1.0/
 Nous allons donc envoyer nos changements aux repository :
 Une fois les changements effectués, faite un simple update de votre  copie de travail et le tour est joué 
 
 Et la lumière SVN fut  
   Le système récupère tout seul l’ensemble de l’arbre de  Symfony. L’avantage, c’est qu’à chaque correction de bug sur la branche  que vous avez choisie, votre version locale sera immédiatement  modifiée, à  chaque fois que vous ferez un update.
  Création du projet Symfony
 Dans Symfony, toutes les lignes de commandes se font via l’intermédiaire du fichier symfony.bat. Dans notre arborescence, l’executable symfony se trouve dans le répetoire vendor/data/bin/. Pour créer un projet, on va donc simplement se rendre dans le répertoire cible (trunk/ dans notre cas), puis ajouter un nouveau projet à partir de l’executable.
 
	
	 cd /home/domaines/sfProjectSymfonylive/trunk // toujours notre copie de travail php5 /home/domaines/sfProjectSymfolive/vendor/symfony/data/bin/symfony init-project sfProject
 Quelques réglages
 Une simple  commande permet d’ajouter tous les nouveaux fichiers en une seule passe:
 Ensuite on intègre les changements au repository
 Et voila! Le tour es joué  
 
 Je finirai par vous montrer que tous ces lignes de commandes peuvent se fair graphiquement via le logiciel Toirtoise SVN:
YouTube- Installing and using TortoiseSVN!
  Billet original
						
					
Partager