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.

#26 Le 02/04/2008, à 15:41

Orion Elenion

Re : [Résolu] De la bonne utilisation de Subversion

Martopioche a écrit :

Oui ben là pour une fois qu'on impose les bonnes solutions tu va pas te plaindre

Hop hop, je ne me plains pas ! Je suis d'accord que TortoiseSVN est très très bien fait... Je trouve juste un peu violent d'aller jusqu'à imposer le client.


Ubuntu is an ancient african word meaning : "I can't configure Debian".

Hors ligne

#27 Le 02/04/2008, à 16:56

gene69

Re : [Résolu] De la bonne utilisation de Subversion

on il n'est pas violent d'imposer un choix. C'est une chance car ça fait un point en moins à justifier.

Perso j'utilise un svn local pour mon dev personnel et je fais le contraire. Dans le tronc ya la version courante buggée sur laquelle il y a la dernière version et quand je suis content de moi je met à jour un autre dépot avec des release.

comme ça j'ai la possibilité d'avoir les diff entre les versions majeure et mineures plutot facilement. Je ne dis pas que c'est adapté à beaucoup d'utilisateurs... en tout cas ça permet d'avoir une connaissance de svn limité à co, ci, up, add, del.


Quand le berger est lâche, le loup chie de la laine.
A (draft) guide to UFO Alien-Invasion

Hors ligne

#28 Le 02/04/2008, à 17:17

Orion Elenion

Re : [Résolu] De la bonne utilisation de Subversion

Imposer un choix n'est effectivement pas violent. Imposer le choix d'un logiciel client pour une utilisation personnelle (j'entends par là : sans influence sur les autres utilisateurs), je trouve que c'est une contrainte inutile. En laissant chacun utiliser le client qu'il préfère, ne serait-on pas plus efficace ?


Ubuntu is an ancient african word meaning : "I can't configure Debian".

Hors ligne

#29 Le 03/04/2008, à 11:09

Martopioche

Re : [Résolu] De la bonne utilisation de Subversion

Orion Elenion a écrit :

En laissant chacun utiliser le client qu'il préfère, ne serait-on pas plus efficace ?

Oui et non...

L'uniformisation des postes de travail a toujours été dans les habitudes des DSI. L'idée est qu'en ayant un environnement uniforme, on évite certaines originalités qui peuvent se répercuter sur le projet. Par exemple, je suis développeur Java, nous utilisons en standard Eclipse avec les plug-in Subversive (plus fiable que subclipse), checkstyle (pour l'uniformisation du code) et le tout est géré par Maven. Dans l'absolu, je peux installer mon eclipse et utiliser tortoise (windows) ou disons rapidSVN (Nunux). Sauf que dans ce cas, sans plug-in svn dans eclipse, c'est la merde... Supprimer un fichier sera un delete, non un svn delete. Donc à l'update, svn me renverra le fichier manquant. De plus j'ai pas le checkstyle, résultat, notre plate-forme d'intégration continue me chargera de warnings...

Donc dans l'absolu, il est important pour une DSI d'imposer les logiciels utilisés. Maintenant, comme je l'ai déjà dit, rien n'empêche chaque utilisateur d'utiliser ce qu'il veut vu que ça ne se verra pas big_smile Je dis ça, je suis le premier à faire le subversif big_smile (VM Linux dans environnement Windows... Attention aux encodages...)

wink

Hors ligne

#30 Le 03/04/2008, à 12:37

ReWinD

Re : [Résolu] De la bonne utilisation de Subversion

Orion Elenion a écrit :
ReWinD a écrit :

un update du server SVN après chaque commit, et publier sur l intranet ton trunk

Je ne vois pas vraiment ce que tu veux dire... Peux-tu expliciter un peu plus ?
Pour l'instant j'en reste à l'idée où un commit équivaut à un stade "fonctionnel" du code source.

Ben, je sais pas alors, mais pour ma part, nous avons un serveur de developement, et un serveur de production. Et le SVN on l'utilise pas tout à fait comme vous, apparemment.

La manière dont nous apréhendons le SVN, qui consiste justement à gérer les versions, nous permet de revenir en arrière en cas d'erreur lors d'un développement, en plus de sa tâche première qui est de nous permettre de travailler en collaboration sans se marcher dessus.

Donc nous faisons des commit pour placer notre code sur le serveur et tester notre développement, et lorsque nous avons corrigé les erreurs et que nous sommes communément satisfait de notre code, on passe la version trunk en version majeure, et on bascule ça ds une branche, et on continune a developer sur le trunk.

Je sais pas si il y a une manière idéale, mais celle que nous employons convient parfaitement à nos besoins.

Et en fait l update côté serveur permet de publier la modification sur le navigateur, si tu as ton trunk accessible via apache, sinon ton trunk restera toujours identique.


Martopioche a écrit :
ReWinD a écrit :

Cela dit, pour éviter de mettre un serv. apache sur chaque machine, tu peux éventuellement faire un script qui fera un update du server SVN après chaque commit, et publier sur l intranet ton trunk.

Seul problème : tester nécessite un commit, donc commit quasi certain de versions instable, donc trunk instable...

Oui justement, SVN est là pour revenir en arrière grâce à la fonction revert, et c'est là que réside son intérêt à mes yeux.

Hors ligne

#31 Le 03/04/2008, à 17:33

Martopioche

Re : [Résolu] De la bonne utilisation de Subversion

ReWinD a écrit :

Donc nous faisons des commit pour placer notre code sur le serveur et tester notre développement, et lorsque nous avons corrigé les erreurs et que nous sommes communément satisfait de notre code, on passe la version trunk en version majeure, et on bascule ça ds une branche, et on continune a developer sur le trunk.

Et en fait l update côté serveur permet de publier la modification sur le navigateur, si tu as ton trunk accessible via apache, sinon ton trunk restera toujours identique.

(et)

Oui justement, SVN est là pour revenir en arrière grâce à la fonction revert, et c'est là que réside son intérêt à mes yeux.

Sur le principe, en effet, la seul fonctionnalité d'un gestionnaire de version est de gérer les versions. Cela veut dire que lorsqu'on lui soumet des fichiers, il garde une trace des modifications, c'est à dire des modifications intrinsèques des fichiers, des ajouts et des suppressions. Par extension, il permet de tagguer une version (pour Svn il s'agit simplement d'associer un nom logique à un numéro de version), de fournir tous les fichiers en état à la dernière version, ou à n'importe quelle version précédente (= version actuelle - toutes les modifications), et de conserver des traces des modifications. Un gestionnaire de version n'a pas à gérer la pertinence de ce qu'il héberge.

Pour moi, la méthode décrite peut se révéler catastrophique dans certains cas, mais est surtout chronophage et produit un résultat d'une très grande instabilité. En effet, si j'ai bien compris, le code est testé sur un serveur commun. Comme je l'ai expliqué, à moins de bloquer les copains, je ne vois pas comment ont peut mettre en évidence ses propres erreurs. Non pas uniquement en observant ce qui se passe, mais surtout avec une propagation d'erreurs.

En effet, imagine le scénario suivant :
- Un développeur commit sa version. Celle-ci est foireuse et va planter.
- Un autre développeur a besoin de tester. Il va devoir faire un commit mais le repository est en avance sur sa version locale. Il va devoir faire un update avant. Là 2 possibilités :
1 - Vous communiquez, donc il est au courant qu'un débuggage est en cours, et ne fera pas d'update tant que le débuggage n'a pas conduit à une version acceptable. Résultat : un seul développeur travail réellement en même temps chez vous. Certes, rien ne l'empêche d'avancer à l'aveugle en attendant, amplifiant les bogues et les temps de débuggage.
2 - C'est à la wannagain, et il update puis commit. Conséquence, les premières erreurs sont récupérées, et une version batarde est testée, les potentielles erreurs sont amplifiés, et le temps de débuggage également.

Après, ce n'est que mon avis.

Hors ligne

#32 Le 03/04/2008, à 18:20

Orion Elenion

Re : [Résolu] De la bonne utilisation de Subversion

De plus, si lorsque tu fais un test un bug apparaît, qu'est-ce qui te dit que c'est bien ton code qui est problématique et pas celui de la personne qui a fait un commit 20 secondes après toi ?

MartoPioche, je saisis ton point de vue sur l'uniformisation... Je n'ai rien à y ajouter. Par contre, là je poste depuis IE6 imposé, et ça me déprime. tongue

Dernière modification par Orion Elenion (Le 03/04/2008, à 18:23)


Ubuntu is an ancient african word meaning : "I can't configure Debian".

Hors ligne

#33 Le 03/04/2008, à 22:28

Martopioche

Re : [Résolu] De la bonne utilisation de Subversion

Orion Elenion a écrit :

Par contre, là je poste depuis IE6 imposé, et ça me déprime. tongue

Tu veux dire que tu aimerai passer au 7, hein ?

Non ? Ah, pardon big_smile

-> http://portableapps.com/apps/internet/firefox_portable
Tu dézippe, tu execute. Ca s'installe pas, ça va pas chercher des trucs à droite à gauche.

D'ailleurs de manière plus générale : http://portableapps.com/ et http://www.framakey.org/Portables/Index

Je te conseil (c'est ce que j'utilise) le lanceur de portable apps, tu ajoute les applications que tu veux, retire celles que tu veux pas (le poker et le sudoku par exemple...) et tu peux même ajouter les applis de framakey. Tu a ton package libre tout le temps sur toi, plus besoin de restaurer les profiles ou quoi que ce soit. Paf.

Bon, seul mauvais point : ce message est un total HS big_smile

Hors ligne

#34 Le 03/04/2008, à 22:48

yohann

Re : [Résolu] De la bonne utilisation de Subversion

bonjour,
la discussion est tres interressante,
j'ai utiliser svn su plusieurs petit projets php mysql avec un groupe de 5 personnes.
et nous avons utiliser une possibiliter qui (je crois) n'a pas été évoquées (possiblement car impossible a mettre en oeuvre, mais on ne sait jammais)

chacun son serveur de dev.
une installe LAMP chacun
un rep /var avec les fichiers de config et un dump de la BDD
les fichier de config dependant du serveur ne sont pas add au svn

chacun test sur son serveur perso
commit qd ca marche


bien sur avec une base de donner de plusieurs Gio c'est impoensable mais bon


j.vachez, le génie du net | Soirées jeux sur Lyon | 441
++++++++++[>+++++++>++++++++++>+++<<<-]>++.>+.+++++++
..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.

Hors ligne

#35 Le 04/04/2008, à 16:46

ReWinD

Re : [Résolu] De la bonne utilisation de Subversion

Orion Elenion a écrit :

De plus, si lorsque tu fais un test un bug apparaît, qu'est-ce qui te dit que c'est bien ton code qui est problématique et pas celui de la personne qui a fait un commit 20 secondes après toi ?

MartoPioche, je saisis ton point de vue sur l'uniformisation... Je n'ai rien à y ajouter. Par contre, là je poste depuis IE6 imposé, et ça me déprime. tongue

Ben parce que le chef de projet à dispatché le code de manière à ce qu on ne se marche pas dessus, a quelques très rares exceptions près ! De plus nous avons des standart de développement ainsi que des PDS toutes les semaines pour éviter ce type de problèmes. Et pour le moment ça ne nous est jamais arrivé.

Dernière modification par ReWinD (Le 04/04/2008, à 16:50)

Hors ligne

#36 Le 04/04/2008, à 22:47

Martopioche

Re : [Résolu] De la bonne utilisation de Subversion

ReWinD a écrit :

Ben parce que le chef de projet à dispatché le code de manière à ce qu on ne se marche pas dessus, a quelques très rares exceptions près ! De plus nous avons des standart de développement ainsi que des PDS toutes les semaines pour éviter ce type de problèmes. Et pour le moment ça ne nous est jamais arrivé.

Heu... Ce n'est pas parceque le code est dispatché qu'il n'interragit pas. Avez vous des tests unitaires qui confirment que vos comportements n'ont pas changé ?  Si oui, vous ne testeriez pas sur un serveur commun à part les intégrations. Un standard de développement  ne garanti pas l'absence de bogues, ni aucun test médical. Enfin, comme tu a dit, qu'à 2 ca ne vous soit encore jamais arrivé, soit, mais avec de vrai équipes... Ensuite, quelle est votre méhodologie de tests ? Si chacun ne test que la dernière fonctionnalité qu'il vient de faire, mais pas une qui peut découler, voila des bogues qui s'installent et sédimentent...

ReWinD, entendons nous bien, mon objectif n'est pas de rabaisser votre travail, mais une certaine expérience existe déjà quand l'utilisation de ces outils. Comme je l'ai dit, chacun les utilisent comme il veut puisque la fonctionnalité n'est pas de gérer la pertinence de ce qu'ils versionnent. Mais certaines bonnes pratiques permettent de garantir plus sérieusement que "on a des normes de développement" nos développements. Et on a remporté des marchés grâce à ça, ainsi que leurs maintenances. J'ignore si vous avez eu à faire ces maintenances ou des évolutions, mais il n'y a rien de pire que de se retrouver dans un projet qui était foireux à l'origine.

Hors ligne

#37 Le 05/04/2008, à 17:39

Aurel34_back_from_hell

Re : [Résolu] De la bonne utilisation de Subversion

@Orion Elenion: c'est dommage (bizarre) qu'on t'impose ton client SVN. Sinon as-tu envisagé SVK, qui te permettrait de travailler en distribué:
- tu duplique la source subversion en local
- tu bosse en faisant plein de commits "locaux" comme ça si tu fais une bêtise tu peux revenir en arrière
- quand tu as un truc qui marche bien, tu envoies un gros patch sur le serveur subversion d'origine.
(c'est même possible de travailler à plusieurs dans votre coin un moment)

Sinon pour ton côté "on ne se marche pas sur les pieds" c'est à double tranchant: un des avantages d'avoir plusieurs personnes travaillant sur le même code, c'est qu'on voit mieux les fautes des autres que les siennes.

#38 Le 06/04/2008, à 10:21

Orion Elenion

Re : [Résolu] De la bonne utilisation de Subversion

yohann a écrit :

chacun son serveur de dev.
une installe LAMP chacun
un rep /var avec les fichiers de config et un dump de la BDD
les fichier de config dependant du serveur ne sont pas add au svn

chacun test sur son serveur perso
commit qd ca marche

C'est à peu de choses près ce que j'ai retenu, hormis que ce seront des serveurs WAMP sad et que le MySQL sera distant (donc commun à tous les développeurs).

Aurel34_back_from_hell a écrit :

Sinon as-tu envisagé SVK

Comme je le disais plus haut, non, puisque je n'ai aucun choix logiciel.

MartoPioche a écrit :

Tu a ton package libre tout le temps sur toi, plus besoin de restaurer les profiles ou quoi que ce soit. Paf.

Merci, en fait j'ai déjà pris le soin d'installer un Firefox, mais la plupart des sites de l'intranet (y compris celui qui sera développé via Subversion) sont "faits pour IE6". mad Paf (le renard) (oui, je sais, certains diront que c'est un panda roux, mais selon moi, en voyant Sun - bird, Sea - monkey, Thunder - bird, etc., il s'agit bien d'un renard de feu).

Mais qu'est-ce que je fous dans cette boîte pro-MS, moi ? yikes


Ubuntu is an ancient african word meaning : "I can't configure Debian".

Hors ligne

#39 Le 07/04/2008, à 15:54

ReWinD

Re : [Résolu] De la bonne utilisation de Subversion

Martopioche a écrit :

Heu... Ce n'est pas parceque le code est dispatché qu'il n'interragit pas. Avez vous des tests unitaires qui confirment que vos comportements n'ont pas changé ?

C'est bien  pour ça que je précise qu'on a quasi pas de risque de se marcher dessus à quelques exceptions près.

Martopioche a écrit :

Si oui, vous ne testeriez pas sur un serveur commun à part les intégrations. Un standard de développement  ne garanti pas l'absence de bogues, ni aucun test médical. Enfin, comme tu a dit, qu'à 2 ca ne vous soit encore jamais arrivé, soit, mais avec de vrai équipes...

On est 6 dessus pas 2... C'est pas assez vrai comme équipe ?


Martopioche a écrit :

ReWinD, entendons nous bien, mon objectif n'est pas de rabaisser votre travail, mais une certaine expérience existe déjà quand l'utilisation de ces outils.

Loin de moi cette idée, et merci pour l'effort de nous remettre sur le droit chemin !

Martopioche a écrit :

Comme je l'ai dit, chacun les utilisent comme il veut puisque la fonctionnalité n'est pas de gérer la pertinence de ce qu'ils versionnent. Mais certaines bonnes pratiques permettent de garantir plus sérieusement que "on a des normes de développement" nos développements. Et on a remporté des marchés grâce à ça, ainsi que leurs maintenances. J'ignore si vous avez eu à faire ces maintenances ou des évolutions, mais il n'y a rien de pire que de se retrouver dans un projet qui était foireux à l'origine.

Tout va bien pour nous, et visbilement, on s en sort pas trop mal avec nos standart, j'expliquais juste notre façon de faire à une personne qui demande de différents avis. Et je ne pense pas qu'elle changera après ce topic.

Mon intention n'étant pas de polémiquer sur LA VRAIE manière d'utiliser SVN, mais plutôt juste aider, donner des idées (d'ailleurs je dis bien plus haut que je ne connais pas la vraie manière de s'en servir, cependant elle convient parfaitement à nos besoins. Cela dit, le débat peut être utile, pour autant qu on en ait le temps.

Mais encore une fois, merci pour ton avis pertinent !

Hors ligne

#40 Le 08/04/2008, à 09:11

teke

Re : [Résolu] De la bonne utilisation de Subversion

En fait je ne crois pas qu'il y a une "vrai manière" de se servir de svn... c'est une solution très souple qui permet de s'adapter à différent projets de manière très large... Si il y a des "bonnes pratiques", celles-ci ne sont pas forcément adaptées à toutes les configurations existantes...

C'est tellement vrai, que pour certains projets svn est encore trop restrictif... et cvs est plus adapté -> gestion de configuration sans l'atomisme de svn...

#41 Le 09/04/2008, à 07:24

Orion Elenion

Re : [Résolu] De la bonne utilisation de Subversion

Merci à tous pour vos réponses. Grâce à vous, j'ai mis en place une organisation fonctionnelle tout à fait satisfaisante. J'attends juste de la présenter aux développeurs et responsables de projet et d'obtenir leur validation pour passer le sujet en résolu.


Ubuntu is an ancient african word meaning : "I can't configure Debian".

Hors ligne

#42 Le 11/04/2008, à 19:36

Orion Elenion

Re : [Résolu] De la bonne utilisation de Subversion

Au final, après une réunion de concertation, il s'est avéré que nous avions besoin d'un environnement LAMP y compris pour les tests, car le code PHP fait appel à des outils externes qui n'existent pas sous Windows.
Avec cette contrainte supplémentaire, la question de l'architecture organisationnnelle ne se pose plus :
- chaque développeur dispose d'un répertoire distant sur le serveur de développement ;
- il réalise son checkout dans ce répertoire, qui se retrouve monté sur les postes Windows pour développer, sauvegarder directement sur le serveur et tester via un VirtualHost ou un UserDir d'Apache ;
- lorsque le code atteint un stade fonctionnel, un commit est réalisé.

Au final, Subversion n'est utilisé qu'en local, ce qui me fait bien ch... au vu des efforts que j'ai fourni.

Mais au moins, résolu.


Ubuntu is an ancient african word meaning : "I can't configure Debian".

Hors ligne