Application de gestion de compétition de rugby

Bonjour à tous,
Ceci est mon premier message et je vous remercie par avance de votre indulgence. Depuis 10 ans maintenant, je gère avec excel des résultats de compétition de rugby (top14, champions cup, coupe du monde, tournoi des 6 nations) avec la diffusion de stats d’avant match (voici un exemple : Castres Olympique / Stade Rochelais (J21) (e-monsite.com). Aujourd’hui, je souhaite tout redévelopper sous python mais étant débutant, je souhaiterai avoir des conseils, des confirmations de votre part. Je compte utiliser une base SQLite et une interface Tkinter. Qu’en pensez-vous ? Merci par avance de vos réponses.
Bien à vous,

Philippe

Bonjour,

Vu le nombre de données à gérer il faudrait plutôt utiliser MariaDB ou PostgreSQL.
Après j’ai l’impression que tu fait surtout de la génération d’images plutôt que des requêtes pour créer des tableau à la volée. Je ne sais pas si tu gardes les données après la génération ni comment tu les récoltes.
Pour la génération des tableau et des graphiques je passe souvent par la création d’un page web que je transforme après en image ou en PDF.
Pour la création de compétitions locale j’étais tombé sur ce module :

Cordialement

2 « J'aime »

Si ça loge sur Excel ça loge sur sqlite, non ?

3 « J'aime »

Bonjour @philoche63 !

Aujourd’hui, je souhaite tout redévelopper sous python

À ce que je comprends tu as actuellement deux parties :

  • stocker sur Excel (tout maintenu à la main ?)
  • calculer des stats et les publier

si j’ai bien compris, ce que je te conseillai c’est justement de ne pas « tout redévelopper », mais d’identifier des touts petits bouts que tu peux réimplémenter en Python, par exemple :

  • laisse tes données sur Excel,
  • Implémente quelques traitements en Python (calculs de statistiques, import de données automatiques, …).

Les avantages :

  • Tu ne changes pas tes habitudes sur la maintenance de tes fichiers Excel.
  • Tu ne casses pas ton processus actuel (publication de stats).
  • Ça te permet de commencer avec très peu de code : juste implémenter un seul type d’extraction c’est déjà un objectif, atteignable en ~20 lignes de Python, et avancer à ton rythme.
  • Pas de jour où tu dois faire une transition entre “l’ancien système” et le “nouveau système”, jour risqué et parfois stressant. Tu peux même avoir l’ancien et le nouveau systèmes qui fonctionnent côte à côte, en même temps.

Côté modules Python pour lire des fichiers excel tu as :

  • openpyxl pour les .xlsx
  • xlrd pour les .xls
5 « J'aime »

Bonsoir Encolpe, merci beaucoup pour ta réponse. Ma solution sous excel, c’est vraiment du bricolage. Plusieurs fichiers indépendants, plus d’un quart de mise à jour chaque semaine, capture écran de mes graphiques…
Je suis certain que je peux faire bien mieux sous python à condition d’avoir de bons conseils.
Pourquoi me conseilles tu ces 2 bases de données ? As tu peur que sqlite soit un peu juste pour mon projet ? Ces produits sont ils gratuits (sinon, quel est leur prix ?), tournent ils sur mac ?
Penses tu qu’il est possible de générer des images directement sous python ?
Encore un grand merci d’avoir pris de ton temps pour ces précieux conseils.
Bien à toi

Bonsoir mdk, merci beaucoup d’avoir pris de ton temps pour m’apporter des solutions. Pour produire mes stats, j’ai 3 gros fichiers Excel et leur maintenance est de plus en plus laborieuse (plus d’un quart d’heure pour la mise à jour de 2 fichiers). C’est pour cette raison que je souhaite transposer mes fichiers Excel vers une base de données et tout réecrire.
Python est un langage formidable et j’ai vraiment hâte de me lancer dans cette nouvelle aventure.
Ce projet me hante depuis de nombreux mois et il me faut des conseils de votre part pour etre certains de prendre les bonnes décisions.
Bien à toi,

Bonjour Philoche,
je pense que ton classeur Excel fait beaucoup de choses et cela sera long de tout “convertir” en python.
En plus de ce que t’on deja suggéré les autres :

  • Peux tu faire une liste des trois ou quatre fonctionnalités les plus simples que tu pourrais commencer a coder ?

  • Je te recommande vivement d’apprendre a te servir de git, c’est un système de contrôle de version. C’est un logiciel qui te permet de suivre les modifications faites a ton code. Ca te permet de ne pas avoir a faire de controle (ou pomme) Z dans tous les sens. il y a un client mac qui s’appele gitkraken https://www.gitkraken.com/ j’ai cherché une intro a git Introduction à GIT — Introduction à GIT coder sans systeme de contrôle de version c’est un peu comme sortir sans chaussures.

  • Je pense qu’une partie de ton projet sera de lire des données puis de les synthetiser. Tu pourrais créer un classeur simple, l’extraire en CSV puis utiliser python pour faire des choses avec. L’avantage c’est que tu peux editer a la main, sans basse de donnée. Pour de la production c’est pas pro du tout, mais pour prototyper ça peut le faire. csv — Lecture et écriture de fichiers CSV — Documentation Python 3.12.3

Connais tu déjà python, d’autres langages ? Lis tu l’anglais ? Si oui il y a quelques livres qui te permettront de te mettre le pied a l’étrier.

Bravo pour cette initiative en tout cas, bon courage a toi.

1 « J'aime »

Bonjour Colin,
Merci beaucoup d’avoir pris du temps pour cette analyse.

Ce que je souhaite c’est :
-saisir un calendrier avec les matchs par journée
-saisir les actions (essai transformation Pénalité drop carton jaune rouge, les transformations et Pénalité ratees) le joueur et le chrono
-calculer les classements (général, domicile et extérieur).

Merci beaucoup pour l’idee du suivi des versions. Je connaissais github mais je vais consulter les liens de ton messages.

Puis je soumettre ici le debut de mon analyse ?

Encore un grand merci pour tes precieux

Pour le 3e point, je comptais générer mes graphiques directement avec python mais l’idée d’utiliser excel pour les graphiques c’est tres malin.

Puis je soumettre ici le début de mon analyse ?

Un grand merci pour tes précieux conseils.

Bien à toi,

Philoche

Bonjour, ce projet est intéressant.
Comment fais-tu pour récupérer les données ? Il existe peut-être une API qui te permet de les récupérer automatiquement. Par exemple, une petite recherche sur google avec pour mot-clé “API rugby” me propose ce lien.

Après acquisition des données, tu vas devoir les transformer et les manipuler.
Souvent les API renvoient des fichiers json, il existe un package python pour les lire.

Il existe des librairies python également pour les statistiques et la production de graphiques. Je pense à pandas, matplotlib et seaborn.

1 « J'aime »

Bonsoir gcousin, un grand merci d’avoir le temps de faire ces recherches pour mon projet.
Dans la solution actuelle, je récupère les informations principalement sur le site de l’équipe.
Je comptais faire de même sous python dans un premier temps mais j’envisageais de scrapper les résultats mais étant complètement débutant, une api fait la même chose ?
Penses tu que les librairies que tu cites me permettraient de produire des graphiques similaires à ceux que je produis actuellement sous excel ?
Encore un grand merci pour tes précieux conseils.
Bien à toi,
Philippe

Coucou Philoche,
mes conseils (désolé si le ton est sec mais je suis un peu contraint par le temps) :

prendre les donnés de l’an dernier (la saison est terminée)
ne prendre que les confrontations entre 5 equipes (les 5 premieres equipes par exemple) et ne s’intéresser qu’au score final.
tu peux commencer par un tableur avec comme colonnes :

journee |equipe domicile | equipe exterieur | score domicile | score exterieur | date

Pourquoi si petit :
tu peux déjà penser a faire un classement general que tu pourrais representer graphiquement ensuite (classement extérieur, classement domicile etc etc ensuite) donc tu as une première “fonctionnalité produit” : afficher le classement.
Pourquoi 5 équipes :
Pour avoir un sous ensemble facilement visualisable intégralement.

Pour le moment il me semble prématuré de s’intéresser aux actions de jeux et au détail du score.

En ce qui concerne excel et les graphiques, je n’ai pas été clair : je te proposais d’utiliser une tableur pour saisir les données, parce que c’est pratique.
Tu pourra faire les graphiques avec les outils suggérés par les autres ensuite.

Tu peux partager tes analyses ici, mais tu pourrais mettre du code sur codeberg ou github, afin que les autres puissent aussi regarder et t’aider.

J’en profite pour partager un nouvel article d’Haki Benita : Fastest Way to Read Excel in Python | Haki Benita