banniere
BLUMAX WebSite
Espace privé
Adresse courriel :
Mot de passe :
Stat
  • 4 inscrits sur le site
  • 0 personne en ligne
  • 38 téléchargements
  • 34 articles
  • 59 réponses dans la FAQ
  • Les 2 derniers inscrits
    - Airwheel
    - PoPo
Articles - Développement Web - x) SVN pour la gestion des versions

Resumer : Travailler a plusieurs c'est bien, mais pas évident ! SVN aussi appeler Subversion, est la pour résoudre ce problème et plus. Relativement simple a utilisé coté client, a contrario coté serveur ce n'est pas forcement évident.

Sommaire :
1) Installer SVN serveur
a) Sous Debian
b) Sous Windows
2) Configuré le serveur Subversion
a) Global
b) Avancé
I) Obliger a metre un commentaire
I) Autre
3) WebSVN
a) Installation
b) Configuration
b) Crée un utilisateur
4) Utilisé SVN en tante que client
a) Sous Windows
I) Installer TortoiseSvn
II) Configuré TortoiseSvn
5) LA SUITE

Travailler a plusieurs c'est bien, mais pas évident ! SVN aussi appeler Subversion, est la pour résoudre ce problème et plus. Relativement simple a utilisé coté client, a contrario coté serveur ce n'est pas forcement évident.
Dans quelle cas utilisé SVN ?
Si vous prévoyez de travaille seul sur un projet, SVN vous sera utilise mais pas indispensable. A plusieurs il vous sera utile et indispensable. Prenom un exemple simple utilisateur1 veux modifier le fichier fichier.php, utilisateur2 est déjà entrain de travailler sur ce fichier, utilisateur2 envoi sa dernier version et utilisateur1 aussi, l'algo de subversion va donner le reulta suivant : vous avez un fichier final avec les modification de utilisateur1 et utilisateur2 !


1) Installer SVN serveur


L'installation est relativement facile, la configuration elle est... d'après moi compliqué surtout au début. Dans tout les cas il vous faut un serveur LAMP ou WAMP configuré correctement, allez voir mes autre articles pour cela.

Remarque : Le port utiliser par svn est : 3690

a) Sous Debian


On commence par installer Subversion avec la commande :
apt-get install subversion
Jusque la, pas tres dificielle ! Normal on est sous debian

Maintenand il faut crée un dépot. Par habitude je mait tout cela dans /var, créon donc un répertoire :
mkdir /var/svn

Il ne reste plus qu'a lancer le serveur :
svnserve -d -r /var/svn

Pour vous éviter de retaper cette commande a chaque redémarrage vous pouvez aussi crée un script pour le démarrage de votre serveur.
Crée un fichier svnserve dans /etc/init.d :
nano /etc/init.d/svnserve
Puis dans ce fichier inscrire :
#! /bin/sh

startSVN () {
svnserve -d -r /var/svn --pid-file /etc/subversion/pid
}

stopSVN () {
echo "Pas de commeande stop pour le moment"
}

case "$1" in
start)
startSVN
;;
stop)
stopSVN
;;
restart|reload|force-reload)
echo "Erreur: argument '$1' non supporter" >&2
exit 3
;;
*)
echo "Usage: $0 start" >&2
exit 3
;;
esac


Ensuite il faut rendre ce script exécutable : chmod 111 /etc/init.d/svnserve
Puis l'enregistré :
update-rc.d svnserve defaults
Plusieur ligne du type :
Adding system startup for /etc/init.d/svnserve ...
/etc/rc0.d/K20svnserve -> ../init.d/svnserve
/etc/rc1.d/K20svnserve -> ../init.d/svnserve
/etc/rc6.d/K20svnserve -> ../init.d/svnserve
/etc/rc2.d/S20svnserve -> ../init.d/svnserve
/etc/rc3.d/S20svnserve -> ../init.d/svnserve
/etc/rc4.d/S20svnserve -> ../init.d/svnserve
/etc/rc5.d/S20svnserve -> ../init.d/svnserve
Vons s'afficher. C'est parfait !

Maitenand vous pouvez le lancer :
/etc/init.d/svnserve start

Si un jour vous souhaiter supprimer ce lanceur :
update-rc.d -f svnserve remove


b) Sous Windows


[lien=http://blumax.fr/download.php?artcileID=9]Télécharger Subversion[/lien]
Lancer l'installation le programme
Next -> Next -> Choisire pour apache 2.2 -> Next -> Next -> Install

Clique droit sur Poste de travail -> Propriété
Onglet Avancé
Bouton Variables d'environement
Dans variable system cliquer sur nouveau :
Nom : SVN_EDITOR
Valeur : C:\WINDOWS\notepad.exe

Redémarré pour activer les modification

Crée un dossier svn dans c:

Pour lancer le serveur dans un inviter de commande tapez :
svnserve -d -r "c:\svn"
Attention : Windows, peux vous demande si vous voulez débloquer le programme : dit : Débloqué
Comme vous pouvez le remarqué, le fenêtre ms-dos, ne redonne pas la main (toutefois le programme fonction réellement).
Pour l'arrété fait : CTRL + C.
Copie le fichier service disponible ici : http://blumax.fr/download.php?artcileID=10 dans C:\Program Files\Subversion\bin ensuite dans l'invité de commande tapez :
cd C:\Program Files\Subversion\bin
ensuite :
svnservice -install --daemon --root "c:\svn"

Il ne vous rest plus qu'a dir a Windows de le demaré automatiquement au demarage de windows :
Démarrer -> Paramètre -> Panneau de configuration
Outils d'administration -> Services
Double clique sur SVNService
Changer "Type de démarrage" en "Automatique" ensuite appuyer sur le bouton Démarrér pour finir appuyer sur OK, et fermer la fenetre "Service"





2) Configuré le serveur Subversion


a) Global


Le dossier c:\svn ou /var/svn, est le repertoir de Subversion, dans ces repertoire il faut donc crée un premier depos, que l'on va nommmé "projet1"

Ouvrire une console (cmd).
Pour windows Démarrer -> Executer. Tapez cmd puis entrée.
Pous linux : vous devez savoir comment fair

tapez la commande :
pour linux : svnadmin create "c:\svn\projet1"
pour windows : svnadmin create /var/svn/projet1

b) Avancé


I) Obliger a metre un commentaire


Quand un client va envoyer une nouvelle version il est souhaitable que le développeur mettent des commentaires. Cette solution va simplement l'obligé ! Subversion dispose d'un mécanisme d'exécution, post & pré commit.
J'explique la manipulation sous Linux pour les autres sa sera plus tard.
Alez dans le repertoire hooks du depot :
cd /var/svn/projet1/hooks/
Faite
cp pre-commit.tmpl pre-commit (Copie le fichier)
Rendre ce fichier executable :
chmod 777 pre-commit
Editer ce fichier
nano pre-commit
Supprimer tout le contenu et coller ce code :

#!/bin/sh

REPOS="$1"
TXN="$2"

SVNLOOK=/usr/bin/svnlook
$SVNLOOK log -t "$TXN" "$REPOS" | \
grep "[a-zA-Z0-9]" > /dev/null
if [ $? -ne 0 ] ; then
echo "Mettez un message dans le commit.">/dev/stderr
exit 1
fi

exit 0

I) Autre


J'ai vue sur Internet un script qui vérifié si le code PHP, ne lancé aune alerte, et dans ce cas autoriser le commit, ce qui peux être très pratique. Je me pencherais sur cela bientôt.


3) WebSVN


Maitenand que votre serveur est crée, il doit etre fonctionel, trois posibilité s'offre a vous :
- Utilisé SVN directement
- Utiliser un mecanisme lier a apache pour naviger dans votre projet (Moche avec aucune option)
- Installer WebSVN qui permet d'avoir des page comme cel-ci :

[PHOTO1][PHOTO2][PHOTO3][PHOTO4]

Cette étapes n'est pas obligatoire, mais permet par exemple sa savoir qui a écrit cette ligne ! Si cela ne vous interese pas passes directement au grand 4.

a) Installation


J'ecriré cette partie plus tard, car facultative

b) Configuration


J'ecriré cette partie plus tard, car facultative

b) Crée un utilisateur


htpasswd /var/svn/svn-passwords blumax

4) Utilisé SVN en tante que client


Cette partie ne concerne que le développement web. Car je vais partir dans le principe que WAMP est installer sur votre ordinateur.

Remarque : Cher amie manchot, je vous invite a faire une recherche sur Google, n'utilisant Linux seulement pour des serveur, mon expérience en développement se limite a Windows.

a) Sous Windows


I) Installer TortoiseSvn


http://blumax.fr/download.php?artcileID=11
Suivant->Suivant... rien de plus simple !

II) Configuré TortoiseSvn


Alez dans le dossier C:\wamp\www, dans celui-ci crée un dossier avec le nom qui vous convient.
Fait un clique droit sur celui-ci et cliquer sur "SVN Checkout...", renseigné le champs "URL of repository", indiquer l'url comme ceci : "svn://blumax.fr/projet1"
Fait ok.

Si votre serveur vous oblige a metre un commentaire proceder a cette manipulation qui bloquera le bouton OK tant qu'aune message est renseigné.
Clique droit sur le repertoire du projet puis TortoiseSVN -> Properties
Une fenetre souvre cliquer sur le bouton New...
Dans "Property name" choisire : "tsvn:logminsize"
Et dans "Property value" metre 1. Faite OK. Puis encore OK.

SVN récupère la dernier version

Vous pouvez travailler sur vos fichier.

Après avoir travailler sur votre projet, fait un clique droit sur le dossier du projet et fait SVN Commit..., ecrivé un petit message, selectioner les fichier que vous voulez ajouter si vous l'avez fair ou cloquer sur "Select/deselect all" pour tout ou rien cocher puis fait OK

Note : Il est important de faire une update avant de travailler, vérifié que personne na fait de modifé sur un fichier, et comme sa vous ete sur d'avoir la dernier version.

5) LA SUITE


Je me demande comment envoyé directement une nouvelle version directement sur le serveur de production, ... Je vous répondré plus tard.

Par Blumax le 17/04/2015
Aucun commentaire
Vous devez vous connecter pour poster un commentaire
© 2004-2022 blumax.fr