Ceci est une ancienne révision du document !
Table des matières
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. minimum) ALLOWED_HOSTS URL_GESTION DATABASES
Aucun besoin de modifier cette section
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 : à 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/ #########################################################################################
PLUGINS = [“monpluginperso”]
# ID de la clé GPG pour le chiffrement de la sauvegarde DBBACKUP_GPG_RECIPIENT = “15BDE8F782F78F43BBAEF195A6BCCC77CB247553”
# 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')