-
-
Notifications
You must be signed in to change notification settings - Fork 18
Déploiement sur pythonanywhere
Afin de déployer Libreosteo sur pythonanywhere, vous pouvez suivre cette petite procédure.
Commencez par créer un environnement virtuel dans lequel Libreosteo sera exécuté. Pythonanywhere donne de précieux conseils à ce sujet
Ensuite télécharger le zip de la version que vous souhaitez sur le serveur. Vous pouvez utiliser wget
pour ce faire.
wget -c https://github.com/libreosteo/Libreosteo/archive/v0.6.0.tar.gz
Décompresser le tout dans un dossier nommé Libreosteo. A la racine seront placés les éléments d'indexation et la base sqlite3 si vous souhaitez utiliser une base sqlite. Sinon connectez le tout à votre serveur PostgreSQL.
placez vous dans le répertoire Libreosteo et activez l'environnement virtualenvs avec workon
.
Lancez la commande :
pip install -r requirements/requirements.txt
Puis installer les librairies javascript nécessaires :
yarn
Mettre à jour la base de données python manage.py migrate
Il faut à présent configurer le serveur Http afin d'utiliser notre application en connectant le middleware WSGI du serveur hébergé sur pythonanywhere à notre application. Pour cela il faut éditer le WSGI de votre webapp définie dans Pythonanywhere avec :
import os
import sys
path = '/home/myuser/Libreosteo'
if path not in sys.path:
sys.path.append(path)
from Libreosteo.wsgi import application
En utilisant le wsgi fourni, les settings django sont directement configuré pour la version démonstration web en utilisant le fichier Libreosteo/settings/demonstration.py
Ainsi la base sqlite et l'indexation whoosh seront à la racine (dans le répertoire parent de Libreosteo) vous pouvez ainsi mettre à jour la version sans écraser votre base.
python manage.py migrate --settings Libreosteo.settings.demonstration
Pour déployer les ressources statiques sur le serveur, deux opérations sont nécessaires :
-
rassembler toutes les ressources de l'application
-
publier les ressources dans le serveur HTTP comme ressources statiques
python manage.py collectstatic
puis ajouter l'url /static/' en pointant sur le dossier
/home//Libreosteo/static/` dans l'interface d'administration de votre webapp.
Pour l'utilisation avec une base postgresql de Libreosteo, il suffit d'ajouter un fichier nommé local.py
au chemin : Libreosteo/settings/
à côté de base.py
contenant la configuration postgresql correspondante (changer nom de la base, utilisateur, hôte et port):
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'libreosteo-db',
'USER': 'user-db',
'HOST': 'localhost',
'PORT': 5432,
}
}
Ajouter également le package psycopg2
:
pip install psycopg2
et enfin refaire la migration :
python ./manage.py migrate
Vous êtes responsables du traitement de l'information des patients. Si vous hébergez Libreosteo en dehors de votre cabinet (chez un hébergeur tel que pythonanywhere, gandi.net, ovh, etc.), n'oubliez pas de mettre en place un certificat SSL valide afin de chiffrer les communications entre votre navigateur au cabinet et le serveur.
Deplus changez le SECRET_KEY en positionnant dans demonstration.py
ou dans vos settings une passphrase utilisée pour la sécurisation des échanges.
Vous pouvez vous aider de ce gist pour générer une passphrase : https://gist.github.com/mattseymour/9205591