Noethysweb

Application de gestion multi-activités

Outils pour utilisateurs

Outils du site


settings_production_detail

Ceci est une ancienne révision du document !


Détails du fichier settings_production.py

Valeurs à personnaliser impérativement avant une mise en ligne

SECRET_KEY : # Saisissez une clé aléatoire complexe de votre choix 50 caractères minimum, vous pouvez utiliser un générateur, tels que KeePass ou encore BitWarden.
ALLOWED_HOSTS : # Ce sont les hôtes pouvant accéder à Django
URL_GESTION : # Il s'agit de l'URL d'administration du site, permettant la gestion des utilisateurs, des groupes et des comptes bloqués. 
DATABASES : # C'est la configuration de l'accès à la base de donnée utilisée par noethysweb.

Aucun besoin de modifier ces sections

import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

Ces deux valeurs sont à conserver à False en production. Nota: il est possible d'utiliser le mode DEBUG en cas de dysfocntionnement uniquement.

MODE_DEMO = False
DEBUG = False

URLS

URLS : à personnaliser selon les souhaits Il est fortement conseillé de définir une URL aléatoire pour le URL_GESTION Et de définir une URL un peu plus complexe pour le URL_BUREAU

URL_GESTION = "administrateur/"
URL_BUREAU = "utilisateur/"
URL_PORTAIL = "portail/"
PORTAIL_ACTIF = True

HOSTS

Cette variable ALLOWED_HOSTS défini les hôtes autorisés à accéder a Django, soit le localhost, mais aussi le nom de domaine du site de la structure.

On note que trois hôtes sont définis mon-association.org est le nom de domaine de l'association, qui peut dont accéder a à Django localhost et 127.0.0.1 représentent la même entité, à savoir l'hôte du serveur.

ALLOWED_HOSTS = ["mon-association.org","localhost","127.0.0.1"]

BASE DE DONNEES

Modifier si besoin (en cas d'utilisation de MySQL par exemple) Le moteur par défaut SQLITE est à utiliser uniquement pour des tests en local. Exemple : https://docs.djangoproject.com/fr/4.0/ref/databases/#connection-management

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'poly',
        'USER': 'myuser',
        'PASSWORD': 'mypass', 
        'HOST': 'localhost',
        'PORT': 3306,
    }
}

SAUVEGARDES

Permet de générer et envoyer des sauvegardes chiffrées des données vers un répertoire du serveur ou vers Dropbox. Pour plus d'infos, consulter https://django-dbbackup.readthedocs.io/en/master/

# ID de la clé GPG pour le chiffrement de la sauvegarde nécessaire pour effectuer la sauvegarde.
 
DBBACKUP_GPG_RECIPIENT = ""
 
# Pour un stockage de la sauvegarde sur le disque dur (Renseigner ci-dessous un répertoire existant)
# DBBACKUP_STORAGE = "django.core.files.storage.FileSystemStorage"
# DBBACKUP_STORAGE_OPTIONS = {"location": "C:/Users/XXXXXX/Desktop/sauvegardes/"}
# DBBACKUP_CONNECTORS = {"default": {"dump_suffix": "--hex-blob"}}
 
# Pour un stockage de la sauvegarde sur Dropbox (Renseigner ci-dessous le token de Dropbox)
# 1. Connectez-vous à Dropbox et accédez à Developper Apps : https://www.dropbox.com/developers/apps
# 2. Cliquez sur le bouton 'Create app' et saisissez un nom de votre choix. Ex : "Mes sauvegardes".
# 3. Une fois l'appli créée, cochez les permissions files.metadata et files.content.
# 4. Générez le token et copiez-le ci-dessous.
# DBBACKUP_STORAGE = "storages.backends.dropbox.DropBoxStorage"
# DBBACKUP_STORAGE_OPTIONS = {"oauth2_access_token": "Token Dropbox à coller ici"}
 
#########################################################################################
# STOCKAGE DE DOCUMENTS
# Indiquer le type de stockage souhaité pour chaque information :
# Pour un stockage sur le disque dur (par défaut) : django.core.files.storage.FileSystemStorage
# Pour un stockage sur Dropbox : storages.backends.dropbox.DropBoxStorage
#########################################################################################
 
# STORAGE_PROBLEME = "django.core.files.storage.FileSystemStorage"
# STORAGE_PIECE = "django.core.files.storage.FileSystemStorage"
# STORAGE_QUOTIENT = "django.core.files.storage.FileSystemStorage"
# STORAGE_ASSURANCE = "django.core.files.storage.FileSystemStorage"
# STORAGE_PHOTO = "django.core.files.storage.FileSystemStorage"
 
# Si l'un des champs ci-dessus utilise Dropbox, renseignez le token Dropbox ci-dessous :
# DROPBOX_OAUTH2_TOKEN = "XXXXXXXXXXXXXXX"

PLUGINS

PLUGINS = [“monpluginperso”]

CRONTAB (tâches planifiées)

Décommentez les lignes ci-dessous pour activer les tâches automatisées et modifiez si besoin les horaires de déclenchement et le path python :

CRONTAB_PYTHON_EXECUTABLE = "/usr/bin/python3.9"
CRONTAB_COMMAND_SUFFIX = '2>&1'
CRONJOBS = [
("* * * * *", "noethysweb.cron.Test_cron", ">> " + os.path.join(BASE_DIR, "debug_cron.log")) # Pour des tests
("00 23 * * *", "noethysweb.cron.Sauvegarder_db", ">> " + os.path.join(BASE_DIR, "debug_cron.log")), # Pour sauvegarder la base de données
("25 23 * * *", "noethysweb.cron.Vider_rep_temp", ">> " + os.path.join(BASE_DIR, "debug_cron.log")), # Pour purger le répertoire temp
("30 23 * * *", "noethysweb.cron.Sauvegarder_media", ">> " + os.path.join(BASE_DIR, "debug_cron.log")), # Pour sauvegarde le répertoire media
("45 23 * * *", "noethysweb.cron.Traiter_attentes", ">> " + os.path.join(BASE_DIR, "debug_cron.log")), # Pour traiter les réservations en attente
]

SECURITE

Les paramètres par défaut conviendront généralement.

CSRF_COOKIE_SECURE = False
CSRF_COOKIE_SAMESITE = 'Strict'
SESSION_COOKIE_SECURE = False
SECURE_BROWSER_XSS_FILTER = False
SECURE_CONTENT_TYPE_NOSNIFF = False
SECURE_SSL_REDIRECT = False
X_FRAME_OPTIONS = 'DENY'
SECURE_HSTS_SECONDS = 15768000
SECURE_HSTS_INCLUDE_SUBDOMAINS = False
SECURE_HSTS_PRELOAD = False
SESSION_COOKIE_AGE = 60*60*12 # 12 heures
SESSION_EXPIRE_AT_BROWSER_CLOSE = False
AXES_META_PRECEDENCE_ORDER = ('HTTP_X_FORWARDED_FOR', 'X_FORWARDED_FOR', 'REMOTE_ADDR')
settings_production_detail.1694941812.txt.gz · Dernière modification : 2023/09/17 11:10 de baalth