Application permettant de recenser les membres d'une organisation en y associant une photo d'identité et diverses informations.
Les membres sont regroupés dans une arborescence de services.
- Cloner le répertoire depuis Github, puis se placer dans le répertoire principal.
git clone https://github.com/rducrot/trombinoscope
cd trombinoscope
- S'assurer que les paquets suivants sont installés :
sudo apt-get update
sudo apt-get install python3 python3-pip python3-venv redis-server
- Installation de l'application via le script
install.sh
.
bash install.sh
Ce script met en place l'environnement virtuel, les dépendances, les variables d'environnement, la base de données et le super utilisateur.
Les informations qui vous sont demandées sont :
- L'adresse IP du serveur (modifiable dans le fichier
trombinoscope/.env
). - Les informations du super utilisateur.
Il est possible d'importer une liste de services et d'utilisateurs à partir de fichiers csv.
- Créer les fichiers
services.csv
etagents.csv
dans le dossierscripts/
. Voir les fichierssample_*.csv
du même dossier pour les entêtes. Voir les fichierscreate_services.py
etcreate_agents.py
pour une documentation détaillée. - Lancer les scripts suivants depuis l'environnement virtuel. A noter : si des services et des agents existent déjà dans la base de données, ceux-ci SERONT SUPPRIMES.
python3 manage.py runscript create_services
python3 manage.py runscript create_agents
Ci-dessous un exemple d'installation sur un serveur web Debian/Ubuntu avec Apache2 et l'application Trombinoscope installée dans /var/www
.
On commence par installer les dépendances :
sudo apt-get update
sudo apt-get install apache2 apache2-dev libapache2-mod-wsgi-py3
On attribue les droits d'accès à l'application à Apache2 :
chown -R www-data:www-data /var/www/trombinoscope
<VirtualHost *:80>
DocumentRoot /var/www/trombinoscope
Alias /static /var/www/trombinoscope/static
<Directory /var/www/trombinoscope/static>
Require all granted
</Directory>
Alias /media /var/www/trombinoscope/media
<Directory /var/www/trombinoscope/media>
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/trombi_error.log
CustomLog ${APACHE_LOG_DIR}/trombi_access.log combined
</VirtalHost>
WSGIScriptAlias / /var/www/trombinoscope/trombinoscope/wsgi.py
WSGIPythonHome /var/www/trombinoscope/venv
WSGIPythonPath /var/www/trombinoscope
<Directory /var/www/trombinoscope/trombinoscope>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
On lance ensuite les commandes suivantes :
a2ensite trombinoscope.conf
a2enmod wsgi.conf
systemctl restart apache2.service
Pour tester l'application en environnement de développement :
-
Affecter
DEBUG=True
dans le fichiertrombinoscope/.env
. -
Activer l'environnement virtuel :
source venv/bin/activate
- Lancer la commande suivante depuis le répertoire de l'application :
python3 manage.py runserver
L'application est disponible par défaut à l'adresse http://127.0.0.1:8000.
Le super utilisateur peut gérer les services et les agents à l'adresse http://127.0.0.1:8000/admin.
Depuis le répertoire de l'application :
git pull
source venv/bin/activate
python3 manage.py migrate
systemctl restart apache2.service