From 05b0a0ab2f78cf359e510e9d49567cdc3d988c8b Mon Sep 17 00:00:00 2001 From: Julien Constant <49886317+Juknum@users.noreply.github.com> Date: Tue, 23 Nov 2021 19:19:24 +0100 Subject: [PATCH] Adapted WSL doc to follow recommendation :) --- doc/start/install.rst | 92 +++++++++++++++++++++++-------------------- 1 file changed, 49 insertions(+), 43 deletions(-) diff --git a/doc/start/install.rst b/doc/start/install.rst index 261fe372..9acca6c7 100644 --- a/doc/start/install.rst +++ b/doc/start/install.rst @@ -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 `_ + .. 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 + # installer WSL avec une distro + wsl --install -d .. 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 `_. -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 `_) -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/ + cd /mnt//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