Le jeu du solitaire en Python/PyGame (pour la SAE 1 & 2 du S1) - Wikipedia
Vérifiez que PyGame est bien installé sur le système utilisé. Le plus simple est de lancer la commande d'installation :
pip install pygameSi la commande est refusée (vous n'avez pas les droits administrateur par exemple), il faudra peut-être créer son environnement de développement.
Il sera peut-être utile de mettre à jour PyGame :
pip install pygame --upgradeCommencez par vérifier que PyGame est installé ou non avec la commande :
pip freeze | grep pygameSous Windows :
pip freeze | findstr pygame
Si PyGame n'est pas installé et que vous n'êtes pas administrateur de la machine, créez votre environnement de développement avec la commande :
python -m venv venvCette commande crée un répertoire venv/ contenant une "copie" de l'environnement Python.
Placez-vous dans l'environnement de développement venv/ en tapant
la commande :
source venv/bin/activateSous Windows
venv\Scripts\activate
Dans cet environnement, vous pouvez alors installer PyGame avec la commande :
pip install pygamePour quitter l'environnement venv/, il suffit de taper la commande :
deactivatePour mettre à jour le package PyGame, il faut taper la commande :
pip install pygame --upgradePour mettre en place les outils de documentation Sphinx, suivre les étapes suivantes.
Installer Sphinx :
pip install sphinxVérifier que l'installation est correcte :
sphinx-build --versionPour configurer la documentation, il faut exécuter la commande suivante dans le répertoire de base.
sphinx-quickstartCette commande crée les fichiers suivants :
Makefile: Permet de générer la documentationmake.bat: Pour Windows, remplace la commandemakede linux.
La commande crée également les répertoires suivants :
build/: répertoire qui contiendra la documentation générée par Sphinx (à exclure du dépôt Git).source: répertoire qui contient les fichiers de configurationconf.pyetindex.rst.
Dans ce fichier, on retrouve les paramètres entrés lors de la configuration de la documentation.
On peut notamment ajouter dans ce fichier des options pour "enjoliver" la documentation.
Un thème souvent utilisé est le thème sphinx-rtd-theme. Pour l'installer, il faut lancer la commande :
pip install sphinx-rtd-themeEnfin, dans le fichier source\conf.py, on ajoute la ligne :
html_theme = "sphinx_rtd_theme"Une option utile est (toujours dans le fichier source/conf.py) :
extensions = [
'sphinx.ext.autodoc',
]Cette option permet d'inclure la documentation au format docstring utilisé dans les fichiers python.
Par contre, dans la "docstring", il faut séparer la description de la méthode de celle des paramètres par une ligne vide :
"""
Retourne la colonne des coordonnées données en paramètre
:param coord: Coordonnées
:return: Numéro de colonne des coordonnées
:raise TypeError: s'il ne s'agit pas de coordonnées
Ne pas oublier d'ajouter les ':' derrière le type des exceptions, sinon l'option :raise n'est pas
reconnue.
Si vous voulez inclure le type des paramètres dans la documentation, il faut installer le module
sphinx-autodoc-typehints :
pip install sphinx-autodoc-typehintsSans oublier de l'ajouter dans les extensions (fichier conf.py) :
extensions = [
...,
"sphinx_autodoc_typehints",
]Remarque : Pour le typage en Python, on peut améliorer le typage grâce au module
typing:from typing import Union def format_unit(value: Union[float, int], unit: str) -> str: ...
Depuis Python 3.11 et PyCharm (version 2024), il est possible de typer les collections en détail.
Exemple :
def une_fonction(lst: list[str]) -> dict[str, dict]: """ Cette fonction ... :param lst: Liste de chaînes de caractères .... :return: Dictionnaire ... """ ...
Si les modules ne se trouvent pas dans le même répertoire que le fichier conf.py, il
faut préciser le chemin en décommentant les lignes :
import os
import sys
sys.path.insert(0, os.path.abspath('..')) # Mettre le bon chemin...Dans ce fichier, on ajoute les documents que l'on veut voir apparaître dans la documentation.
Ceci se fait dans le paragraphe `toctree``:
.. toctree::
:maxdepth: 2
:caption: Contents:
./Fichier01.rst
./Fichier02.rst
Les fichiers Fichier0x.rst commencent par une présentation de leur contenu, puis les
classes à documenter, les éventuelles notes et les fonctions associées :
view.Canvas
===========
Classe permettant de créer et gérer une fenêtre.
Exemple d'utilisation :
.. code-block:: python
from view.Canvas import Canvas
# Création de la fenêtre
cv = Canvas( (640, 480) )
# Afficher/mettre à jour la fenêtre
cv.display()
.. autoclass:: view.Canvas.Canvas
:members:
.. NOTE::
Fonction attachée à la fenêtre
.. autofunction:: view.Canvas.waitClick
.. autofunction:: view.Canvas.pause
Il existe plusieurs types de préfixes que vous pouvez utiliser dans vos messages de commit pour indiquer la nature des changements. Voici quelques exemples courants :
- feat: pour une nouvelle fonctionnalité.
- fix: pour une correction de bug.
- docs: pour des modifications de la documentation.
- style: pour des changements de formatage, de style de code, etc., qui n'affectent pas le fonctionnement du code.
- refactor: pour des modifications de code qui n'ajoutent pas de fonctionnalité ni ne corrigent de bug.
- perf: pour des changements qui améliorent les performances.
- test: pour ajouter ou modifier des tests.
- chore: pour des tâches de maintenance ou des mises à jour de dépendances.
Ces conventions sont souvent utilisées dans le cadre de Conventional Commits, un standard qui aide à rendre les messages de commit plus lisibles et à automatiser la gestion des versions. Voici un exemple de message de commit utilisant ces conventions :
feat: ajoute la fonctionnalité de recherche
Cette fonctionnalité permet aux utilisateurs de rechercher des articles par mots-clés.
En utilisant ces préfixes, vous facilitez la compréhension des changements apportés et améliorez la collaboration au sein de votre équipe.