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