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
1 changed files with 49 additions and 43 deletions

View File

@ -22,11 +22,11 @@ Sur Ubuntu
.. sourcecode:: bash .. 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 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 - curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python3 -
# To include mysql for importing old bdd # To include mysql for importing old bdd
$ sudo apt install libmysqlclient-dev sudo apt install libmysqlclient-dev
Sur MacOS Sur MacOS
~~~~~~~~~ ~~~~~~~~~
@ -35,83 +35,89 @@ Pour installer les dépendances, il est fortement recommandé d'installer le ges
.. sourcecode:: bash .. 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 # Si vous aviez une version de python ne venant pas de homebrew
$ brew link --overwrite python brew link --overwrite python
# Pour bien configurer gettext # 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 # Pour installer poetry
$ pip3 install poetry pip3 install poetry
.. note:: .. 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` 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:: .. 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 .. sourcecode:: bash
# dans un shell Windows # dans un shell Windows
> wsl --install wsl --install
# afficher la liste des distribution disponible avec WSL # afficher la liste des distribution disponible avec WSL
> wsl -l -o wsl -l -o
# installer WSL avec une distro choisie # installer WSL avec une distro
> wsl --install -d <nom_distro> wsl --install -d <nom_distro>
.. note:: .. 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 Comme `git` ne fonctionne pas de la même manière entre Windows & Unix, il est nécessaire de cloner le repository depuis Windows.
$ sudo apt update (cf: `stackoverflow.com <https://stackoverflow.com/questions/62245016/how-to-git-clone-in-wsl>`_)
# 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 -
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 au contenu d'un répertoire externe à :code:`WSL`, il suffit simplement d'utiliser la commande suivante:
Pour accéder à un disque externe à WSL, il suffit simplement d'utiliser la commande suivante:
.. sourcecode:: bash .. sourcecode:: bash
# oui c'est beau, simple et efficace # 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 Installer le projet
----------------------------------- -----------------------------------
.. sourcecode:: bash .. sourcecode:: bash
# ! A faire sous Windows pour ceux utilisant WSL # Sait-on jamais
$ git clone https://ae-dev.utbm.fr/ae/Sith.git sudo apt update
$ cd Sith
# 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 # Création de l'environnement et installation des dépendances
$ poetry install poetry install
# Activation de l'environnement virtuel # Activation de l'environnement virtuel
$ poetry shell poetry shell
# Prépare la base de donnée # Prépare la base de donnée
$ python3 manage.py setup python3 manage.py setup
# Installe les traductions # Installe les traductions
$ python3 manage.py compilemessages python3 manage.py compilemessages
.. note:: .. note::
@ -124,8 +130,8 @@ Lorsqu'on souhaite développer pour le site, il est nécessaire de passer le log
.. sourcecode:: bash .. sourcecode:: bash
$ echo "DEBUG=True" > sith/settings_custom.py echo "DEBUG=True" > sith/settings_custom.py
$ echo 'SITH_URL = "localhost:8000"' >> sith/settings_custom.py echo 'SITH_URL = "localhost:8000"' >> sith/settings_custom.py
Démarrer le serveur de développement 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 .. sourcecode:: bash
$ python3 manage.py runserver python3 manage.py runserver
.. note:: .. note::
@ -149,10 +155,10 @@ Cette commande génère la documentation à chacune de ses modifications, inutil
.. sourcecode:: bash .. 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 # 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 Lancer les tests
---------------- ----------------
@ -162,16 +168,16 @@ Pour lancer les tests il suffit d'utiliser la commande intégrée à django.
.. code-block:: bash .. code-block:: bash
# Lancer tous les tests # Lancer tous les tests
$ python3 manage.py test python3 manage.py test
# Lancer les tests de l'application core # 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 # 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 # 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 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 .. code-block:: bash
# Vérifier les mises à jour # Vérifier les mises à jour
$ python3 manage.py check_front python3 manage.py check_front