mirror of
https://github.com/ae-utbm/sith.git
synced 2025-02-21 06:57:11 +00:00
simplify .env.example
La plupart des variables du `.env.example` n'ont pas besoin d'être modifiées régulièrement et ont déjà des valeurs par défaut dans le `settings.py` qui sont adaptées à un environnement local. En gardant uniquement les variables qui seront régulièrement modifiées, on rend le fichier plus compréhensible et plus simple à maintenir.
This commit is contained in:
parent
59e90ec754
commit
9945993f0b
81
.env.example
81
.env.example
@ -1,86 +1,11 @@
|
||||
HTTPS=off
|
||||
DEBUG=true
|
||||
SITH_DEBUG=true
|
||||
|
||||
# This is not the real key used in prod
|
||||
SECRET_KEY=(4sjxvhz@m5$0a$j0_pqicnc$s!vbve)z+&++m%g%bjhlz4+g2
|
||||
|
||||
# comma-separated values
|
||||
CSRF_TRUSTED_ORIGINS=
|
||||
|
||||
# comment the sqlite line and uncomment the postgres one to switch the dbms
|
||||
DATABASE_URL=sqlite:///db.sqlite3
|
||||
# uncomment the next line if you want to use a postgres database
|
||||
#DATABASE_URL=postgres://user:password@127.0.0.1:5432/sith
|
||||
|
||||
CACHE_URL=redis://127.0.0.1:6379/0
|
||||
|
||||
MEDIA_ROOT=data
|
||||
STATIC_ROOT=static
|
||||
|
||||
DEFAULT_FROM_EMAIL=bibou@git.an
|
||||
SITH_COM_EMAIL=bibou_com@git.an
|
||||
|
||||
HONEYPOT_VALUE=content
|
||||
HONEYPOT_FIELD_NAME=body2
|
||||
HONEYPOT_FIELD_NAME_FORUM=message2
|
||||
|
||||
EMAIL_BACKEND=django.core.mail.backends.console.EmailBackend
|
||||
EMAIL_HOST=localhost
|
||||
EMAIL_PORT=25
|
||||
|
||||
SITH_URL=127.0.0.1:8000
|
||||
SITH_NAME="AE UTBM"
|
||||
|
||||
SITH_MAIN_CLUB_ID=1
|
||||
|
||||
SITH_GROUP_ROOT_ID=1
|
||||
SITH_GROUP_PUBLIC_ID=2
|
||||
SITH_GROUP_SUBSCRIBERS_ID=3
|
||||
SITH_GROUP_OLD_SUBSCRIBERS_ID=4
|
||||
SITH_GROUP_ACCOUNTING_ADMIN_ID=5
|
||||
SITH_GROUP_COM_ADMIN_ID=6
|
||||
SITH_GROUP_COUNTER_ADMIN_ID=7
|
||||
SITH_GROUP_SAS_ADMIN_ID=8
|
||||
SITH_GROUP_FORUM_ADMIN_ID=9
|
||||
SITH_GROUP_PEDAGOGY_ADMIN_ID=10
|
||||
|
||||
SITH_GROUP_BANNED_ALCOHOL_ID=11
|
||||
SITH_GROUP_BANNED_COUNTER_ID=12
|
||||
SITH_GROUP_BANNED_SUBSCRIPTION_ID=13
|
||||
|
||||
SITH_CLUB_REFOUND_ID=89
|
||||
SITH_COUNTER_REFOUND_ID=38
|
||||
SITH_PRODUCT_REFOUND_ID=5
|
||||
|
||||
# Counter
|
||||
|
||||
SITH_COUNTER_ACCOUNT_DUMP_ID=39
|
||||
|
||||
# Defines which product type is the refilling type, and thus increases the account amount
|
||||
SITH_COUNTER_PRODUCTTYPE_REFILLING=3
|
||||
|
||||
SITH_ECOCUP_CONS=1152
|
||||
SITH_ECOCUP_DECO=1151
|
||||
|
||||
# Defines which product is the one year subscription and which one is the six month subscription
|
||||
SITH_PRODUCT_SUBSCRIPTION_ONE_SEMESTER=1
|
||||
SITH_PRODUCT_SUBSCRIPTION_TWO_SEMESTERS=2
|
||||
SITH_PRODUCTTYPE_SUBSCRIPTION=2
|
||||
|
||||
# Defines which clubs let its members the ability to see users subscription history
|
||||
SITH_CAN_CREATE_SUBSCRIPTION_HISTORY=1
|
||||
SITH_CAN_READ_SUBSCRIPTION_HISTORY=1
|
||||
|
||||
# SAS variables
|
||||
SITH_SAS_ROOT_DIR_ID=4
|
||||
|
||||
# ET variables
|
||||
SITH_EBOUTIC_CB_ENABLED=true
|
||||
SITH_EBOUTIC_ET_URL="https://preprod-tpeweb.e-transactions.fr/cgi/MYchoix_pagepaiement.cgi"
|
||||
SITH_EBOUTIC_PBX_SITE=1999888
|
||||
SITH_EBOUTIC_PBX_RANG=32
|
||||
SITH_EBOUTIC_PBX_IDENTIFIANT=2
|
||||
SITH_EBOUTIC_HMAC_KEY=0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF
|
||||
SITH_EBOUTIC_PUB_KEY_PATH=sith/et_keys/pubkey.pem
|
||||
|
||||
SITH_MAILING_FETCH_KEY=IloveMails
|
||||
SENTRY_DSN=
|
||||
SENTRY_ENV=production
|
@ -8,7 +8,7 @@ Cette variable est composée d'un lien complet vers votre projet sentry.
|
||||
## Récupérer les statiques
|
||||
|
||||
Nous utilisons du SCSS dans le projet.
|
||||
En environnement de développement (`DEBUG=true`),
|
||||
En environnement de développement (`SITH_DEBUG=true`),
|
||||
le SCSS est compilé à chaque fois que le fichier est demandé.
|
||||
Pour la production, le projet considère
|
||||
que chacun des fichiers est déjà compilé.
|
||||
|
@ -212,7 +212,7 @@ Puis lancez ou relancez nginx :
|
||||
sudo systemctl restart nginx
|
||||
```
|
||||
|
||||
Dans votre `.env`, remplacez `DEBUG=true` par `DEBUG=false`.
|
||||
Dans votre `.env`, remplacez `SITH_DEBUG=true` par `SITH_DEBUG=false`.
|
||||
|
||||
Enfin, démarrez le serveur Django :
|
||||
|
||||
@ -224,7 +224,7 @@ uv run ./manage.py runserver 8001
|
||||
Et c'est bon, votre reverse-proxy est prêt à tourner devant votre serveur.
|
||||
Nginx écoutera sur le port 8000.
|
||||
Toutes les requêtes vers des fichiers statiques et les medias publiques
|
||||
seront seront servies directement par nginx.
|
||||
seront servies directement par nginx.
|
||||
Toutes les autres requêtes seront transmises au serveur django.
|
||||
|
||||
|
||||
@ -238,3 +238,64 @@ un cron pour la mettre à jour au moins une fois par jour.
|
||||
```bash
|
||||
python manage.py update_spam_database
|
||||
```
|
||||
|
||||
## Personnaliser l'environnement
|
||||
|
||||
Le site utilise beaucoup de variables configurables via l'environnement.
|
||||
Cependant, pour des raisons de maintenabilité et de simplicité
|
||||
pour les nouveaux développeurs, nous n'avons mis dans le fichier
|
||||
`.env.example` que celles qui peuvent nécessiter d'être fréquemment modifiées
|
||||
(par exemple, l'url de connexion à la db, ou l'activation du mode debug).
|
||||
|
||||
Cependant, il en existe beaucoup d'autres, que vous pouvez trouver
|
||||
dans le `settings.py` en recherchant `env.`
|
||||
(avec `grep` ou avec un ++ctrl+f++ dans votre éditeur).
|
||||
|
||||
Si le besoin de les modifier se présente, c'est chose possible.
|
||||
Il suffit de rajouter la paire clef-valeur correspondante dans le `.env`.
|
||||
|
||||
!!!tip
|
||||
|
||||
Si vous utilisez nushell,
|
||||
vous pouvez automatiser le processus avec
|
||||
avec le script suivant, qui va parser le `settings.py`
|
||||
pour récupérer toutes les variables d'environnement qui ne sont pas
|
||||
définies dans le .env puis va les rajouter :
|
||||
|
||||
```nu
|
||||
# si le fichier .env n'existe pas, on le crée
|
||||
if not (".env" | path exists) {
|
||||
cp .env.example .env
|
||||
}
|
||||
|
||||
# puis on récupère les variables d'environnement déjà existantes
|
||||
let existing = open .env
|
||||
|
||||
# on récupère toutes les variables d'environnement utilisées
|
||||
# dans le settings.py qui ne sont pas encore définies dans le .env,
|
||||
# on les convertit dans un format .env,
|
||||
# puis on les ajoute à la fin du .env
|
||||
let regex = '(env\.)(?<method>\w+)\(\s*"(?<env_name>\w+)"(\s*(, default=)(?<value>.+))?\s*\)';
|
||||
let content = open sith/settings.py;
|
||||
let vars = $content
|
||||
| parse --regex $regex
|
||||
| filter { |i| $i.env_name not-in $existing }
|
||||
| each { |i|
|
||||
let parsed_value = match [$i.method, $i.value] {
|
||||
["str", "None"] => ""
|
||||
["bool", $val] => ($val | str downcase)
|
||||
["list", $val] => ($val | str trim -c '[' | str trim -c ']')
|
||||
["path", $val] => ($val | str replace 'BASE_DIR / "' $'"(pwd)/')
|
||||
[_, $val] => $val
|
||||
}
|
||||
$"($i.env_name)=($parsed_value)"
|
||||
}
|
||||
|
||||
if ($vars | is-not-empty) {
|
||||
# on ajoute les nouvelles valeurs,
|
||||
# en mettant une ligne vide de séparation avec les anciennes
|
||||
["", ...$vars] | save --append .env
|
||||
}
|
||||
|
||||
print $"($vars | length) values added to .env"
|
||||
```
|
@ -157,6 +157,7 @@ markdown_extensions:
|
||||
- md_in_html
|
||||
- pymdownx.details
|
||||
- pymdownx.inlinehilite
|
||||
- pymdownx.keys
|
||||
- pymdownx.superfences:
|
||||
custom_fences:
|
||||
- name: mermaid
|
||||
|
@ -59,7 +59,7 @@ BASE_DIR = Path(__file__).parent.parent.resolve()
|
||||
SECRET_KEY = env.str("SECRET_KEY")
|
||||
|
||||
# SECURITY WARNING: don't run with debug turned on in production!
|
||||
DEBUG = env.bool("DEBUG", default=False)
|
||||
DEBUG = env.bool("SITH_DEBUG", default=False)
|
||||
TESTING = "pytest" in sys.modules
|
||||
INTERNAL_IPS = ["127.0.0.1"]
|
||||
|
||||
@ -711,7 +711,7 @@ SITH_MAILING_FETCH_KEY = env.str("SITH_MAILING_FETCH_KEY", default="ILoveMails")
|
||||
|
||||
SITH_GIFT_LIST = [("AE Tee-shirt", _("AE tee-shirt"))]
|
||||
|
||||
SENTRY_DSN = env.str("SENRY_DSN", default=None)
|
||||
SENTRY_DSN = env.str("SENTRY_DSN", default=None)
|
||||
SENTRY_ENV = env.str("SENTRY_ENV", default="production")
|
||||
|
||||
TOXIC_DOMAINS_PROVIDERS = [
|
||||
|
Loading…
x
Reference in New Issue
Block a user