{"id":26691575,"url":"https://github.com/mothraa/pychess-tournament-manager","last_synced_at":"2025-03-26T16:19:28.573Z","repository":{"id":228835087,"uuid":"768592659","full_name":"Mothraa/PyChess-Tournament-Manager","owner":"Mothraa","description":"OC project 4","archived":false,"fork":false,"pushed_at":"2024-05-22T09:25:19.000Z","size":180,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-26T16:19:21.513Z","etag":null,"topics":["json","mvc-pattern","oop","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Mothraa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-07T11:21:16.000Z","updated_at":"2024-10-11T07:28:54.000Z","dependencies_parsed_at":"2024-05-22T10:41:47.212Z","dependency_job_id":null,"html_url":"https://github.com/Mothraa/PyChess-Tournament-Manager","commit_stats":null,"previous_names":["mothraa/ocr_projet4","mothraa/pychess-tournament-manager"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mothraa%2FPyChess-Tournament-Manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mothraa%2FPyChess-Tournament-Manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mothraa%2FPyChess-Tournament-Manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mothraa%2FPyChess-Tournament-Manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mothraa","download_url":"https://codeload.github.com/Mothraa/PyChess-Tournament-Manager/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245689472,"owners_count":20656417,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["json","mvc-pattern","oop","python"],"created_at":"2025-03-26T16:19:27.594Z","updated_at":"2025-03-26T16:19:28.567Z","avatar_url":"https://github.com/Mothraa.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Application de gestion de tournois d'échec\n\n## À propos\n\nFormation OpenClassRooms - Developpeur d'application python - Projet 4\n\nDéveloppez un programme logiciel en Python (POO + design pattern MVC)\n\n\n## Prérequis\n\nPython \u003e=3.12.0\n\n## Installation\n\nCloner le repository\n```bash\ngit clone https://github.com/Mothraa/OCR_projet4.git\n```\nCréer l'environnement avec [venv](https://docs.python.org/fr/3/library/venv.html)\n```bash\npython -m venv env\n```\nActiver l'environnement\n\n- sous linux ou mac\n```bash\nsource env/bin/activate\n```\n- sous windows\n```bash\nenv/scripts/activate\n```\nUtiliser le gestionnaire de package [pip](https://docs.python.org/fr/dev/installing/index.html) pour installer les librairies python\n```bash\npip install -r requirements.txt\n```\n\n## Utilisation\n\nExecuter le script main.py\ndans le terminal :\n```bash\npython main.py\n```\n\n## Langages \u0026 Frameworks\n\nDéveloppé sous python 3.12.1\navec l'aide de la librairie :\n- [Faker](https://faker.readthedocs.io/en/master/) pour la génération de données aléatoires\n- [flake8](https://flake8.pycqa.org/en/latest/) et [flake8-html](https://pypi.org/project/flake8-html/) pour le controle du livrable et la génération d'un rapport\n\n\n## Documentation\n\n### Table des matières\n\n**Utilisation de l'application**\n  - [Création des joueurs](#création-des-joueurs)\n  - [Création des tournois](#création-des-tournois)\n  - [Affichage des rapports](#affichage-des-rapports)\n\n**Organisation du livrable**\n  - [fichier config.ini](#fichier-configini)\n  - [fichier chess.log](#fichier-chesslog)\n  - [données JSON](#données-json)\n  - [Rapport flake8](#rapport-flake8)\n\n\n### Utilisation de l'application\n\n#### Création des joueurs\n\nLe menu création de joueurs contient les catégories ci-dessous :\n\n* *1. Afficher joueurs* : affiche la liste des joueurs et leurs ID.\n* *2. Créer joueur* : saisie des informations pour la création d'un nouveau joueur.\n* *3. Générer des joueurs (POUR TEST)* : génère aléatoirement des joueurs fictifs **POUR TEST UNIQUEMENT**\n\n\n#### Création des tournois\n\nLe menu création de tournois contient les catégories ci-dessous :\n\n* *1. Afficher liste tournois* : affiche la liste des tournois et leurs ID\n* *2. Créer tournoi* : saisie des informations pour la création d'un nouveau tournoi.\n* *3. Générer des tournois (POUR TEST)* : génère aléatoirement des tournois fictifs **POUR TEST UNIQUEMENT**\n* *4. Ajouter des joueurs à un tournoi* : Avant le début d'un tournoi, il faut ajouter les participants. Cette fonctionnalité n'est plus accessible une fois le tournoi commencé.\n* *5. Commencer un tournoi* : Pour commencer un tournoi, celui ci doit avoir un nombre minimum de joueurs. Génère le 1er tour (avec la liste des matchs).\n* *6. Ajouter le score d'un tour* : Saisie des scores d'un tour.\n* *7. Débuter un nouveau tour* : les scores doivent avoir été ajoutés dans le tour précédent. Ce dernier est alors cloturé et un nouveau tour généré (avec la liste des matchs).\n* *8. Terminer un tournoi* : Une fois l'ensemble des tours joués, permet de cloturer un tournoi.\n\n\n#### Affichage des rapports\n\nLes rapports sont accessibles depuis le menu principal \u003e Rapports.\n3 types de rapports sont consultables :\n* liste de tous les joueurs par ordre alphabétique\n* liste de tous les tournois\n* pour un tournoi donné :\n  - nom et dates du tournoi \n  - liste des joueurs du tournoi par ordre alphabétique\n  - liste de tous les tours du tournoi et de tous les matchs du tour\n\n\n### Organisation du livrable\n\n#### fichier config.ini\n\nCe fichier contient l'emplacement du stockage des fichiers JSON\n\n#### fichier chess.log\n\nUn fichier chess.log est généré lors de l'utilisation de l'application.\nLe log est paramétré par défaut au niveau \"DEBUG\".\n\n#### données JSON\n\nDeux fichiers JSON sont générés dans le repertoire .\\data\\\n* players.json\n* tournaments.json\nIls contiennent l'ensemble des données traitées par l'application.\nLes données sont enregistrées en continu.\nElles sont automatiquement chargées à l'ouverture de l'application.\n\n#### Rapport flake8\n\nUn rapport avec flake8-html a été généré.\nCelui ci est disponible dans le répertoire .\\flake8_rapport\\ du dépot.\nIl a été généré avec la commande :\n```bash\nflake8 --format=html --htmldir=flake8_rapport --exclude env --max-line-length=119\n```\n\n## Gestion des versions\n\nLa dénomination des versions suit la spécification décrite par la [Gestion sémantique de version](https://semver.org/lang/fr/)\n\nLes versions disponibles ainsi que les journaux décrivant les changements apportés sont disponibles depuis [la section releases](https://github.com/Mothraa/OCR_projet4/releases)\n\n## Licence\n\nVoir le fichier [LICENSE](./LICENSE.md) du dépôt.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmothraa%2Fpychess-tournament-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmothraa%2Fpychess-tournament-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmothraa%2Fpychess-tournament-manager/lists"}