mirror of
				https://github.com/ae-utbm/sith.git
				synced 2025-11-04 11:03:04 +00:00 
			
		
		
		
	Adapted WSL doc to follow recommendation :)
This commit is contained in:
		@@ -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
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user