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