Bonjour, j'ai un logiciel développé sous windev. Et presque 5 clients. Jusqu'ici, pour chaque nouveau client, je faisais une copie du projet et je l'ouvrais sous windev comme un nouveau projet. Mes clients pourraient bien monter à 20 d'ici 2ans.
1.Est-ce là une bonne manière de créer un nouveau projet à partir d'un projet existant? Sinon comment faire?
Je pense que cela pourra être lourd pour la suite notamment lors des ajouts des fonctionnalités communes ou de la soustraction des fonctionnalités d'une version à l'autre; et lors des évolutions de Windev (V17 à version 21 par exemple) où il faudrait migrer tous les projets un par un. Bref je pense que c'est une mauvaise pratique que j'ai adopté là.
2. Windev propose-t-il des mécanismes de gestion des versions par client? (du genre un unique projet avec toutes les fonctionnalités et la possibilités d'activer ou de désactiver une ou telle fonctionnalité en fonction d'un paramétrage par exemple au lancement de l'application quoique cela sera complexe une fonctionnalité incluant bien souvent, de nouvelles fenetre, champ de saisie, bouton, etat, requete, etc.)
Ma gestion actuelle:
Dans la version initiale (V1), j'ai le logiciel par défaut
Dans la version 11, je modifie la logique d'une fonctionnalité principale à l'application (IHM, requete,etat)
Dans la version 12, je modifie la logique d'une fonctionnalité principale à l'application (IHM, requete,etat) mais je n'ai pas besoin de la modif de la V11 donc je me base sur la V1
Dans la version 13, je modifie la logique d'une fonctionnalité principale à l'application (IHM, requete,etat) mais je n'ai pas besoin des modifs des V11 et 12 donc je me base sur la V1
PLus tard un client demande une nouvelle spécificité, je trouve que tout de même son besoin est assez proche de la V12 donc je me base sur la v12 et je créé la version 121.
Mais après, il s'avère qu'un autre client a un besoin proche de la V121 mais sans les modifs de la V12. Du coup je dois me baser sur la V121 et "dé-programmer" les apports de la v12 et donc, refaire des tests pour m'assurer que tout fonctionne bien quand même après suppression des fonctionnalités apportées par la V12.
Bref voilà mon dada. L'avantage de cette méthode c'est que si un client veut un update, j'ai pas à réfléchir longtemps: j'ouvre le projet qui porte son nom, j'ajoute la modif sans vérifer que le nouveau code est compatible avec toutes les versions (les autres clients).
L'inonvénient comme je le disais c'est principalement : les upgrades de l'IDE sur chaque projet le cas échéant et la complexité à supprimer, dans une version fille, une fonctionnalité qu'on a passer du temps à ajouter dans la version parente. Souvent le même temps finalement.
L'inconvénient d'un projet unique, je suppose c'est la complexité des if/Switch etc à mettre en oeuvre sur chaque fenetre à ouvrir, si oui ou non il faut afficher un bouton, pour choisir la requete à exécuter, l'état à ouvrir, etc... (j'imagine de multiples if fonctionnalitésX et ou fonctionnalitésY et/ou fonctionnalitésZ,etc est active)
Alors, quelle est votre expérience? Qu'en pensez vous? Que me conseiller vous?
Windev propose-t-il une solution pour cela? Si oui, laquelle?
Merci.
Partager