Bonjour,
Je vais me lancer dans la conception d'un logiciel très prochainement seulement j'aimerai quelque avis afin de démarrer du mieux possible. Je compte développer en C#.net, il s'agit d'un logiciel fait sur mon temps libre et qui sera normalement gratuit si j'arrive à lui faire voir le jour ^^
En gros mon soft devra permettre de gérer une collection de vinyl pour aider les djs (je le suis moi-même en amateur), de gérer des playlists (pour mémoriser son "set"), de mémoriser des affinités entre vinyls (celui-ci à était mixer avec celui-la ou celui-la ou ..), et d'autre fonctionnalité du même genre.
Le développement du soft en lui-même ne devrait pas trop me poser de problème je compte adopter une architecture en trois couches qui se prête bien pour se genre d'applications. Je ne suis pas informaticien de formation mais j'ai de bonnes connaissances techniques dans le domaine. Il me manque des connaissances/expériences plus général sur l'architecture et certains choix technique c'est pour ca que je demande votre aide.
Premièrement j'aimerai que la base de données des vinyls soient commune pour tout les utilisateurs afin qu'il n'ait pas à rentrer les infos de leurs vinyls si quelqu'un l'a déjà fait pour le même. La bd de base du soft sera extraite de celle d'un site connue qui la fournie en fichier xml. Comment faire cela ?
-Une gestion de base en local avec téléchargement, lors de l'installation, de la base commune puis un système d'upload des modifs sur un serveur ? (ça implique un code serveur pour gérer les ajouts/modif dans la base)
-Une gestion de base directement sur serveur ? (ça implique soit un code serveur dédier ou directement un accès type mysql sur le serveur, et un utilisation impossible sans connexion sauf a prévoir les 2 cas dans le soft)
Les temps d'accès peuvent aussi être gênants ?
Deuxièmement quel type de base de donnée ? mysql ? fichier xml ? sql_server ? ... Le plus pratique à intégrer à l'installeur ?
-le xml permet de s'affranchir d'un serveur mais prends rapidement beaucoup de place donc pas forcement acceptable en local. Celle que j'ai récuperer sur le net fait déjà plus de 6 gigas bien qu'elle contienne beaucoup d'info/vinyls que je vais supprimer.
-une bd type mysql / sql server ? ça oblige à installer un server en local ou tout faire via le net ?
Troisièmement comment matérialiser les affinités entre vinyls dans la BD ? J'entends par la que dans un entrée de la table il devra y avoir un ou plusieurs lien vers d'autres entrées. La dessus j'ai pas trop d'idées, par leurs ID ou titre ca me parait un peu hasardeux si il se trouve modifier ça fout tout en l'air sinon je voit pas trop
Voila grosso modo les points que je souhaite éclaircir avant de ma lancer dans le code, il y en aura surement d'autre mais pour l'instant ceux la m'empêche de me lancer. J'ai pas envie de refaire tout mon code en me rendant compte que mes choix n'étaient pas les bons
Je suit ouvert à toutes propositions et vous remercie d'avance pour vos réponses.
Cordialement.
Partager