diff --git a/README.md b/README.md index 15e7ae1..4a2e132 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,88 @@ -# Serveur de l'application de l'Amicale +# Serveur pour l'application de l'Amicale (Campus) -Partie serveur de l'application pour l'amicale, publiée sous licence GPLv3. \ No newline at end of file +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 +cd v +``` +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. \ No newline at end of file