Skip to content

♟️ Club d’Échecs – Développement d’un gestionnaire de tournois en Python (MVC)

ChessLogi

Contexte

Dans le cadre de ma formation chez OpenClassrooms, j’ai été sollicité par le club d’échecs local pour développer une application de gestion de tournois fonctionnant hors ligne. Le club, jusque-là limité par des outils manuels ou onéreux, recherchait une solution simple, robuste, et adaptée à ses contraintes.

Recommandé par une développeuse membre du club, j’ai été missionné pour concevoir un programme en Python répondant à leurs besoins spécifiques.

Objectif

Développer une application console en Python permettant :

  • La création et gestion de tournois, joueurs et résultats
  • L’enregistrement et la sauvegarde des données en fichiers JSON
  • L’exécution hors-ligne compatible Windows, Mac et Linux
  • Le respect de la structure MVC (modèles, vues, contrôleurs)
  • Un code conforme aux standards PEP 8 validé par flake8-html

Défis techniques

  • Mise en œuvre de la programmation orientée objet pour modéliser les entités (joueurs, matchs, tours, tournois)
  • Conception MVC complète : séparation des responsabilités entre modèle, vue, contrôleur
  • Génération dynamique des appariements selon les performances, sans doublons
  • Persistance des données en JSON avec synchronisation continue
  • Création de rapports lisibles (classements, historiques de tournois, matchs)
  • Validation du code avec flake8 et production d’un rapport HTML d’analyse statique

Compétences développées

  • Programmation orientée objet avancée en Python 3
  • Structuration d’un projet via le pattern MVC
  • Manipulation de données avec JSON pour la persistance hors-ligne
  • Mise en place d’un système de menu interactif en console
  • Génération et lecture de rapports textuels dynamiques
  • Suivi rigoureux des normes de qualité de code (PEP 8, flake8, README, requirements.txt)

Liens utiles

Logo de Gitlab