Jump to content

Comment travailler en équipe sur un projet prestashop


Recommended Posts

Bonjour, après quelques recherches infructueuses je viens sur le forum de prestashop en quête d'informations.

 

J'aimerais savoir comment travailler efficacement en équipe lors du développement d'un site avec prestashop.

 

Voici un cas concret :

Chaque développeur possède sa working copy du site en cours de dév sur son serveur de dev perso (serveur virtualisé). Puis il y aura des mises en préprod et prod successives.

 

Les sources du site sont versionnées via git et un repo présent sur un seul serveur. Les modifications sur les fichiers sources sont ainsi sauvées via le versioning git. Seuls les fichiers ajoutés/modifiés seront alors mis en ligne.

 

Comment pouvons-nous dans ce contexte tenir compte de toutes les modifications créées via l'admin ? À priori ces actions de configuration, ou import de produits par exemple, sont enregistrées en base de données.

 

Il est alors difficilement envisageable de versionner la base de données. En effet pour ce faire il faudrait exporter la base en .sql et versionner ce fichier.

Cela pose deux problèmes :

  • Il est alors difficile de gérer les conflits lorsqu'il y a des id devant être unique et se trouvant dupliqués sans faire référence au même enregistrement puisque provenant de deux bases différentes ;
  • Un export complet est volumineux, et des outils comme SmartGit ne pourrons plus afficher le contenu du fichier, il ne sera donc pas possible de gérer les conflits, merge...

Il faut cependant garder une trace des différentes modifications de base de données afin de pouvoir les répliquer facilement sur les serveurs des autres développeurs. Puis lors des passages en préprod et prod. Et ainsi avoir des environnements homogènes qui sont équivalents à des instantanés des sources et de la bdd à un instant t.

 

Merci d'avance.

Edited by j-kumquats (see edit history)
Link to comment
Share on other sites

Hmmm... Si j'ai bien suivi :

 

ø 1 à n dev' en local

ø In repo Git qui sera aussi le serveur de dev

ø Puis un serveur de préprod

ø Et la prod

Et chacun de ses environnements à une BDD différente. (Plutôt logique et classique jusque-là)

 

Les dév' travaillent sur leur local, et commit sur le serveur de dev. Quand la version de dev est satisfaisante ou que le client semble impatient, on lui envoi les fichiers sur la préprod, vu que cela sera le premier envoi, on pourra juste prendre la BDD actuelle de la dev (Avec un psCleaner avant peut-être). De même pour la prod' qui prendra les fichiers de la préprod, et sa BDD ou une BDD vierge.

 

Si il-y-a des retours en préprod, il faut effectivement reproduire les différentes manip en local, les résoudrent, puis commit sur la dev. Les CP testent en dev, et on envoie sur la préprod de nouveau.

 

Je ne comprends donc pas votre besoin de "versionné" les BDD (Surtout que c'est plutôt un script qui fera le boulot), prestashop ou pas, il est normal que vos BDD soit différentes d'un environnement à un autre.

Edited by Juda (see edit history)
Link to comment
Share on other sites

Merci pour votre réponse.

 

Je me suis peut être mal exprimé, en fait nous avons besoin de versionner la bdd pour ne pas répéter les étapes de configurations via l'admin. Par exemple nous aimerions bien versionner la configuration des transporteurs et des coûts de transport.

 

Nous avons conscience que les bdd diffèrent d'un environnement à un autre, mais nous aimerions avoir les configurations enregistrées en bdd identiques afin que les tests effectués le soit dans les mêmes conditions d'un environnement à l'autre.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...