Quelle est la plateforme la plus basique et la plus simple pour le développement collaboratif (projet PHP)? [fermé]

14

J'ai besoin de travailler avec 4-5 programmeurs sur une application PHP assez moyenne en utilisant codeigniter. Nous sommes dans 5 endroits différents dans une même ville, et tous les programmeurs ne sont pas tous très bien formés et je suppose que la plupart d'entre eux n'ont jamais utilisé de système de contrôle de version.

Pouvez-vous recommander une plateforme très très facile d'accès pour collaborer sur un projet comme celui-ci? Je parle de quelque chose qui n'est qu'un peu plus sophistiqué qu'un dossier Dropbox partagé.

Esuus
la source
Vous avez utilisé github comme balise. Github est très sympa - avez-vous l'argent pour un repo privé?
Je recommande SourceAnywhere Hosted. Il est très intuitif d'utiliser le produit. En fait, si vous recherchez le contrôle de version, vous trouverez de nombreuses bonnes suggestions / outils. Si vous souhaitez raccourcir la courbe d'apprentissage, outre le produit lui-même, gardez à l'esprit le «bon service client» lors du choix d'un produit. Parce que cela signifie que vous aurez une bonne formation et un bon support technique de la part de l'entreprise.
Windy

Réponses:

12

Vous connaissez déjà la réponse

Le contrôle de version a été conçu pour résoudre ce problème précis . Si vos développeurs ne veulent pas apprendre à utiliser cette pratique de développement standard, vous devrez peut-être reconsidérer vos développeurs. Quels types de logiciels vont-ils produire s'ils manifestent une aversion pour les pratiques standard acceptées, ainsi qu'une aversion pour l'apprentissage de nouvelles choses?

Je suggère de leur faire lire Pro Git et de configurer un référentiel git privé pour votre équipe.

Craige
la source
2
Je n'ai ni la possibilité de choisir d'autres développeurs, ni de leur faire apprendre le contrôle de version. Croyez-moi, je préfère les deux. Mais je ne peux pas - c'est la raison pour laquelle j'ai posé cette question. Il y a beaucoup de développeurs amateurs là-bas, qu'utilisent-ils?
Esuus
6
Ils apprennent les outils appropriés ou restent des juniors pour toujours.
Adrian Schneider
2
@Esuus Il ne faut pas si longtemps pour apprendre git: try.github.com/levels/1/challenges/1
VirtuosiMedia
3
@VirtuosMedia Je ne pense pas que Git soit exactement simple, SVN est beaucoup plus facile à saisir.
Matěj Zábský
1
Je ne connais pas Git, mais TortoiseSVN permet aux utilisateurs inexpérimentés de gérer SVN très facilement.
Brian
4

... FTP

Ok, c'est comme ça que j'ai commencé à collaborer, en connectant Notepad ++ à FTP, en sauvegardant la merde toutes les 10 minutes dans des dossiers renommés vraiment aspirés, si vous faites cela, pour votre projet, utilisez au moins le contrôle de version sur le serveur.

Un IDE en ligne

Cloud9 est très agréable et a des modifications simultanées, cependant, cela vous coûtera d'avoir plus d'un espace de travail privé pour travailler avec votre équipe, mais cela en vaut la peine.

... essayez Mercurial

Si vous ne trouvez pas Git suffisamment accessible par vos collègues, essayez Mercurial avec TortoiseHG, qui est un client GUI pour Mercurial. Il leur faudra deux minutes pour configurer et moins pour commencer à l'utiliser.

Demandez-leur d'utiliser l'interface graphique, il leur suffit d'apprendre à utiliser 4 boutons (tirer, mettre à jour, valider, pousser) et d'apprendre 2 ou 3 concepts afin de sauvegarder et de partager leur travail.

Demandez-leur de s'inscrire sur Bitbucket . Créez un référentiel pour votre projet et demandez-leur de le bifurquer afin qu'ils puissent travailler dans leur propre miroir du référentiel et de cette façon, ils n'aient pas à gérer la fusion. Vous faites l'intégration et leur demandez simplement d'émettre des demandes d'extraction à partir de leur fork Bitbucket une fois qu'ils ont poussé. Demandez-leur de ne tirer que de votre référentiel (celui dont ils proviennent).

Apprenez vous-même Mercurial afin de pouvoir résoudre tous les problèmes liés, c'est un bon début: http://hginit.com/

Essayez les deux

Vous pouvez utiliser Mercurial à partir de Cloud9, à quel point est-ce cool?.

Arrêtez de supposer

Si vous êtes celui qui cherche à utiliser les bons outils, vous êtes déjà en position de leadership. Ne présumez pas qu'ils ne sont pas éduqués et discutez avec eux de la façon dont les choses se font dans le monde réel.

Soyez enthousiaste à ce sujet et non condescendant.

Ce n'est vraiment pas plus facile que cela si vous voulez bien faire les choses. S'ils ne veulent expressément pas utiliser le contrôle de version, vous pourriez avoir un autre type de problème plus grave.

dukeofgaming
la source
J'ai l'impression que c'est la meilleure réponse, car c'est la seule qui répond réellement à la question au lieu de fréquenter le demandeur. J'apprécie particulièrement les conseils sur la façon de rendre Mercurial plus facile pour les gens (en leur évitant la fusion et l'intégration). Cela semble être le moyen le plus simple de faire le contrôle de version avec des personnes hésitant à participer. Merci!
dallin
3

Je recommande à vos développeurs de http://try.github.com

Mais si aucun contrôle de version n'est possible, vous pouvez vous en tenir à quelque chose qui convient au très débutant / junior qui est basique (et archaïque).

  1. l'APP + DB sur le serveur de développement
  2. Tout le monde sur le même messager tout le temps tout en travaillant pour pouvoir parler et savoir qui travaille
  3. Tout le monde édite en direct sur le serveur DEV via un simple vieux FTP
  4. Appliquer les règles de l'équipe sur la mise à jour d'un journal des modifications avec leurs révisions + rendre les commentaires de code cruciaux

La configuration du dossier Web de votre serveur de développement pourrait également être svn checkout (ou git) et vous pouvez configurer la crontab pour valider automatiquement les révisions de temps en temps automatiquement ou vous pouvez simplement installer une sauvegarde ou peut-être rsync le dossier vers un autre emplacement de sauvegarde pour quand ils écrasent les fichiers les uns des autres (comme cela arrivera) et vous devez donner à Bob ses modifications qu'il a perdues. Finalement, après avoir travaillé avec le système pendant quelques mois, ils vont vous supplier de leur donner un accès svn / git.

Anthony Hatzopoulos
la source
Même si toutes les réponses ici ont été utiles (et à cause d'elles, je considère maintenant sérieusement s'il existe un moyen de leur faire apprendre le GIT / SVN), vous êtes le seul à avoir répondu à ma question. Merci mec.
Esuus
2

Je suppose que la plupart d'entre eux n'ont jamais utilisé de système de contrôle de version.

Vous devez corriger cette hypothèse et savoir s'ils ont ou n'ont aucune connaissance ou expérience des systèmes de contrôle de version. Inutile de supposer quand ils pourraient avoir des connaissances.

Comme d'autres réponses l'ont dit, c'est à cela que sert le contrôle de version. Git est probablement la meilleure voie à suivre, et Learn Git est un très bon point de départ

Amy
la source
2

Eh bien, il n'y a pas d'autre moyen que d'utiliser le contrôle de version .

Dropbox a une sorte de contrôle de version , mais je pense que si deux personnes enregistrent un fichier, la nouvelle version remplacera simplement l'ancienne version, ce qui n'est pas souhaitable pour le contrôle de version pendant le développement logiciel.

Svn est un système de contrôle de version facile à apprendre (au moins plus facile que git), et vous pouvez trouver divers référentiels publics hébergés en ligne, mais je ne le recommanderais pas aux équipes réparties géographiquement.

Donc, la voie à suivre pour les équipes distribuées est git. Si avoir votre source publique OU acheter un plan privé n'est pas un problème, alors créez un référentiel sur github , sinon configurez un référentiel git local.

Peut-être que vous pouvez trouver une interface graphique pour git qui pourrait faciliter la compréhension conceptuelle d'un système de contrôle de version par ces développeurs. Pour Windows, son TortoiseGIT . Je n'ai utilisé aucun client git gui pour Linux ou MAC, donc je n'en recommanderai pas ici.

Ozair Kafray
la source
Dropbox a un avantage: vous pouvez amener des gens à l'utiliser qui n'ont jamais utilisé de systèmes de contrôle de source de leur vie. Cela peut être un avantage majeur lorsque vous travaillez avec des professeurs de sciences…
Donal Fellows
GitHub dispose également de référentiels privés si vous ne souhaitez pas rendre votre code public.
VirtuosiMedia
@VirtuosiMedia Oui, je le sais, mais je ne sais pas s'ils sont gratuits.
Ozair Kafray
@OzairKafray Ils ne sont pas gratuits, mais ils sont assez bon marché. Le plus petit plan vous offre 5 référentiels privés pour 7 $ / mois, plus un public illimité.
VirtuosiMedia
2

Vous êtes sur la bonne voie

C'est version controllingle chemin à parcourir! Il servira bien à collaborer au partage de code et à faciliter l'intégration. De plus, les enregistrements fréquents sont une discipline très importante que toute l'équipe doit pratiquer.

Cependant, choisir le bon contrôle de version pour votre projet est très important.

Il y a un bon article récent et des réponses pour vous aider à décider: Qu'est-ce qu'un bon exemple de jouet pour enseigner le contrôle de version?

Yusubov
la source