Noethysweb

Application de gestion multi-activités

Outils pour utilisateurs

Outils du site


settings_production_detail

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
settings_production_detail [2023/09/17 10:34] – Explication du fichier settings production baalthsettings_production_detail [2023/12/08 22:40] (Version actuelle) – voir aussi fred.th
Ligne 1: Ligne 1:
 ====== Détails du fichier settings_production.py ====== ====== Détails du fichier settings_production.py ======
  
-:!: **Valeurs à personnaliser impérativement avant une mise en ligne :**+===== Valeurs à personnaliser ===== 
 +<code python> 
 +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. 
 +</code>
  
-SECRET_KEY : Saisissez une clé aléatoire complexe de votre choix (50 caract. minimum) +===== Sections a ne pas modifier =====
-ALLOWED_HOSTS  +
-URL_GESTION +
-DATABASES+
  
-Aucun besoin de modifier la section ci-après +<code python> 
-  import os +import os 
-  BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))+BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 
 +</code> 
 + 
 +Ces deux valeurs sont à conserver à False en production. 
 +Nota: il est possible d'utiliser le mode DEBUG en cas de dysfocntionnement uniquement. 
 +<code python> 
 +MODE_DEMO = False 
 +DEBUG = False 
 +</code> 
 + 
 + 
 +===== Urls ===== 
 +  
 +URLS : à personnaliser selon les souhaits \\ 
 +Il est fortement conseillé de définir une URL aléatoire pour l'URL_GESTION \\ 
 +Et de définir une URL un peu plus complexe pour le URL_BUREAU \\ 
 + 
 +<code python> 
 +URL_GESTION = "administrateur/" 
 +URL_BUREAU = "utilisateur/" 
 +URL_PORTAIL = "portail/" 
 +PORTAIL_ACTIF = True 
 +</code> 
 + 
 + 
 +===== 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.  
 +<code python> 
 +ALLOWED_HOSTS = ["mon-association.org","localhost","127.0.0.1"
 +</code> 
 + 
 +===== Base de données ===== 
 + 
 +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|Django#connection-management]] 
 + 
 +<code python> 
 +DATABASES = { 
 +    'default':
 +        'ENGINE': 'django.db.backends.mysql', 
 +        'NAME': 'nom_de_la_base_de_donnée', 
 +        'USER': 'mon_utilisateur', 
 +        'PASSWORD': 'mon_mot_de_passe',  
 +        'HOST': 'mon_hôte', 
 +        'PORT': 3306, 
 +    } 
 +
 +</code> 
 + 
 + 
 +===== 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/ 
 +<code python> 
 +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"
 +</code> 
 + 
 +===== 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 
 +<code python> 
 +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" 
 +</code> 
 + 
 +===== 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 : 
 +<code 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 
 +
 +</code> 
 + 
 +===== Sécurité ===== 
 +Les paramètres par défaut conviendront généralement. \\ 
 +Nota : Lorsque vous voulez utiliser un serveur dédié en passthrough permettant notamment de passer en production. il est conseillé de désactiver l'ensemble des variables de sécurité. \\ 
 +En effet, le mode ProxyPass des serveurs n’autorise pas de transit de flux brut. \\ 
 + 
 +<code python> 
 +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'
 +</code> 
 + 
 +===== Exemple de fichier ===== 
 + 
 + 
 +<file python settings_production.py> 
 + 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!'
  
 ######################################################################################### #########################################################################################
Ligne 41: Ligne 204:
 ######################################################################################### #########################################################################################
  
-ALLOWED_HOSTS = ["polygones-lentilly.fr","localhost","127.0.0.1"]+ALLOWED_HOSTS = ["www.monsite.fr","localhost","127.0.0.1"]
  
 ######################################################################################### #########################################################################################
 # BASE DE DONNEES : Modifier si besoin (en cas d'utilisation de MySQL par exemple) # 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.+# Le moteur ici est MySql.
 # Exemple : https://docs.djangoproject.com/fr/4.0/ref/databases/#connection-management # Exemple : https://docs.djangoproject.com/fr/4.0/ref/databases/#connection-management
 ######################################################################################### #########################################################################################
Ligne 52: Ligne 215:
     'default': {     'default': {
         'ENGINE': 'django.db.backends.mysql',         'ENGINE': 'django.db.backends.mysql',
-        'NAME': 'poly', +        'NAME': 'bdd', 
-        'USER': 'myuser', +        'USER': 'user', 
-        'PASSWORD': 'mypass', +        'PASSWORD': 'pass', 
         'HOST': 'localhost',         'HOST': 'localhost',
         'PORT': 3306,         'PORT': 3306,
Ligne 69: Ligne 232:
  
 # ID de la clé GPG pour le chiffrement de la sauvegarde # ID de la clé GPG pour le chiffrement de la sauvegarde
-DBBACKUP_GPG_RECIPIENT = "15BDE8F782F78F43BBAEF195A6BCCC77CB247553"+DBBACKUP_GPG_RECIPIENT = "TESTESTESTESTESTESTESTESTEST"
  
 # Pour un stockage de la sauvegarde sur le disque dur (Renseigner ci-dessous un répertoire existant) # Pour un stockage de la sauvegarde sur le disque dur (Renseigner ci-dessous un répertoire existant)
Ligne 133: Ligne 296:
 SESSION_EXPIRE_AT_BROWSER_CLOSE = False SESSION_EXPIRE_AT_BROWSER_CLOSE = False
 AXES_META_PRECEDENCE_ORDER = ('HTTP_X_FORWARDED_FOR', 'X_FORWARDED_FOR', 'REMOTE_ADDR') AXES_META_PRECEDENCE_ORDER = ('HTTP_X_FORWARDED_FOR', 'X_FORWARDED_FOR', 'REMOTE_ADDR')
 +</file>
  
 +=====Voir aussi=====
 +Dans la rubrique installation-hébergement : 
 +  * [[autohebergement]]
 +  * [[installation_apache]]
 +  * [[settings_production_detail]]
 +  * [[noethysweb_easy]]
settings_production_detail.1694939649.txt.gz · Dernière modification : 2023/09/17 10:34 de baalth