Les forums de PSGMAG.NET

Communauté PSGMAG.NET, brèves et pronos => Le comptoir de PSGMAG.NET => Discussion démarrée par: m3d le 14 Février 2012 à 20:22:40



Titre: Base de Donnée statistiques
Posté par: m3d le 14 Février 2012 à 20:22:40
Ah, enfin sur le forum...

Alors, comme dit dans les comms du site, je suis en train de creer une base de donnée sur la ligue 1, qui contiendrait tous les classements (truc simple: pour chaque journée, equipe, position, points) pour chaque journee de L1 depuis la saison 2002-2003.

L'idée est:
1/ de faire PLUS de statistiques en MOINS de temps
2/ de pas avoir l'acquisition des donnees faites manuellement, ce qui provoque (tres souvent) des erreurs a cause du site de la LFP qui s'est pas actualisé comme je le voudrais, et moi je suis trop neuneu pour m'en appercevoir, mais de toute facon vous aussi
3/ de pouvoir rapidement creer de nouvelles stats, eventuellement complexes et fastidieuses a faire a la main

Le probleme est que, depuis le retour de la L1 a 20 clubs, il s'est passé 9*38+23 journées, soit 365*20 lignes {rang, equipe, points}.

Donc j'ai commencé (au boulot, shame on me) mais ca risque de prendre du temps, sauf si quelques uns ici meme ont eux aussi du temps a perdre.

Si vous vous en foutez, bah merci pour la lecture et a bientot. Sinon, voici les details:

J'ai une serie d'equipes, sous forme d'enum:
Code:
    public enum Team
    {
        Ajaccio,
        Arles_Avignon,
        Auxerre,
        Bastia,
        Bordeaux,
        Boulogne,
        Brest,
        Caen,
        Dijon,
        Evian_TG,
        Grenoble,
        Guingamp,
        Istres,
        Le_Havre,
        Le_Mans,
        Lens,
        Lille,
        Lorient,
        Lyon,
        Marseille,
        Metz,
        Monaco,
        Montpellier,
        Nancy,
        Nantes,
        Nice,
        Paris_SG,
        Rennes,
        Saint_Etienne,
        Sedan,
        Sochaux,
        Strasbourg,
        Toulouse,
        Troyes,
        Valenciennes
    }

Ensuite, chaque année de championnat est définie comme une suite de (38) journées.
Une journée en tant que telle est une suite de (20) couple equipe/points.
Afin de garder la taille de la DB la plus petite possible, et le temps de remplissage le plus efficace possible, c'est tout ce que l'on a (ce qui signifie que la liste des couples doit etre rentrée dans l'ordre du classement, sinon c'est juste 365*20 chiffres de plus a rentrer). L'idee est egalement d'en faire quelquechose de rapide et flexible pour le calcul des stats (stoquer un simple enum au lieu d'un string par exemple), ce qui empeche malheureusement le "j'ouvre les 38*9+23 pages de la LFP, je copie-colle dans excel, et voila"

Pour une journée precise, ca donne donc ca (ici la 7e journee de L1 2002-2003):
Code:
            //Day 7
            {
                Day d = new Day(7);
                d.Load(Team.Nice,14);
                d.Load(Team.Auxerre,14);
                d.Load(Team.Guingamp,12);
                d.Load(Team.Paris_SG,12);
                d.Load(Team.Lens,12);
                d.Load(Team.Lyon,11);
                d.Load(Team.Bordeaux,11);
                d.Load(Team.Marseille,11);
                d.Load(Team.Monaco,10);
                d.Load(Team.Sochaux,10);
                d.Load(Team.Nantes,10);
                d.Load(Team.Ajaccio,9);
                d.Load(Team.Montpellier,8);
                d.Load(Team.Le_Havre,7);
                d.Load(Team.Bastia,7);
                d.Load(Team.Strasbourg,7);
                d.Load(Team.Troyes,6);
                d.Load(Team.Sedan,6);
                d.Load(Team.Lille,6);
                d.Load(Team.Rennes, 2);
                _days.Add(d);
            }


Si certains ont un peu de courage ou  de temps a perdre....
Dès que la DB sera complète on pourra discuter des stats que vous voulez dessus, et bien sur, le programme (et son source) sera disponible en telechargement ;)

Merci d'avance,
m3d


Titre: Re : Base de Donnée statistiques
Posté par: m3d le 15 Février 2012 à 00:02:34
Shame on me, il m'aura fallu 160 lignes pour me rendre compte que statistiquement, ce sera tres tres frequent d'avoir 2 equipes a egalité de points. Du coup, je peux gagner quelques lignes si j'autorise a entrer que une equipe (pas le nombre de points, qui doit donc etre le meme que le precedent)...

Pour le jour 8 de 2002-2003 par exemple, ca donne ca:
Code:
//day 8
            {
                Day d = new Day(8);
                d.Load(Team.Nice,17);
                d.Load(Team.Auxerre);
                d.Load(Team.Bordeaux,14);
                d.Load(Team.Marseille);
                d.Load(Team.Monaco,13);
                d.Load(Team.Paris_SG);
                d.Load(Team.Sochaux);
                d.Load(Team.Guingamp,12);
                d.Load(Team.Lens);
                d.Load(Team.Lyon,11);
                d.Load(Team.Nantes,10);
                d.Load(Team.Strasbourg);
                d.Load(Team.Ajaccio,9);
                d.Load(Team.Lille);
                d.Load(Team.Bastia,8);
                d.Load(Team.Montpellier);
                d.Load(Team.Le_Havre,7);
                d.Load(Team.Troyes,6);
                d.Load(Team.Sedan);
                d.Load(Team.Rennes, 5);
                _days.Add(d);
            }

Je gagne donc 9 nombres... Ca veut dire que si quelqu'un commence a faire la saison 2003-2004, pour la journee 1 il gagne 17 nombres. d'ailleurs ce serait sympa que si quelqu'un commence, il le dise, et dise la saison sur laquelle il travaille, afin d'eviter que 2 personnes ne fassent la meme journee... ;)


Titre: Re : Base de Donnée statistiques
Posté par: m3d le 15 Février 2012 à 21:58:41
Hop hop.
Apres avoir discuté avec quelques personnes, je me suis appercu de la connerie monumentale de mon architecture.
La base de donnée sera remplie via un simple copie-paste du site de la LFP vers un classeur excel (livré avec  le programme, et donc updatable).
Le programme lit le classeur excel, et charge lui-meme la database... besoin de rien.
Ca devrait etre fini d'ici un jour ou deux du coup  :lol


Titre: Re : Base de Donnée statistiques
Posté par: papy_tergnier le 15 Février 2012 à 22:44:30
lol

après donc du fichier excel tu veux mettre ça sous access pour faire des requêtes/rapports rapidement ?

Je savais pas que sur le site de la LFP tu avais toutes ces données importables directement sur excel


Titre: Re : Base de Donnée statistiques
Posté par: papy_tergnier le 15 Février 2012 à 22:45:52
Tiens en parlant d'info, on dirait qu'il y a un bug dans le forum : je vois 3 posts de ta part et je vois

Message 0


Titre: Re : Re : Base de Donnée statistiques
Posté par: MARKOSUP le 15 Février 2012 à 22:49:21
Tiens en parlant d'info, on dirait qu'il y a un bug dans le forum : je vois 3 posts de ta part et je vois

Message 0

Ce n'est pas un bug : seuls les messages postés dans les forums actu du PSG, foot en général et Paris omnisports sont comptabilisés.


Titre: Re : Base de Donnée statistiques
Posté par: papy_tergnier le 15 Février 2012 à 22:51:34
ok merci pour l'info markosup



Titre: Re : Base de Donnée statistiques
Posté par: m3d le 15 Février 2012 à 22:53:05
Alors:

Je parse directement le fichier excel. Je stoque 40 int par journées, donc un total d'un peu plus de 15k int a la fin de cette saison, ce qui ne fait que 30kB a stoquer en memoire -> pas besoin de m'embeter

Le copier/coller depuis la LFP vers Excel c'est manuel, rien d'automatique :)


Titre: Re : Base de Donnée statistiques
Posté par: Maitre Indy le 16 Février 2012 à 09:15:35
Je crois que je vais éviter ce topic. Incroyable de se sentir aussi con en te lisant M3d...  :ouioui


Titre: Re : Base de Donnée statistiques
Posté par: m3d le 17 Février 2012 à 01:02:46
Si ca peut te rassurer Indy, ca fait des semaines que je vois un pterodactyle pour ton image perso...
Nene sait dribbler, moi non. Leonardo parle 8 langues, moi non. Ancelotti et Sirigu ont appris le francais en 1 mois, alors qu'il m'a fallu plus d'un an pour "maitriser" l'italien.
Quand j'etais chtiot, mon grand-pere me disait "tu fais le malin avec tes maths, mais si je te demande de me construire un mur, tu fais quoi?". Pas faux.
Bref, on a chacun notre ou nos specialités, plus ou moins pointues, et on rencontre tous les jours quelqu'un qui en sait plus que nous sur un sujet precis.
J'aime les stats et je sais coder... mais je place Dijon en Franche-Comté et ne distingue pas une caille d'un vulgaire pigeon. no soucis :)


Bon sinon, pour en revenir au schmilblik: j'ai 4 saisons de pleines, et un prototype qui marche. Diverses options déjà... Voilà ce qu'il sera possible de faire (en etat):

1/ Afficher le classement après la J-ieme journée de championnat de la saison S
2/ Afficher le classement, journée par journée, d'une equipe E lors d'une saison S
3/ Afficher le classement, journée par journée, du leader lors d'une saison S
4/ Afficher toutes les equipes ayant obtenu au moins/au plus/exactement P points à la J-ième journée (sur toute la database)
5/ Afficher toutes les equipes ayant obtenu au moins/au plus/exactement D points d'ecart sur le 1e (le 2e pour le cas particulier du leader) à la J-ième journée (sur toute la database)
6/ Afficher le classement, saison par saison, d'une equipe E à la J-ième journée de championnat
7/ Afficher le classement, saison par saison, du leader à la J-ième journée de championnat
8/Afficher le classement, saison par saison, du futur champion à la J-ième journée de championnat

Par exemple:
1/ pour J=9, S=2005-2006 donne 1-Lyon (21pts, finit 1e), 2-PSG (17pts, finit 9e), 3-Bordeaux ... 20-Metz (4pts, finit 20e)
2/ pour E=Paris, S= 2004-2005 donne 1- 13e (0pts, retard=-3), 2- 14e (1pt, retard=-5), 3- 14e ... 38- 9e (51pts, retard=-28)
3/ pour S=2003-2004 donne 1-Monaco (3pts, avance=0, finit 3e), 2-Nice (6pts, avance=0, finit 11e), 3-Lille ... 38-Lyon (79pts, avance=3, finit 1e)
4/ pour P>=50, J=23 donne Monaco 03/04 (51pts, 1e, avance=7, finit 3e); Lyon 05/06 (54pts, 1e, avance=12, finit 1e); etc
5/ pour D>=1, J=23 donne Auxerre 02/03 (40pts, 1e, avance=1, finit 6e); Monaco 03/04 (51pts, 1e, avance=7, finit 3e); Lyon 04/05; etc
6/ pour E=Paris, J=23 donne 02/03-10e (33pts, retard=-7); 03/04-4e (43pts, retard=-8); 04/05-10e ... 11/12-1e (50pts, avance=1)
7/ pour J=23 donne 02/03-Auxerre (40pts, avance=1, finit 6e), 03/04-Monaco (51pts, avance=7, finit 3e), 04/05-Lyon.... 11/12-Paris (50pts, avance=1, finit ??)
8/ pour J=23 donne 02/03-Lyon (39pts, 2e, retard=1), 03/04-Lyon (44pts, 3e, retard=7), 04/05-Lyon... 10/11-Lille (), 11/12-???


Bref, ma question c'est: qu'est ce qu'il vous faudrait?
Comme je l'ai dit, mon interface ne me plait pas, mais c'est parce que je ne sais pas trop quoi en faire.


Ma question principale est: est-ce que vous allez utiliser des requetes "standard" comme celles-ci, ou allez vous avoir des trucs tordus? (afficher les equipes ayant au moins 36 points au soir de la 19e, mais qui finissent dans la deuxieme moitie de tableau a la 38e, entre 2005 et 2008).
L'idée est que là je sais ce que chaque bouton cherche, donc je peux avoir une optimisation (les donnees sont traitées instantanement).
Autre possibilite, des options de filtres, qui ralentissent le process mais sont plus customizables....

???


Titre: Re : Base de Donnée statistiques
Posté par: m3d le 22 Février 2012 à 00:25:03
Alors, devant l'enthousiasme  :D général:

La première version beta est disponible ici:
http://www.filefactory.com/file/c3e2be3/n/L1DB.zip (http://www.filefactory.com/file/c3e2be3/n/L1DB.zip)

Normalement, tant que vous avez Windows et Excel, tout marche pour le mieux.
le .exe et la dll Excel doivent etre dans le meme repertoire, le fichier de DB peut etre ou l'on veut.

Le fichier de DB est bien evidement modulable, mais en fait pas tant que ca. Les clubs anglais apparaitront comme "Inconnu", les saisons a 34 ou 40 journées risquent de planter... Bref, do it at your own risks.

Faites moi part de vos feedback ;)



Titre: Re : Base de Donnée statistiques
Posté par: m3d le 22 Février 2012 à 02:07:51
Whaouh... c'etait super rapide sur l'ordi du bureau... Je viens de l'essayer sur ma daube à la maison et... va falloir au moins que je multi-thread le truc.


Titre: Re : Base de Donnée statistiques
Posté par: Shinichi le 22 Février 2012 à 07:59:18
Pas d'appli iPhone? Trop has been!

Je teste au boulot


Titre: Re : Base de Donnée statistiques
Posté par: IMFBB le 22 Février 2012 à 12:19:20
Pas possible d'installer quoi que ce fût sur le PC du taf et... pas de PC et encore moins de Windows @ home...

Pas un bon client! :D



Titre: Re : Base de Donnée statistiques
Posté par: papy_tergnier le 22 Février 2012 à 12:55:52
Moi ça bugge à l'exécution :(

WindowsFormsApplication1 a rencontré un problème ...

Pour info je suis sous XP !!



Titre: Re : Base de Donnée statistiques
Posté par: m3d le 22 Février 2012 à 15:18:39
@kob: pas besoin d'installer quoi que ce soit ;) Après, selon le niveau de sécurité de ta boite, il se peut que lancer un simple .exe necessite les droits d'admin.

@papy: dès que tu lances l'appli, ou as-tu pu choisi un fichier pour la DB? Dès que tu me dis, j'améliore le message d'erreur pour essayer d'en savoir plus. Comme ca je dirais que ta version de .net est trop vieille par rapport

@Shinichi: Je developpe des applications, pas des jouets :D

Sinon il y a un bug dans la DB, a la J16 2005-06 (de mémoire) le classement de Lyon est "si" au lieu de "1".


Titre: Re : Base de Donnée statistiques
Posté par: IMFBB le 22 Février 2012 à 15:20:56
Yep, c'est le lancement du .exe qui risque de pas passer, je me suis mal exprimé...


Titre: Re : Base de Donnée statistiques
Posté par: papy_tergnier le 22 Février 2012 à 15:34:14
dès que je lance


Titre: Re : Base de Donnée statistiques
Posté par: Shinichi le 22 Février 2012 à 16:12:31
Papy: alt + F11 et tu corriges la macro.

Tu nous diras ce qu'il faut changer  :)))


Titre: Re : Base de Donnée statistiques
Posté par: m3d le 22 Février 2012 à 16:26:57
@papy: si tu vas dans panneaux de configuration > programmes > voir les programmes installés, tu dois avoir une liste de "Microsoft .NET" Frameworks. Il s'agit en gros de tout ce qui est fenetres Windows. Si tu n'as rien upgradé, tu ne dois avoir que la version livrée avec XP, c'est à dire 1.0, 1.1, 1.2 ou 1.3

La version que le programme utilise est 3.5, et je pense que c'est ce qui bloque. Je peux "downgrader" le programme jusqu'à la version 2.0, ce qui correspond au framework délivré avec Vista, mais les versions framework de XP ne seront toujours pas compatibles, donc ca ne t'aidera pas beaucoup.

Je pense que le plus simple est que tu installes .net 3.5 (http://www.microsoft.com/download/en/details.aspx?id=21 (http://www.microsoft.com/download/en/details.aspx?id=21))


Titre: Re : Base de Donnée statistiques
Posté par: IMFBB le 22 Février 2012 à 16:50:22
Quand je lis ça, j'ai une irrépressible envie de racheter un PC, moi!  :D


Titre: Re : Base de Donnée statistiques
Posté par: Shinichi le 22 Février 2012 à 16:52:10
J'attends la version iPad

m3d tu me confirmes qu'elle est en cours de validation chez Apple?


Titre: Re : Base de Donnée statistiques
Posté par: m3d le 22 Février 2012 à 16:58:24
@Shinichi:
 Je suis un scientifique dans l'ame, donc je me tiens éloigné de toute secte... Alors quand on me dit "oui tu peux acheter notre truc, c'est plus cher que les autres, mais tu n'as droit qu'à un bouton à ta souris, et tout ce que tu telecharges doit avoir été au préalable validé par nos soins", je me sauve en courant.
Je suis sur que les anciens abonnés à qui on a dit "oui, tu peux t'abonner, ce sera plus cher qu'avant, tu ne pourras pas choisir ta place, et si tu viens avec des potes il faut qu'ils aient au préalable été validés par nos soins" comprennent...  :D


Titre: Re : Base de Donnée statistiques
Posté par: IMFBB le 22 Février 2012 à 17:03:17
Et ce côté scientifique dans l'âme te rend friand de défis à relever, d'environnements instables et compliqués, de pièges à éviter. Je comprends et je respecte.

Moi, j’aime quand c’est simple, si possible beau et que ça fait ce que je veux que ça fasse quand je veux que ça le fasse. Quitte à payer un peu plus…


Titre: Re : Base de Donnée statistiques
Posté par: m3d le 22 Février 2012 à 17:16:34
Simple, beau, pas à réflechir, et couteux.
une totale liberté de pensée cosmique, vers un nouvel age reminiscent?
"tout bien que tu detiens est un soucis qui te retiens"... et la pomme est là pour t'oter tous tes soucis...

Plus serieusement, si tu fais du graphisme (dessin industriel, effets speciaux, retouches...), il faut un mac. Si tu fais du dev, il faut windows. Si tu fais du gros calcul bourrin, il faut linux.

Si tu fais aucun des trois, c'est les gouts et les couleurs...


Titre: Re : Base de Donnée statistiques
Posté par: papy_tergnier le 22 Février 2012 à 17:22:08
M3D,

on dirait que pourtant j'ai ce qu'il faut (en PJ) :

alors certes j'en ai beaucoup : comme kob_bzh je devrai changer de PC pro !!





Titre: Re : Base de Donnée statistiques
Posté par: Shinichi le 22 Février 2012 à 17:29:25
Papy, tu viens de casser un gros trollage en regle par kob!!!


Titre: Re : Base de Donnée statistiques
Posté par: papy_tergnier le 22 Février 2012 à 17:45:01
Je n'aurai qu'une image :

 :troll

En plus j'utilise Linux/UNIX pour mes serveurs, Windows pour le pro, MAC pour naviguer sur internet le soir (j'ai eu mon mac à un prix inférieur à un PC : c'est pour ça que je me permets ce luxe)

On peut me comparer à un indépendant  :)


Titre: Re : Base de Donnée statistiques
Posté par: Shinichi le 22 Février 2012 à 18:02:30
Ca tourne pas sur mon AMSTRAD.


Titre: Re : Re : Base de Donnée statistiques
Posté par: m3d le 22 Février 2012 à 22:46:26
on dirait que pourtant j'ai ce qu'il faut (en PJ)

Indeed.
Bizarre. J'ai cru un instant que ca venait du serveur de stockage qui faisait des conversions ASCII/binary à la volée mais ca marche quand je telecharge.

La seule manière que je trouve pour repliquer ton problème est en lancant le programme depuis la console (au lieu d'un double click). Est-ce ce que tu fais?



Titre: Re : Base de Donnée statistiques
Posté par: papy_tergnier le 22 Février 2012 à 23:34:59
Non j'ai un petit côté geekos unix mais je vais pas jusqu'à exécuter mes programmes exe via le cmd



Titre: Re : Base de Donnée statistiques
Posté par: m3d le 23 Février 2012 à 00:29:32
hum...

1-Telecharges le fichier texte en PJ (35KB, j'espere que vous ne m'en voulez pas...)
2-Copie-le dans le repertoire dans lequel tu as mis L1DB.exe, la dll Excel et (meme si il a pas besoin d'etre la) le fichier de db .xlsx
3-renomme-le (de .txt a .exe)
4-lance-le (avec la console ou pas, j'ai corrigé ce bug maintenant)
5-Ca va te creer une nouvelle console, avec un peu de texte (idealement au moins une premiere ligne "Starting"), et se finissant par trois lignes: "Exception", et deux messages.
6-Fais un screenshot de la console et envoie-le moi à darth_m3d@fastmail.us (c'est l'adresse que j'utilise pour mon sith  :lol)


Titre: Re : Base de Donnée statistiques
Posté par: Shinichi le 23 Février 2012 à 08:25:43
C'est pas parce qu'il essaie de nous faire croire qu'il utilise UNIX qu'il faut lui demander s'il utilise la console... Il va penser a la megadrive ou a la supernintendo!


Titre: Re : Base de Donnée statistiques
Posté par: papy_tergnier le 23 Février 2012 à 09:41:58

j'ai même pas la console qui apparaît. J'ai une fenêtre windows avec le petit texte suivant :

"C:\...\LIDB_debug.exe n'est pas une application Win32 valide."

Je ne pense pas que ce soit du à un bug de ton appli mais plus à un pb de configuration sur mon poste !!
Franchement te prends pas la tête avec ça. C'est pas très grave.
Si d'autres personnes ont le même pb pourquoi pas mais sinon.

En plus le plus important pour moi c'est ton fichier excel donc si je veux des stats j'importerai ça dans une base oracle et je ferai mes petites requêtes (c'est une partie de mon métier les requêtes sql donc je devrai m'en sortir)



Titre: Re : Base de Donnée statistiques
Posté par: Shinichi le 23 Février 2012 à 10:36:55
j'importerai ça dans une base oracle et je ferai mes petites requêtes (c'est une partie de mon métier les requêtes sql donc je devrai m'en sortir)

Je suis bluffé... Je vais aller jouer à la belotte avec Indy, je comprends plus rien à vos abréviations!


Titre: Re : Base de Donnée statistiques
Posté par: fructis75 le 23 Février 2012 à 10:48:59
Testé et aucun soucis ;)


Titre: Re : Re : Base de Donnée statistiques
Posté par: m3d le 23 Février 2012 à 17:14:59
Je ne pense pas que ce soit du à un bug de ton appli mais plus à un pb de configuration sur mon poste !!

hum... tu serais pas en 32 bits des fois?
Essaye ca.
Désolé, tous mes clients sont passés au 64 bits, et plus aucun ne demande de version compatible 32 alors... :/

@ Fructis: Cool :D
N'hesites pas si tu trouves des bugs, ou si tu as des suggestions d'amelioration :)


Titre: Re : Base de Donnée statistiques
Posté par: Shinichi le 24 Février 2012 à 07:29:14
Évidemment papy n'est pas passe au 64!!!


Titre: Re : Base de Donnée statistiques
Posté par: papy_tergnier le 24 Février 2012 à 10:03:32
m3d ... en effet je suis encore en 32 bits !!


Titre: Re : Re : Base de Donnée statistiques
Posté par: Maitre Indy le 25 Février 2012 à 19:00:06
Je suis bluffé... Je vais aller jouer à la belotte avec Indy, je comprends plus rien à vos abréviations!

Quand tu veux !

Sinon, chapeau pour le boulot fourni. Mais je crois que je vais me limiter au topic stats d'en haut.

m3d ... en effet je suis encore en 32 bits !!

T'étais mauvaise langue. Il n'a pas une mégadrive mais une Saturn !