Skip to content

Commit

Permalink
Merge pull request #391 from PnX-SI/dev
Browse files Browse the repository at this point in the history
Dev
  • Loading branch information
lpofredc authored Mar 18, 2024
2 parents 951b2f2 + e42b63e commit e78fcb6
Show file tree
Hide file tree
Showing 5 changed files with 78 additions and 75 deletions.
7 changes: 4 additions & 3 deletions .github/workflows/test_install.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
greet:
strategy:
matrix:
os: ["ubuntu-22.04", "ubuntu-latest", "debian-11", "debian-12"]
os: ["ubuntu-latest"]
node-version: ["14.21.3"]
python-version: ["3.8", "3.9", "3.10", "3.11"]
# The type of runner that the job will run on
Expand All @@ -35,11 +35,12 @@ jobs:
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
- name: Init NodeJS ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- uses: actions/setup-python@v5
- name: Init python ${{ matrix.node-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: enable postgresql
Expand Down
27 changes: 22 additions & 5 deletions docs/devs/contribute.rst
Original file line number Diff line number Diff line change
@@ -1,19 +1,29 @@
**********************
Contribuer avec GitHub
**********************

.. warning::

Aucun commit n'est réalisé directement sur le dépot principal du projet (https://github.com/PnX-SI/GeoNature-citizen).
Pour contribuer, il est nécessaire de faire un *fork* du projet, de travailler sur ce fork et de proposer des mises à jour du dépot principal par *pull request*.
Aucun commit n'est réalisé directement sur le dépot principal du projet
(https://github.com/PnX-SI/GeoNature-citizen). Pour contribuer, il est
nécessaire de faire un *fork* du projet, de travailler sur un fork et
sur une nouvelle branche basée sur la branche ``dev`` du dépot principal.

Faire un ticket pour discuter de votre projet de modification
#############################################################

Il est fortement recommandé de réaliser préalablement un ticket pour discuter
avec la communauté des développeurs et utilisateurs de votre projet.


Faire un fork du projet
#######################

`Tout est ici <https://help.github.com/articles/fork-a-repo/>`_


Cloner le projet
################
Cloner localement le projet
###########################

Dans un terminal:

Expand Down Expand Up @@ -55,4 +65,11 @@ Pour créer votre branche de développement, dans un terminal:

.. code-block:: bash
$ git checkout -b dev_mabranche
$ git checkout -b dev_mabranche
Créer une pull-request de vos modifications
*******************************************

Une fois vos modifications apportées, réalisez une pull-request
sur la branche ``dev`` du dépot principal en y mentionnant le ticket concerné.
34 changes: 10 additions & 24 deletions docs/devs/init_launch_backend.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,29 +6,17 @@ Configurer et lancer le backend
Installer l'environnement virtuel python
########################################

La création de l'environnement virtuel python3 nécessite ``virtualenv``
ou ``pyenv`` ou tout autre outil équivalent (ex: pyenv):
La gestion des dépendances du backend est assurée par
`python-poetry <https://python-poetry.org/docs/#installation>`.

.. code-block:: bash
cd backend
sudo apt install python3-pip
python3 -m pip install --upgrade --user virtualenv
export PATH=/home/geonatadmin/.local/bin:$PATH
virtualenv -p /usr/bin/python3 venv
L'activation de cet environnement se fait avec la commande suivante:
Une fois ``poetry-python`` installé, rendez-vous lancez les commandes suivantes
pour créer l'environnement virtuel et installer les dépendances.

.. code-block:: bash
source venv/bin/activate
Et l'installation des librairies nécessaires à GeoNature-citizen avec la commande suivante:

.. code-block:: bash
python3 -m pip install -r requirements.txt
cd backend
poetry install
Lancer le backend
#################
Expand All @@ -39,13 +27,11 @@ depuis l'environnement virtuel python:
.. code-block:: bash
cd backend
source venv/bin/activate
cd ../config
cp config.toml.example config.toml
cp ../config/config.toml.example ../config/config.toml
python -m wsgi.py
poetry run python -m wsgi.py
# debug mode
# export FLASK_ENV=development; export FLASK_DEBUG=1; export FLASK_RUN_PORT=5002; export FLASK_APP=wsgi; python -m flask run --host=0.0.0.0
Vous pouvez alors aller sur la page de documentation de l'API à l'adresse suivant ``http://VOTRE_HOTE:5002/apidocs``, en local, ce sera `http://localhost:5002/apidocs <http://localhost:5002/apidocs>`_.
Vous pouvez alors aller sur la page de documentation de l'API à l'adresse suivant ``http://VOTRE_HOTE:5002/api/docs``, en local, ce sera `http://localhost:5002/api/docs <http://localhost:5002/api/docs>`_.
6 changes: 2 additions & 4 deletions docs/devs/init_launch_db.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,12 @@ Pour installer le serveur de base de données, suiviz les \
instructions du site officiel \
`PostgreSQL Downloads <https://www.postgresql.org/download/>`_:

Concrètement, sur Debian stretch:
Concrètement, sur Debian et ubuntu:

.. code:: sh
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" >> /etc/apt/sources.list.d/postgresql.list'
sudo wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update
sudo apt install postgresql-10 postgresql-10-postgis-2.5 postgresql-10-postgis-2.5-scripts git
sudo apt install postgis
Configurer la base de données
#############################
Expand Down
79 changes: 40 additions & 39 deletions docs/devs/init_launch_frontend.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,21 @@ Installer l'environnement virtuel NodeJS avec nvm

L'installation de ``nvm`` se fait en suivant les instructions du dépot principal de l'outil nvm par creationix `creationix/nvm <https://github.com/creationix/nvm#installation-and-update>`_.

Une fois l'environnement installé, installer la dernière version stable de ``nodejs``:
Une fois l'environnement installé, installer la dernière version stable de ``nodejs`` compatible:

.. code:: sh
nvm install v10.16
cd frontend
nvm install
Pour utiliser cette version:

.. code:: sh
nvm use v10.16
cd frontend
nvm use
Installer angular CLI (version LTS 6) et les dépendances requises:
Installer angular CLI (version LTS 8) et les dépendances requises:

.. code:: sh
Expand All @@ -37,14 +39,14 @@ En mode développement et client-side rendering:

.. code:: sh
ng serve
nvm exec npm run start
En mode Server Side Rendering, optimisé pour le SEO et réservé aux robots d'indexation:
***************************************************************************************

.. code:: sh
npm run build:ssr && npm run serve:ssr
nvm exec npm run build:ssr && nvm exec npm run serve:ssr
Gestion du Server Side Rendering
################################
Expand Down Expand Up @@ -102,7 +104,7 @@ La commande suivante met à jour les fichiers de traduction (ajout/suppression d

.. code-block:: sh
npm run extract-i18n
nvm exec npm run extract-i18n
Les fichiers de traduction sont dans le répertoire ``frontend/src/i18n``.

Expand All @@ -116,18 +118,7 @@ Préparer la distribution avec:

.. code-block:: sh
npm run ng build -- --prod
ou:

.. code-block:: sh
npm run ng build -- --configuration=en --prod
pour une version en langue anglaise.

Tout est contenu dans le répertoire ``frontend/dist``, qu'il faut copier sur la plateforme acceuillant le service.

nvm exec npm run build:i18n-ssr
Annexe:
Expand All @@ -139,27 +130,37 @@ Exemple de fichier de configuration serveur Apache2:

.. code-block:: apacheconf
# Configuration GeoNature-citizen
Alias /citizen /home/utilisateur/citizen/frontend/dist/browser
<Directory /home/utilisateur/citizen/frontend/dist/browser>
Require all granted
AllowOverride All
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ".*" "index.html" [QSA,L]
</IfModule>
<VirtualHost *:80>
# Host
ServerName mydomain.net
# Root url (for frontend)
<Location />
ProxyPass http://localhost:4000/ retry=0
ProxyPassReverse http://localhost:4000/
</Location>
# API Url
<Location /api>
ProxyPass http://localhost:5002/api retry=0
ProxyPassReverse http://localhost:5002/api
</Location>
# Secured backoffice
<Location /api/admin/>
AuthType Basic
AuthName "Restricted Area"
AuthBasicProvider file
AuthUserFile "APP_PATH/config/backoffice_htpasswd"
Require user backoffice_username
</Location>
# Error logs
ErrorLog APP_PATH/var/log/apache2-citizen.log
CustomLog APP_PATH/var/log/apache2-citizen.log combined
</VirtualHost>
</Directory>
<Location /citizen/api>
ProxyPass http://127.0.0.1:5002/api
ProxyPassReverse http://127.0.0.1:5002/api
</Location>
Suivi des journaux d'évenements et d'erreurs:
*********************************************
Expand Down

0 comments on commit e78fcb6

Please sign in to comment.