permettant de signer les sessions et les cookies. Il est important de la garder secrète.
Pour la générer, il est possible d'utiliser la commande
``python3 manage.py generate_secret_key``.
*``DJANGO_DB_TYPE`` : Le type de base de données à utiliser, parmi
``PostgreSQL``, ``MySQL`` et ``SQLite``. ``SQLite`` n'est à utiliser qu'en développement
local.
*``DJANGO_DB_HOST`` : L'hôte de la base de données pour les bases de données
``PostgreSQL`` et ``MySQL``. Pour ``SQLite``, il faut mettre le chemin vers le fichier
de base de données. Dans l'exemple ci-dessus, ``postgres`` est l'hôte Docker.
*``DJANGO_DB_PORT`` : Le port de la base de données. (PostgreSQL ou MySQL uniquement)
Si laissé vide, utilisera le port par défaut du service, ``5432`` pour PostgreSQL et
``3306`` pour MySQL.
*``DJANGO_DB_NAME`` : Le nom de la base de données. (PostgreSQL ou MySQL uniquement)
*``DJANGO_DB_USER`` : Le nom d'utilisateur de la base de données.
(PostgreSQL ou MySQL uniquement)
*``DJANGO_DB_PASSWORD`` : Le mot de passe de la base de données.
(PostgreSQL ou MySQL uniquement)
*``REDIS_SERVER_HOST`` : L'hôte de Redis (en production uniquement). Dans l'exemple
ci-dessus, ``redis`` est l'hôte Docker.
*``REDIS_SERVER_PORT`` : Le port de Redis (en production uniquement). Si laissé vide,
utilisera le port par défaut du service, ``6379``.
*``SMTP_HOST`` : L'hôte du serveur SMTP à utiliser pour envoyer les mails. Utilise par
défaut le serveur d'OVH.
*``SMTP_PORT`` : Le port du serveur SMTP à utiliser pour envoyer les mails.
*``SMTP_HOST_USER`` : Le nom d'utilisateur du serveur SMTP à utiliser pour envoyer les
mails. Correspond à l'identifiant OVH.
*``SMTP_HOST_PASSWORD`` : Le mot de passe du serveur SMTP à utiliser pour envoyer les
mails. Correspond au mot de passe OVH.
*``FROM_EMAIL`` : Le nom lisible à utiliser comme expéditeur des mails
(défaut : Contact TFJM²).
*``SERVER_EMAIL`` : L'adresse mail à utiliser comme expéditeur des mails
(défaut : contact@tfjm.org).
*``HAYSTACK_INDEX_NAME`` : Le nom de l'index ElasticSearch à utiliser pour les recherches
dans ElasticSearch (défaut : inscription-tfjm).
*``SYMPA_HOST`` : Le domaine des listes de diffusion Sympa utilisé.
*``SYMPA_URL`` : L'URL du serveur Sympa à utiliser pour gérer les listes de diffusion.
*``SYMPA_EMAIL`` : L'adresse mail à utiliser pour se connecter à Sympa.
*``SYMPA_PASSWORD`` : Le mot de passe à utiliser pour se connecter à Sympa.
*``HELLOASSO_CLIENT_ID`` : L'identifiant client HelloAsso à utiliser pour gérer les
paiements HelloAsso.
*``HELLOASSO_CLIENT_SECRET`` : Le secret client HelloAsso à utiliser pour gérer les
paiements HelloAsso. Doit être maintenu secret.
Installation de la base de données
""""""""""""""""""""""""""""""""""
Pour gérer la base de données PostgreSQL, on peut utiliser les commandes suivantes :
..code-block:: bash
sudo docker compose up -d postgres
sudo docker compose exec -u postgres postgres createuser -P inscription_tfjm # Création du compte `inscription_tfjm` en demander un mot de passe. À ne faire qu'une seule fois
sudo docker compose exec -u postgres postgres createdb -O inscription_tfjm inscription_tfjm # Création de la base de données `inscription_tfjm` en utilisant le compte `inscription_tfjm`
sudo docker compose exec -u postgres pg_dump inscription_tfjm > inscription_tfjm.sql # Pour sauvegarder la base de données `inscription_tfjm`
sudo docker compose exec -u postgres dropdb inscription_tfjm # Pour supprimer la base de données `inscription_tfjm`
La suppression et la recréation sont utiles en cas de réinitialisation annuelle de la base
de données.
Lancement
"""""""""
Pour lancer la plateforme, il suffit de lancer la commande suivante :
..code-block:: bash
sudo docker compose up -d inscription
Pour arrêter la plateforme, il suffit de lancer la commande suivante :
..code-block:: bash
sudo docker compose stop inscription
En cas de mise à jour de la plateforme, il suffit de lancer la commande suivante :
..code-block:: bash
sudo docker compose up -d --build inscription
Selon le principe de Docker, les données sont conservées dans un volume Docker, ici
dans le dossier ``data/inscription``. Le reste est volatile, puisqu'il peut être recréé
à partir du code source. Attention donc de ne pas coder en production (ce qui est de toute
façon à proscrire !).
Les migrations de base de données sont automatiquement appliquées au lancement de la
plateforme, de même que la collecte de fichiers statiques ou encore la génération de la
documentation. Il n'y a rien à faire de spécial post-lancement, si ce n'est vérifier que
tout fonctionne correctement.
Installation en développement
-----------------------------
L'installation sur une machine locale est plus légère et est utile pour pouvoir tester
rapidement.
Commencez par récupérer le code source de la plateforme :