De la conception d'un projet multi-client
Bonjour,
Nous devons développer une application qui sera scindée en 2 entités :
- 1 application serveur (Windev 17+ HF C/S) qui va tourner en permanence et alimenter une base de données à partir de fichiers remontés sur un FTP
- 1 application Web (Webdev 17 + HF C/S) qui va permettre à des utilisateurs d'interroger cette même base, d'écrire dans certaines tables etc...
Mon problème est le suivant :
Puisque plusieurs clients vont être concernés par ce projet et que chaque client aura ses spécificités (même si le protocole des fichiers remontés sur le FTP reste le même), comment, selon vous, construire au mieux ma base :
- au niveau des projets Webdev, chaque client voudra surement des fonctionnalités et des reportings différents : est-ce mieux de faire un projet spécifique par client (chacun avec ses spécificités) OU garder un même projet pour tout le monde, au risque d'avoir des fonctionnalités supplémentaires pour certains clients qui n'en ont pas besoin et au risque d'avoir des demandes "contradictoires" difficiles à faire cohabiter dans un même projet ?
- Est-ce plus simple de faire une base par client OU tout stocker dans la même base?
- Est-ce que l'utilisation des branches résoudrait le problème ? (1 version principale, et 1 branche pour chaque client avec ses spécificités)
- Comment se comporte le GDS pour la gestion des branches : est-ce facile de reporter certains bouts de code ? Peut-on avoir plusieurs analyses différentes : 1 par branche sans risque de confusion et de synchronisation "accidentelle" ?
- Est-ce mieux de décrire l'analyse au niveau de l'application serveur (Windev) et d'y connecter le/les projets Web (Webdev) ?
Je souhaite utiliser la méthode la plus pratique pour maintenir les projets.
Tous vos avis et vos retours d'expérience me seraient précieux.
Merci d'avance!