# Copyright (c) 2019-2021 Ivan LUCAS. # Noethysweb, application de gestion multi-activités. # Distribué sous licence GNU GPL. ######################################################################################### # FICHIER DE CONFIGURATION A MODIFIER SELON LES BESOINS # # Valeurs à personnaliser impérativement avant une mise en ligne : # SECRET_KEY, ALLOWED_HOSTS, URL_GESTION, DATABASES # ######################################################################################### import os BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) ######################################################################################### # CLE SECRETE : Saisissez une clé aléatoire complexe de votre choix (50 caract. minimum) ######################################################################################### SECRET_KEY = 'ceciestlaclédesécuritéutiliséepourmonsitenoethysweb!' ######################################################################################### # MODE DEMO : Pour désactiver des fonctionnalités ######################################################################################### MODE_DEMO = False ######################################################################################### # MODE DEBUG : Conserver False en production impérativement ######################################################################################### DEBUG = False ######################################################################################### # 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 : Saisissez les hosts autorisés (IP ou urls du serveur). # Obligatoire pour fonctionner sur un serveur. # Exemple : ALLOWED_HOSTS = ["127.0.0.1", "www.monsite.com"] ######################################################################################### ALLOWED_HOSTS = ["www.monsite.fr","localhost","127.0.0.1"] ######################################################################################### # BASE DE DONNEES : Modifier si besoin (en cas d'utilisation de MySQL par exemple) # Le moteur ici est MySql. # Exemple : https://docs.djangoproject.com/fr/4.0/ref/databases/#connection-management ######################################################################################### DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'bdd', 'USER': 'user', 'PASSWORD': 'pass', '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/ ######################################################################################### PLUGINS = ["monpluginperso"] # ID de la clé GPG pour le chiffrement de la sauvegarde DBBACKUP_GPG_RECIPIENT = "TESTESTESTESTESTESTESTESTEST" # 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" ######################################################################################### # 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')