diff --git a/docs/index.rst b/docs/index.rst index b3d7625..5f45fde 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -2,7 +2,14 @@ Bienvenue dans la documentation de Squirrel Battle ! ==================================================== .. toctree:: - :maxdepth: 2 - :caption: Squirrel Battle + :maxdepth: 3 + :caption: Développer + install-dev + +.. toctree:: + :maxdepth: 3 + :caption: Jouer + + install troubleshooting diff --git a/docs/install-dev.rst b/docs/install-dev.rst new file mode 100644 index 0000000..db611e0 --- /dev/null +++ b/docs/install-dev.rst @@ -0,0 +1,31 @@ +Installation d'un environnement de développement +================================================ + +Il est toujours préférable de travailler dans un environnement Python isolé du reste de son instalation. + +1. **Installation des dépendances de la distribution.** + Vous devez déjà installer Python et le module qui permet de créer des environnements virtuels. + On donne ci-dessous l'exemple pour une distribution basée sur Debian, mais vous pouvez facilement adapter pour ArchLinux ou autre. + +.. code:: bash + + $ sudo apt update + $ sudo apt install --no-install-recommends -y python3-setuptools python3-venv python3-dev git + +2. **Clonage du dépot** là où vous voulez : + +.. code:: bash + + $ git clone git@gitlab.crans.org:ynerant/squirrel-battle.git && cd squirrel-battle + +3. **Création d'un environment de travail Python décorrélé du système.** + On n'utilise pas `--system-site-packages` ici pour ne pas avoir des clashs de versions de modules avec le système. + +.. code:: bash + + $ python3 -m venv env + $ source env/bin/activate # entrer dans l'environnement + (env)$ pip3 install -r requirements.txt + (env)$ deactivate # sortir de l'environnement + +Le lancement du jeu se fait en lançant la commande ``python3 main.py``. \ No newline at end of file diff --git a/docs/install.rst b/docs/install.rst new file mode 100644 index 0000000..0b2e7ff --- /dev/null +++ b/docs/install.rst @@ -0,0 +1,90 @@ +Installation client +=================== + +Installation +------------ + +Différents paquets sont déployés, dans PyPI pour tout système utilisant Python, +un paquet Debian et un paquet Arch Linux. + +Depuis PIP +~~~~~~~~~~ + +.. _PyPI: https://pypi.org/project/squirrel-battle/ + +Le projet `Squirrel Battle` est déployé dans PyPI_. Il suffit d'installer +Squirrel Battle en exécutant : + +.. code:: bash + + pip install --user squirrel-battle + +Les mises à jour s'obtiennent également via PIP en exécutant : + +.. code:: bash + + pip install --user --upgrade squirrel-battle + +Le jeu peut se lancer ensuite en exécutant la commande ``squirrel-battle``. + +Toutefois, le paquet PyPI n'inclut pas les polices d'émojis. Il est recommandé +d'installer des polices telles que ``noto-fonts-emoji`` afin de prendre en charge +les émojis dans votre terminal. + + +Sur Arch Linux +~~~~~~~~~~~~~~ + +.. _AUR: https://aur.archlinux.org/ +.. _python-squirrel-battle: https://aur.archlinux.org/packages/python-squirrel-battle/ +.. _python-squirrel-battle-git: https://aur.archlinux.org/packages/python-squirrel-battle-git/ +.. _yay: https://aur.archlinux.org/packages/yay/ + +Deux paquets sont publiés dans l'AUR_ (Arch User Repository) : + +- python-squirrel-battle_ +- python-squirrel-battle-git_ + +Le premier paquet est mis à jour à chaque nouvelle version déployée, le second +est utile pour des fins de développement et est en permanence à jour +avec la branche ``master`` du Git. + +Les deux ne sont pas présents dans les dépôts officiels de Arch Linux, mais vous +pouvez les récupérer avec un outil tel que yay_. + +Les paquets incluent la dépendance ``noto-fonts-emoji``, qui permet d'afficher +les émojis dans le terminal. + +Le jeu peut être ensuite lancé via la commande ``squirrel-battle``. + + +Sur Ubuntu/Debian +^^^^^^^^^^^^^^^^^ + +.. _paquet: https://gitlab.crans.org/ynerant/squirrel-battle/-/jobs/artifacts/master/raw/build/python3-squirrelbattle_3.14_all.deb?job=build-deb + +Un paquet_ est généré par l'intégration continue de Gitlab à chaque commit. +Ils sont également attachés à chaque nouvelle release. + +Il dépend du paquet ``fonts-noto-color-emoji``, permettant d'afficher les émojis +dans le terminal. Il peut être installé via APT normalement sur une distribution +récente, toutefois sur les versions les plus vieilles, incluant Debian Buster, +certains émojis n'apparaissent pas. Il est essentiel de maintenir ce paquet à +jour. Pour installer manuellement la dernière version de ce paquet, +il suffit d'exécuter : + +.. code:: bash + + wget http://ftp.fr.debian.org/debian/pool/main/f/fonts-noto-color-emoji/fonts-noto-color-emoji_0~20200916-1_all.deb + dpkg -i fonts-noto-color-emoji_0~20200916-1_all.deb + rm fonts-noto-color-emoji_0~20200916-1_all.deb + +Pour installer ce paquet, il suffit de le télécharger et d'appeler ``dpkg`` : + +.. code:: bash + + dpkg -i python3-squirrelbattle_3.14_all.deb + +Ce paquet inclut un patch pour afficher les émojis écureuil correctement. + +Après cela, le jeu peut être lancé grâce à la commande ``squirrel-battle``. diff --git a/docs/troubleshooting.rst b/docs/troubleshooting.rst index 3f401f8..8a26c19 100644 --- a/docs/troubleshooting.rst +++ b/docs/troubleshooting.rst @@ -29,7 +29,6 @@ lent, le paquet le plus récent ne contient pas tous les émojis. Sur Debian, il faudra donc installer le paquet le plus récent, ce qui fonctionne sans dépendance supplémentaire : - .. code:: bash wget http://ftp.fr.debian.org/debian/pool/main/f/fonts-noto-color-emoji/fonts-noto-color-emoji_0~20200916-1_all.deb @@ -43,7 +42,7 @@ suffit de faire : .. code:: bash - ln -s $PWD/fix-squirrel-emojis.conf /etc/fonts/conf.avail/75-fix-squirrel-emojis.conf + ln -s $PWD/debian/75-fix-squirrel-emojis.conf /etc/fonts/conf.avail/75-fix-squirrel-emojis.conf ln -s /etc/fonts/conf.avail/75-fix-squirrel-emojis.conf /etc/fonts/conf.d/75-fix-squirrel-emojis.conf Après redémarrage du terminal, l'écureuil devrait s'afficher correctement. @@ -53,3 +52,5 @@ Pour supprimer le patch : .. code:: bash rm /etc/fonts/conf.d/75-fix-squirrel-emojis.conf + +À noter que ce patch est inclus dans le paquet Debian.