Bonjour à tous.
Je vous présente Mysql-SVN, un petit projet qui permet le travail collaboratif et le versioning de base base de donnée.
V 0.2b - r4
*****************************************
le lien vers sourceforge:
http://sourceforge.net/p/mysql-svn/code-0/4/tree/
le lien svn: svn checkout svn://svn.code.sf.net/p/mysql-svn/code-0/trunk mysql-svn-code-0
*****************************************
PHP / MySQL / JavaScript+Jquery / HTML / CSS / Smarty
MVC
*****************************************
*****************************************
Et bien voila, plus d'une fois dans ma vie de développeur, j'ai eu à participer à de gros projets en équipe.
Dans la majorité des cas que j'ai rencontré, chaque développeur à son serveur local (wamp/lamp), et développe son code en local.
Pour le HTML/CSS/PHP etc, pas de problème, un petit serveur svn, par exemple, permet simplement de centraliser les modifications de chaque développeur sans que ceux-ci ne se marchent les uns sur les autres en travaillant, par exemple sur un même fichier.
Par contre, pour les SGBD, je n'ai jamais trouvé d'outil intéressant.
Le développement d'une base de donnée en équipe est encore un peu compliquée.
Dans mon cas, nous avont tous notre base de donnée locale, et nous ajoutons, le moment venu, les nouvelles requêtes sur le serveur central.
Pour ce qui est des autres développeurs, soit on copie-colle chaque requête par Pidgin ou autre --souvent entre deux conneries d'informaticien ^^-- pour que chacun puisse les ajouter à son serveur.
On peut également centraliser toutes ses modifs dans un fichier, et l'envoyer aux collègues, en espérant que ceux ci n'aient pas ajouté d'entrée dans la même table que vous, créant ainsi des conflits d'id.
Bref, c'est un peu le bordel je trouve. Rapidement on oubli de reporter des requêtes, on est pas à jours, ou on ne sait plus ou on en est...
Du coup, perte de temps à réimporter entièrement une base de donnée "propre".
*****************************************
Alors, je me suis motivé et j'ai commencé à développer un outils de centralisation des modifs mysql. (Que mysql, pour le moment, je pense que le portage aux autres bdd se fera rapidement)
Le principe est assez simple, sous forme d'application web.
Il suffit de se loguer à l'application, choisir le projet concerné par la modification, et, de cette page, pouvoir mettre à jour sa base de donnée par rapport aux dernières versions envoyées par d'autres utilisateurs ou d'ajouter une modification à la base.
Pour le moment il n'existe pas encore d'installeur, ceux qui veulent tester devront utiliser le SVN, et installer la base de donnée par le fichier sql s'y trouvant en attendant que le projet ai un peu évolué.
Fonctionnalités actuelles:
*****************************************
Front:
[*]Multi-projets[/*]
[*]Multi-Langue (Seul le fichier français est disponible pour le moment) [/*]
[*]Ajout d'une ou plusieurs requête comme version[/*]
[*]Listing des versions d'un projet[/*]
[*]Mise à jour totale ou jusqu'à une version X[/*]
[*]Impossible d'ajouter une version si notre base n'est pas à jour afin de limiter au maximum les conflits[/*]
Back:
[*]Ajout de projet[/*]
[*]Ajout d'utilisateur[/*]
[*]Ajout d'une base de donnée liée à un projet et un utilisateur[/*]
*****************************************
Voila pour le moment,
N'hésitez pas à poser vos questions, apporter vos idées ou reporter un bug =)