Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 14/04/2008, à 22:16

insomniak

SVN pour mise à dispo sur le web

Bonjour à tous,

Voilà, cherchant quelque chose de complet pour le versionning mais aussi pour pouvoir éviter de me taper des uploads via un client ftp, je me suis dit que je pourrais jetter un coup d'oeil du coté de WebDav ou SVN (qui ont bien deux buts différents, j'en conviens).

Le truc c'est que j'ai des problemes entre webdav et Xp (xp ne veut pas se logger tandis que sous mac ça fonctionne très bien)
Donc j'ai installé et testé rapidement SVN que je ne connaissais pas. J'avoue trouver ça génial mais maintenant j'ai une question existencielle :

Est-il possible d'avoir la totalité des fichiers/repertoires de la derniere version dispo du projet placés tels que dans un repertoire ?
Je m'explique :
Prenons l'exemple du dev d'un site web : je fais des modifs en local, mais j'aimerai pouvoir me servir de SVN pour gérer les versions mais aussi - tant qu'à faire - pour l'upload des fichiers ! Le problème est que quand je jette un oeil sur mon serveur dans le repertoire svn je n'ai pas du tout ces fichiers d'accessibles...
Donc comment faire ?
Merci par avance
@ bientot

Hors ligne

#2 Le 15/04/2008, à 14:41

pouchat

Re : SVN pour mise à dispo sur le web

tu utilises quel IDE ? car nombreux sont ceux qui intègrent un client SVN. Du coup tu développes simplement avec ton éditeur et celui-ci commit directement avec ton serveur SVN. Du coup plus besoin de webdav,ftp.

Hors ligne

#3 Le 15/04/2008, à 18:19

insomniak

Re : SVN pour mise à dispo sur le web

Salut Pouchat

Alors je dirais que dans un sens l'IDE utilisé importe peu dans ma question (car à la limite je pourrais éditer avec le bloc note ou autre ça serait pareil).
En fait ma question porte surtout sur la publication web.
Quand je regarde dans le repertoire SVN je ne retrouve aucun de mes fichiers mais seulement une arbo à la sauce subversion. Donc vala ! moi j'aimerai faire un lien symbolique de /var/www -> /mon_rep_svn
Mais à priori subversion fait un compactage des fichiers si je ne dis pas de bétise...
Bref, une idée sur la question ?
Merci d'avance
@+

Hors ligne

#4 Le 17/04/2008, à 00:10

JoelS

Re : SVN pour mise à dispo sur le web

insomniak a écrit :

Bref, une idée sur la question ?

Oui: ne fait pas ça. SVN va stocker à sa sauce les fichiers et méta-données, tu ne peux pas les exploiter directement comme des fichiers. D'ailleurs, suivant le type de stockage utilisé, ça pourra ne pas être des fichiers du tout. C'est l'API de SVN (soit en ligne de commande soit celle fournie par les libs) qui te présente le tout comme une hiérarchie cohérente de fichiers et répertoires.

Il vaut mieux faire un svn export ou un svn checkout + svn update de la branche ou du tronc qui est supposé contenir ta dernière version. Tu peux même automatiser ça avec un hook post-commit, qui se déclenchera à chaque (fin de) modification de cette branche ou du tronc.

Hors ligne

#5 Le 17/04/2008, à 08:17

insomniak

Re : SVN pour mise à dispo sur le web

Salut !
Merci pour ta réponse ! J'étudie toujours comment fonctionne subversion car à vrai dire jusque là les tests faits en entreprise ne sont pas hyper concluants (les locks ne se posent pas très bien, du moins, la visibilité des locks est pas très claire sad )

@ bientot

Hors ligne

#6 Le 17/04/2008, à 10:01

misterniark

Re : SVN pour mise à dispo sur le web

tu as un exemple de hook post-commit avec svn ? savoir comment ca ce met en place ?

Merci


Ubuntu since 2006

Hors ligne

#7 Le 17/04/2008, à 14:11

pouchat

Re : SVN pour mise à dispo sur le web

j'utilise surtout git, je ne l'ai pas proposé car je croyais qu'il ne tournait pas sous windows (ton 1er post). Apparament si depuis peu : http://code.google.com/p/msysgit/

Il dispose d'un module, gitweb (un script cgi en fait), qui permet d'avoir une interface web de consultatation.

Git est vraiment très simple d'emploi et puissant. A tester si tu connais pas.

Hors ligne

#8 Le 19/04/2008, à 14:50

JoelS

Re : SVN pour mise à dispo sur le web

@pouchat: j'ai cru comprendre qu'insomniak voulait exposer sur le Web non pas le code source de son appli (c'est ce que fais gitweb, non?), mais son appli Web elle-même. Si je me suis trompé, il existe bien sûr des applis Web permettant de parcourir les dépots SVN. Nous on utilise Trac qui embarque un browser SVN, mais il y en a des indépendants.

@insomniak: pourquoi tu veux poser des locks ?

@misterniark: le mieux, c'est quand même de regarder la doc ici http://svnbook.red-bean.com/, et plus particulièrement le passage sur le fonctionnement des hooks http://svnbook.red-bean.com/en/1.4/svn. … reate.html, ainsi qu'un exemple présenté ici http://svnbook.red-bean.com/en/1.4/svn. … art-commit

Bon, c'est en anglais, mais comme 99% des infos cherchées se trouvent sur Internet et que 99% des infos trouvées sur Internet sont en anglais, autant s'y mettre sérieusement tout de suite :-)

Hors ligne

#9 Le 20/04/2008, à 22:34

insomniak

Re : SVN pour mise à dispo sur le web

JoelS a écrit :

@insomniak: pourquoi tu veux poser des locks ?

Pour éviter les acces concurrents. Vu que nous avons plusieurs personnes pouvant travailler ponctuellement sur un meme projet, j'aimerai qu'on ne puisse pas le faire en meme temps. Or quand je pose un lock via tortoise svn sous xp et que je tente d'acceder au fichier via une autre machine xp, il ne m'envoie pas bouler, rien du tout... (navré je parle de xp car ce sont les postes clients, mais le serveur lui est bien un ubuntu wink )

Hors ligne

#10 Le 20/04/2008, à 23:26

JoelS

Re : SVN pour mise à dispo sur le web

insomniak a écrit :

Pour éviter les acces concurrents. Vu que nous avons plusieurs personnes pouvant travailler ponctuellement sur un meme projet, j'aimerai qu'on ne puisse pas le faire en meme temps. Or quand je pose un lock via tortoise svn sous xp et que je tente d'acceder au fichier via une autre machine xp, il ne m'envoie pas bouler, rien du tout... (navré je parle de xp car ce sont les postes clients, mais le serveur lui est bien un ubuntu wink )

Tu écris:

insomniak a écrit :

... je tente d'acceder au fichier via une autre machine xp, il ne m'envoie pas bouler, rien du tout...

A partir de la deuxième machine XP, tu tentes d'accéder au fichier locké dans le dépôt SVN, ou bien au fichier qui est sorti sur la première machine XP ? Si c'est le deuxième cas, c'est normal, le lock ne porte que sur le dépôt pas sur la working copy.

Attention, justement avec SVN par défaut on est pas en mode lock. Le mode lock oblige à maintenir un état sur le dépôt de ce qui est sorti, et à intervenir sur les locks pour débloquer une situation par exemple (cas d'un dev absent mais nécessité absolue de modifier le fichier qu'il a locké). SVN utilise un autre mode (sans état) mais contrôle au moment de la remise des modifications dans le dépôt s'il y a conflit entre la version utilisée par le dev et celle à jour dans le dépôt. Ca marche très bien. Ca oblige aussi à ne modifier que ce qui est nécessaire pour éviter au maximum les conflits, ou bien a utiliser des branches de développement séparées et à les synchroniser de temps en temps. Bon tu peux aussi locker avec SVN mais il faut garder ça pour les fichiers très sensibles.

Hors ligne

#11 Le 21/04/2008, à 19:23

insomniak

Re : SVN pour mise à dispo sur le web

Salut,
En fait je me suis rendu compte que SVN permet de travailler autrement comme tu l'expliques mais surtout que dans la réalité (d'après les retours de posts que j'ai pu avoir) le fait de locker pose plus de problèmes qu'autre chose...

Merci pour ta confirmation de tous ces posts wink

Par contre je me pose une autre question : sous ubuntu j'ai remarqué qu'il y avait des fichiers de conf dans /etc/subversion. Le truc c'est que j'ai fait l'install du module apache et non du serveur normal.

- Pour que les modifications soient prises en compte il faut faire quoi ? redémarrer Apache ?
- Est-ce un bon choix d'avoir pris le module apache au lieu du serveur normal ?

Merci d'avance

Hors ligne

#12 Le 21/04/2008, à 22:22

JoelS

Re : SVN pour mise à dispo sur le web

Pour les usages de SVN, regardes le bouquin en ligne cité dans un de mes posts précédants sur ce fil. Il est bien sûr en anglais, mais assez facile à lire quand même et il contient pas mal d'infos intéressantes sur les principes de bases, les trucs un peu sioux et des exemples. On a commencé comme ça. Ensuite si tu peux essayer sur un petit projet pour te faire la main, c'est pas mal. Il faut surtout comprendre que SVN n'impose presque rien en matière d'organisation, tu peux même adapter les modes en fonction du projet, et même éventuellement changer d'organisation en cours de projet.

Pour tes 2 dernières questions: 1) je ne sais pas trop répondre, je n'administre pas le serveur Apache et SVN au boulot 2) on utilise aussi les deux modes WebDAV (donc apache) de la navigation via FireFox et svn pour permettre des accès dans des scripts par ligne de commande. Je pense que les 2 sont utiles.

Hors ligne

#13 Le 22/04/2008, à 15:16

misterniark

Re : SVN pour mise à dispo sur le web

@JoelS:

Merci beaucoup pour les liens


Ubuntu since 2006

Hors ligne

#14 Le 22/04/2008, à 15:28

NooP

Re : SVN pour mise à dispo sur le web

Ce que tu veux faire est tout à fait possible, mais pour être sur, je vais t'expliquer ce que j'ai compris de ta question.

Tu souhaites développer un site web avec SVN, et que tu publies celui ci dans ton serveur subversion, qui est par la même occasion ton répertoire de site web .

Alors, il faut procéder comme cela, par exemple:

Ton SVN est dans : /var/www/subversion

Tu as ta version de dév dans : /var/www/subversion/trunk

Pour que ta mise à jour subversion soit aussi celle de ton site :

Tu peux par exemple modifier ton 'DocumentRoot' d'apache :

DocumentRoot /var/www/subversion/trunk

<Directory />
  Options FollowSymLinks
  AllowOverride None
</Directory>

<Directory /var/www/subversion/trunk/>
  Options Indexes FollowSymLinks MultiViews
  AllowOverride All
  Order allow,deny
  allow from all
</Directory>

Votez Macron, vous l'aurez dans le fion !

Hors ligne

#15 Le 22/04/2008, à 18:59

insomniak

Re : SVN pour mise à dispo sur le web

@Noop : tu as bien compris le principe mais je n'ai à aucun endroit la version de dev de dispo telle que. Tout est dans un fichier representant la révision, donc j'ai autant de fichiers que de révisions.
Je n'ai meme pas de repertoire Trunk... En gros c'est subversion qui fait sa sauce tout seul...

Dernière modification par insomniak (Le 22/04/2008, à 21:41)

Hors ligne

#16 Le 25/04/2008, à 00:50

JoelS

Re : SVN pour mise à dispo sur le web

NooP a écrit :

Ton SVN est dans : /var/www/subversion
Tu as ta version de dév dans : /var/www/subversion/trunk

Non, ça c'est valable si c'est la working copy qui est à cet endroit, pas le dépôt en lui même. Or insomniak parlait bien de mettre en ligne le dépôt.

Hors ligne

#17 Le 25/04/2008, à 01:02

insomniak

Re : SVN pour mise à dispo sur le web

Euh y'a un truc là... je crois pas qu'on utilise la meme chose... Vous parlez bien du serveur subversion ? (perso j'utilise le serveur via le mod apache).
A aucun endroit je n'ai de working copy inscrite en clair sur mon serveur ! Tout ce que je publie est compacté dans un fichier portant comme nom le numéro de révision !
Est-ce que vous pourriez m'expliquer ce délire ? je comprend plus rien du tout sad
Merki

Hors ligne

#18 Le 25/04/2008, à 09:08

NooP

Re : SVN pour mise à dispo sur le web

Méa culpa.

J'ai repris la configuration de mon serveur web/subversion.

Effectivement, je fais pointer mon serveur web sur ma copie de travail. Le serveur subversion étant en parallèle avec ce répertoire.


Votez Macron, vous l'aurez dans le fion !

Hors ligne