88 lines
No EOL
2.8 KiB
Markdown
88 lines
No EOL
2.8 KiB
Markdown
# Serveur pour l'application de l'Amicale (Campus)
|
|
|
|
Partie serveur pour [l'application de l'amicale](https://git.etud.insa-toulouse.fr/vergnet/application-amicale), publiée sous licence GPLv3.
|
|
|
|
Le serveur est programmé avec python 3.6 en utilisant des [venv](https://docs.python.org/3/tutorial/venv.html).
|
|
|
|
## Structure
|
|
|
|
Pour des raisons de compatibilité, 2 versions sont en ligne sur le serveur: une dans `publich_html` et une autre dans `public_html/v2`. La première version est à ignorer et à supprimer dans le futur. La v2 est celle actuellement utilisée.
|
|
|
|
## Installation
|
|
|
|
Tout d'abord, clonez ce dépot dans le dossier désiré et déplacez vous dedans.
|
|
|
|
```shell
|
|
git clone https://git.etud.insa-toulouse.fr/vergnet/application-amicale-serveur.git
|
|
cd application-amicale-serveur
|
|
```
|
|
|
|
Ensuite, créez le venv:
|
|
```shell
|
|
python3 -m venv tutorial-env
|
|
```
|
|
|
|
Et enfin, installez les dépendances:
|
|
|
|
```shell
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
## Mettre à jour les dépendances
|
|
|
|
Ouvrez le fichier `requirements.txt` et écrivez la nouvelle version de la librairie à utiliser.
|
|
Ensuite, chargez le venv dans votre terminal:
|
|
|
|
```shell
|
|
source .venv/bin/activate
|
|
```
|
|
|
|
Cette commande permet d'utiliser le python installé dans le venv au lieu de celui du système.
|
|
Il ne reste plus qu'à installer les nouvelles versions référencées dans `requirements.txt`:
|
|
|
|
```shell
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
## Envoyer les mises à jour sur le serveur
|
|
|
|
Le serveur est synchronisé avec git, il suffit donc de se connecter sur l'espace web, de se déplacer dans le dossier v2 et de récupérer les derniers changements:
|
|
|
|
```shell
|
|
ssh amicale_app@etud.insa-toulouse.fr
|
|
cd public_html/v2
|
|
git pull
|
|
```
|
|
|
|
Si vous avez modifié les versions des librairies dans `requirements.txt`, pensez à les mettre à jour sur le serveur avec la commande suivante:
|
|
|
|
```shell
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
## Mises à jour 'BREAKING'
|
|
|
|
Si une mise à jour casse la compatibilité avec la version actuelle de l'application, il est nécessaire de garder l'ancienne version du logiciel serveur le temps que tout le monde mette l'application à jour (plusieurs mois).
|
|
|
|
Pour cela, créez un nouveau dossier pour la nouvelle version dans `public_html`. Par exemple, pour passer de la version 2 (installée dans `public_html/v2`), il faut installer la nouvelle version dans le dossier `public_html/v3`.
|
|
|
|
Pour cela, il faut tout réinstaller dans ce dossier comme suit:
|
|
|
|
```shell
|
|
ssh amicale_app@etud.insa-toulouse.fr
|
|
cd public_html
|
|
git clone https://git.etud.insa-toulouse.fr/vergnet/application-amicale-serveur.git v<NUMERO_DE_VERSION>
|
|
cd v<NUMERO_DE_VERSION>
|
|
```
|
|
Ensuite, créez le venv:
|
|
```shell
|
|
python3 -m venv tutorial-env
|
|
```
|
|
|
|
Et enfin, installez les dépendances:
|
|
|
|
```shell
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
Pensez ensuite à rediriger l'application vers cette nouvelle version. |