Open yLark opened 10 years ago
Bonne idée !
Par contre, il faut voir s'il vaut mieux avoir 1 ou plusieurs userscripts pour des pages et fonctionnalités différentes.
Un seul très gros script avec des if
partout risque de devenir vite difficile à maintenir, d'autant qu'on peut simplement exporter nos fonctions utilitaires dans un js commun importé via require
.
Oui, un gros script serait plus difficile à maintenir, mais multiplier les scripts réduirait le public touché.
Sinon, ton idée d'appeler des js externe n'est pas mauvaise.
Maintenant que les rapports de combats commencent à être pas mal complets, pourquoi ne pas s'attaquer à des statistiques plus globales ? Je pense au suivi des stats majeures de nos leeks, farmer et team. Un graph sur la page de chaque poireau, du farmer et de l'équipe pour visualiser leur évolution au fil des jours.
Je propose ici un début de spec, n'hésitez pas à modifier ce commentaire.
Acquisition des données
Chaque jour, lors de la première connexion à leekwars.com, explorer - via ajax - les pages suivantes :
Ça fera peut-être un peu lourd en terme de temps d'exécution et de volume de data, mais vu que c'est la seule connexion de la journée et que c'est fait en tâche de fond, ça devrait aller sans problème.
Les données récupérées seraient structurées de la manière suivante :
Dans un premier temps, j'ai pensé qu'on pourrait laisser la possibilité à l'utilisateur de définir combien de jours garder en mémoire. Mais vu la faible quantité de données, tout garder ne devrait pas être un problème.
Avec
JSON.stringify()
, on peut stocker toutes ces données dans un seulGM_setValue()
: simple et propre.Pour gérer l'éventuel multi-compte sur la même machine, il faudrait donc stocker ces données dans un
GM_setValue()
contenant l'id du farmer connecté.Récupérer ces données à la première connexion implique donc de modifier le
@match
du script pour tout le site leekwars.com et donc de contrôler via unif(document.URL == 'xxxx')
l'exécution de chaque fonction du script.Affichage des données
Sur la page de chaque poireau, du farmer et de l'équipe, insérer un graphique sur lequel on pourra visualiser chacune de ces données. Des checkboxes ou radio_buttons seront donc disponibles, et on pourrait zoomer via un ascenseur horizontal. Un peu comme ce qui est présenté ici. Par défaut, le graph du classement sera affiché, zoomé sur les deux dernières semaine (pour ne pas flooder avec des vieilles données).