Adapted WSL doc to follow recommendation :)

This commit is contained in:
Julien Constant 2021-11-23 19:19:24 +01:00
parent 7d797009bb
commit 05b0a0ab2f

View File

@ -22,11 +22,11 @@ Sur Ubuntu
.. sourcecode:: bash
$ sudo apt install libssl-dev libjpeg-dev zlib1g-dev python3-dev libffi-dev python3-dev libgraphviz-dev pkg-config libxapian-dev gettext git
$ curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python3 -
sudo apt install libssl-dev libjpeg-dev zlib1g-dev python3-dev libffi-dev python3-dev libgraphviz-dev pkg-config libxapian-dev gettext git
curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python3 -
# To include mysql for importing old bdd
$ sudo apt install libmysqlclient-dev
sudo apt install libmysqlclient-dev
Sur MacOS
~~~~~~~~~
@ -35,83 +35,89 @@ Pour installer les dépendances, il est fortement recommandé d'installer le ges
.. sourcecode:: bash
$ brew install git python xapian graphviz poetry
brew install git python xapian graphviz poetry
# Si vous aviez une version de python ne venant pas de homebrew
$ brew link --overwrite python
brew link --overwrite python
# Pour bien configurer gettext
$ brew link gettext # (suivez bien les instructions supplémentaires affichées)
brew link gettext # (suivez bien les instructions supplémentaires affichées)
# Pour installer poetry
$ pip3 install poetry
pip3 install poetry
.. note::
Si vous rencontrez des erreurs lors de votre configuration, n'hésitez pas à vérifier l'état de votre installation homebrew avec :code:`brew doctor`
Sur Windows avec WSL
~~~~~~~~~~~~~~~~~~~~
Sur Windows avec :code:`WSL`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. note::
Comme certaines dépendances sont uniquement disponible dans un environnement Unix, il est obligatoire de passer par WSL pour installer le projet.
Comme certaines dépendances sont uniquement disponible dans un environnement Unix, il est obligatoire de passer par :code:`WSL` pour installer le projet.
- **Prérequis:** vous devez exécuter Windows 10 versions 2004 et ultérieures (build 19041 & versions ultérieures) ou Windows 11.
- **Plus d'info:** `docs.microsoft.com <https://docs.microsoft.com/fr-fr/windows/wsl/install>`_
.. sourcecode:: bash
# dans un shell Windows
> wsl --install
wsl --install
# afficher la liste des distribution disponible avec WSL
> wsl -l -o
wsl -l -o
# installer WSL avec une distro choisie
> wsl --install -d <nom_distro>
# installer WSL avec une distro
wsl --install -d <nom_distro>
.. note::
Si vous rencontrez le code d'erreur ``0x80370102``, regardez les réponses de ce post https://askubuntu.com/questions/1264102/wsl-2-wont-run-ubuntu-error-0x80370102
Si vous rencontrez le code d'erreur ``0x80370102``, regardez les réponses de ce `post <https://askubuntu.com/questions/1264102/wsl-2-wont-run-ubuntu-error-0x80370102>`_.
Une fois WSL installé, mettez à jour votre distro & installez les dépendances:
Une fois :code:`WSL` installé, mettez à jour votre distro & installez les dépendances **(voir la partie installation sous Ubuntu)**.
.. sourcecode:: bash
.. note::
# dans un shell Unix
$ sudo apt update
# libs
$ sudo apt install libssl-dev libjpeg-dev zlib1g-dev python3-dev libffi-dev python3-dev libgraphviz-dev pkg-config libxapian-dev gettext
$ curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python3 -
Comme `git` ne fonctionne pas de la même manière entre Windows & Unix, il est nécessaire de cloner le repository depuis Windows.
(cf: `stackoverflow.com <https://stackoverflow.com/questions/62245016/how-to-git-clone-in-wsl>`_)
Vous devez **impérativement cloner le repo depuis Windows** car git ne fonctionne pas exactement de la même manière sous Unix (cf ce lien: https://stackoverflow.com/questions/62245016/how-to-git-clone-in-wsl).
Pour accéder à un disque externe à WSL, il suffit simplement d'utiliser la commande suivante:
Pour accéder au contenu d'un répertoire externe à :code:`WSL`, il suffit simplement d'utiliser la commande suivante:
.. sourcecode:: bash
# oui c'est beau, simple et efficace
$ cd /mnt/<lettre_disque>
cd /mnt/<la_lettre_du_disque>/vos/fichiers/comme/dhab
.. note::
Une fois l'installation des dépendances terminée (juste en dessous), il vous suffira, pour commencer à dev, d'ouvrir votre plus bel IDE et d'avoir 2 consoles:
1 console :code:`WSL` pour lancer le projet & 1 console pour utiliser :code:`git`
Installer le projet
-----------------------------------
.. sourcecode:: bash
# ! A faire sous Windows pour ceux utilisant WSL
$ git clone https://ae-dev.utbm.fr/ae/Sith.git
$ cd Sith
# Sait-on jamais
sudo apt update
# Les commandes git doivent se faire depuis le terminal de Windows si on utilise WSL !
git clone https://ae-dev.utbm.fr/ae/Sith.git
cd Sith
# Création de l'environnement et installation des dépendances
$ poetry install
poetry install
# Activation de l'environnement virtuel
$ poetry shell
poetry shell
# Prépare la base de donnée
$ python3 manage.py setup
python3 manage.py setup
# Installe les traductions
$ python3 manage.py compilemessages
python3 manage.py compilemessages
.. note::
@ -124,8 +130,8 @@ Lorsqu'on souhaite développer pour le site, il est nécessaire de passer le log
.. sourcecode:: bash
$ echo "DEBUG=True" > sith/settings_custom.py
$ echo 'SITH_URL = "localhost:8000"' >> sith/settings_custom.py
echo "DEBUG=True" > sith/settings_custom.py
echo 'SITH_URL = "localhost:8000"' >> sith/settings_custom.py
Démarrer le serveur de développement
------------------------------------
@ -134,7 +140,7 @@ Il faut toujours avoir préalablement activé l'environnement virtuel comme fait
.. sourcecode:: bash
$ python3 manage.py runserver
python3 manage.py runserver
.. note::
@ -149,10 +155,10 @@ Cette commande génère la documentation à chacune de ses modifications, inutil
.. sourcecode:: bash
$ python3 manage.py documentation
python3 manage.py documentation
# Il est possible de spécifier un port et une adresse d'écoute différente
$ python3 manage.py documentation adresse:port
python3 manage.py documentation adresse:port
Lancer les tests
----------------
@ -162,16 +168,16 @@ Pour lancer les tests il suffit d'utiliser la commande intégrée à django.
.. code-block:: bash
# Lancer tous les tests
$ python3 manage.py test
python3 manage.py test
# Lancer les tests de l'application core
$ python3 manage.py test core
python3 manage.py test core
# Lancer les tests de la classe UserRegistrationTest de core
$ python3 manage.py test core.tests.UserRegistrationTest
python3 manage.py test core.tests.UserRegistrationTest
# Lancer une méthode en particulier de cette même classe
$ python3 manage.py test core.tests.UserRegistrationTest.test_register_user_form_ok
python3 manage.py test core.tests.UserRegistrationTest.test_register_user_form_ok
Vérifier les dépendances Javascript
-----------------------------------
@ -182,4 +188,4 @@ N'oubliez pas de mettre à jour à la fois le fichier de la librairie, mais éga
.. code-block:: bash
# Vérifier les mises à jour
$ python3 manage.py check_front
python3 manage.py check_front