benevalibre/README.fr.md

4.7 KiB

Bénévalibre

Bénévalibre est un logiciel libre qui facilite la gestion et la valorisation du bénévolat dans les associations.

Table des matières

Essayer rapidement

Sur une machine Debian, version Buster ou ultérieure :

$ sudo apt install python3 virtualenv git make
$ git clone https://forge.cliss21.org/cliss21/benevalibre
$ cd benevalibre/
$ make init
# Une configuration va être éditée intéractivement. Décommentez
#  ENV=development

# $ make test # optionnel
$ make serve

Visitez ensuite http://127.0.0.1:8000/ dans votre navigateur web.

Installation

Pré-requis

Sur une machine Debian, version Buster ou ultérieure, vous aurez besoin de :

  • python3
  • virtualenv
  • make
  • git (recommandée pour récupérer le source)
  • python3-mysqldb (optionnel, pour une base de données MySQL / MariaDB)
  • python3-psycopg2 (optionnel, pour une base de données PostgreSQL)

Démarrage rapide

On suppose que vous avez déjà téléchargé le code de l'application (la façon la plus simple pour cela est de cloner le dépôt) et que vous êtes dans le dossier.

  1. Définissez votre configuration locale dans le fichier config.env, qui peut être copié depuis config.env.example et édité selon vos besoins.

    En fonction de vos choix d'environnement, vous devrez créer la base de données associée son utilisateur.

  2. Exécutez make init.

    Notez que si il n'y a pas de fichier config.env, il sera créé interactivement.

C'est tout ! Votre environnement est désormais initialisé et l'application installée. Pour la mettre à jour, une fois le code récupéré, lancez simplement make update.

Vous pouvez aussi vérifier que l'application est bien configurée, en exécutant make check.

Déploiement

Avec NginX et uWSGI

Voici un exemple de configuration de déploiement pour NGINX en tant que serveur Web avec uWSGI en serveur d'application.

uWSGI

Le serveur uWSGI ne requiert aucune configuration spéciale, excepté qu'on utilise python3 et un virtualenv. Notez que si vous servez l'application dans un chemin sous la racine, vous aurez à ajouter route-run = fixpathinfo: à la configuration uWSGI (depuis v2.0.11).

NGINX

Dans le bloc server de la configuration NGINX, ajoutez le bloc suivant et définissez les chemins de l'installation et du socket uWGSI :

location / {
    include uwsgi_params;
    uwsgi_pass unix:<uwsgi_socket_path>;
}
location /media {
    alias <app_instance_path>/var/media;
}
location /static {
    alias <app_instance_path>/var/static;
    # Optionnel : ne pas journaliser l'accès aux assets
    access_log off;
}
location = /favicon.ico {
    alias <app_instance_path>/var/static/favicon/favicon.ico;
    # Optionnel : ne pas journaliser l'accès au favicon
    access_log off;
}

Avec Apache et mod_wsgi

Voici un exemple de configuration de déploiement pour Apache en tant que serveur Web.

Le serveur uWSGI ne requiert aucune configuration spéciale, excepté qu'on utilise python3 et un virtualenv. Voyez par exemple la documentation Django pour approfondir.

    WSGIProcessGroup benevalibre
    WSGIDaemonProcess benevalibre python-home=<app_instance_path>/venv/ python-path=<app_instance_path>/

    WSGIScriptAlias / <app_instance_path>/benevalibre/wsgi.py process-group=benevalibre

    <Directory <app_instance_path>/benevalibre/>
        <Files wsgi.py>
            Require all granted
        </Files>
    </Directory>

    Alias /static/ <app_instance_path>/var/static/

    <Directory <app_instance_path>/var/static/>
        Require all granted
    </Directory>

    Alias /media/ <app_instance_path>/var/media/

    <Directory <app_instance_path>/var/media/>
        Require all granted
    </Directory>

    Alias /favicon.ico <app_instance_path>/var/static/favicon/favicon.ico

Vérifier de nouvelles versions

Une fois Bénévalibre déployé, vous pouvez vérifier la disponibilité de nouvelles version en utilisant :

$ ./manage.py check_update

L'option --warn fera que le code de retour est différent de 0 si une version est disponible.

Pour aller plus loin

Consultez la version anglaise de cette aide pour plus de détails techniques.

Licence

Bénévalibre est développé par Cliss XXI et distribué sous licence AGPLv3+.