Bonjour à tous.
Je suis confronté à une sorte de dilemme, disons que je suis un peu rouillé et que je refais ma programmation une quatrième fois parce que je ne suis pas satisfait. Alors je viens prendre audience auprès de la communauté.
Voici l’énoncé du problème : je fais des articles sur la rotation hebdomadaire de Heroes of the Storm (pour ceux qui connaissent, pour les autres c'est un jeu vidéo de chez Blizzard), donc chaque semaine il y a 14 personnages qui sont mis en avant. J'enregistre dans une table de la BDD l’information de la semaine concernée avec la date du Mardi (puisque c'est le jour de la mise en place de la chose) et dans une autre table je mets l'identifiant des 14 personnages avec l'identifiant de la rotation et le positionnement dans la liste de la rotation (qui a son importance).
Ensuite je fais une extraction des données pour présenter la rotation sous forme de tableau avec l'image du personnage et des données statistiques sur le personnage concerné : nombre de sorties dans la rotation, date de la dernière sortie, patch modifiant le personnage, .. Bref, pas mal de chose. Les infos des personnages sont dans une autre table et j'ai aussi une table pour les patchs.
Voici maintenant ma question : quelle est la meilleure façon de faire :
- je fais une grosse requête qui prend toutes les informations et retourner une table à 14 lignes, puis je programme en VB.NET la mise en forme de mon tableau sur ma page.
- je fais une requête basique avec la liste des 14 personnage et pour chaque personnage je fabrique une classe qui va retourner dans la BDD pour prendre les infos sur chacun des personnages.
Je me pose cette question tout à la fois pour des raisons de performance mais aussi de maintenance et d'évolution.
Par exemple, au début du jeu la rotation était de 7 personnages, puis elle est passé à 10 et là, depuis deux semaines elle est passée à 14. Egalement, je sors de temps en temps de nouvelles statistiques, par exemple, au début je ne donnais que le nombre de sorties dans la rotation avec le nom et le rôle du personnage, puis j'ai rajouté la date de dernière sortie et ensuite la date du dernier patch concernant le personnage. Bref, je peux rajouter des infos à tout moment, en fonction de l'évolution du jeu.
Voilà, j'espère avoir été clair dans mon exposé. Je ne viens pas forcément chercher une réponse technique mais plutôt une réponse algorithmique, si ce terme convient. Je me pose des questions sur l'opportunité de faire un maximum d'objet, mais où et comment.
Pour avoir une meilleure vision de la chose vous pouvez aller là : http://statheroes.ozouf.com/
Vous trouverez facilement le bouton Rotations dans le menu, pour le reste les explications sont normalement claires. Sachant que la date de dernière rotation enregistrée est le Mardi 14 Mars 2017, les autres ne fonctionnent plus depuis que j'ai fait des modifs pour passer à 14. Mais vous verrez le genre d’information que je traite.
Et vous pouvez voir l'un des résultats de ce site en allant sur mon blog : http://esport.ozouf.com/
Si ça vous branche de participer au projets, la porte est ouverte.
Merci d'avance pour vos avis et éclaircissements.
Une très bonne journée à vous.
Partager