settings_production_detail
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| settings_production_detail [2023/09/17 11:28] – [SECURITE] mise a jour de la présentation et ajout d'un commentaire baalth | settings_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 | + | ===== Valeurs à personnaliser ===== |
| <code python> | <code python> | ||
| SECRET_KEY : # Saisissez une clé aléatoire complexe de votre choix 50 caractères minimum, vous pouvez utiliser un générateur, | SECRET_KEY : # Saisissez une clé aléatoire complexe de votre choix 50 caractères minimum, vous pouvez utiliser un générateur, | ||
| Ligne 9: | Ligne 9: | ||
| </ | </ | ||
| - | ===== Aucun besoin de modifier | + | ===== Sections a ne pas modifier ===== |
| <code python> | <code python> | ||
| Ligne 24: | Ligne 24: | ||
| - | ===== URLS ===== | + | ===== Urls ===== |
| URLS : à personnaliser selon les souhaits \\ | URLS : à personnaliser selon les souhaits \\ | ||
| Ligne 38: | Ligne 38: | ||
| - | ===== HOSTS ===== | + | ===== 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. | 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. | ||
| Ligne 49: | Ligne 49: | ||
| </ | </ | ||
| - | ===== BASE DE DONNEES | + | ===== Base de données |
| Modifier si besoin (en cas d' | Modifier si besoin (en cas d' | ||
| Ligne 70: | Ligne 70: | ||
| - | ===== SAUVEGARDES | + | ===== Sauvegardes |
| Permet de générer et envoyer des sauvegardes chiffrées des données | Permet de générer et envoyer des sauvegardes chiffrées des données | ||
| Ligne 76: | Ligne 76: | ||
| Pour plus d' | Pour plus d' | ||
| <code python> | <code python> | ||
| - | # ID de la clé GPG pour le chiffrement de la sauvegarde nécessaire pour effectuer la sauvegarde. | + | ID de la clé GPG pour le chiffrement de la sauvegarde nécessaire pour effectuer la sauvegarde. |
| DBBACKUP_GPG_RECIPIENT = "" | DBBACKUP_GPG_RECIPIENT = "" | ||
| + | |||
| + | Pour un stockage de la sauvegarde sur le disque dur (Renseigner ci-dessous un répertoire existant) | ||
| + | DBBACKUP_STORAGE = " | ||
| + | DBBACKUP_STORAGE_OPTIONS = {" | ||
| + | DBBACKUP_CONNECTORS = {" | ||
| + | |||
| + | 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:// | ||
| + | 2. Cliquez sur le bouton ' | ||
| + | 3. Une fois l' | ||
| + | 4. Générez le token et copiez-le ci-dessous. | ||
| + | DBBACKUP_STORAGE = " | ||
| + | DBBACKUP_STORAGE_OPTIONS = {" | ||
| + | </ | ||
| + | |||
| + | ===== 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 = " | ||
| + | STORAGE_PIECE = " | ||
| + | STORAGE_QUOTIENT = " | ||
| + | STORAGE_ASSURANCE = " | ||
| + | STORAGE_PHOTO = " | ||
| + | |||
| + | Si l'un des champs ci-dessus utilise Dropbox, renseignez le token Dropbox ci-dessous : | ||
| + | DROPBOX_OAUTH2_TOKEN = " | ||
| + | </ | ||
| + | |||
| + | ===== Plugins ===== | ||
| + | |||
| + | PLUGINS = [" | ||
| + | |||
| + | ===== 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 = "/ | ||
| + | CRONTAB_COMMAND_SUFFIX = ' | ||
| + | CRONJOBS = [ | ||
| + | ("* * * * *", " | ||
| + | ("00 23 * * *", " | ||
| + | ("25 23 * * *", " | ||
| + | ("30 23 * * *", " | ||
| + | ("45 23 * * *", " | ||
| + | ] | ||
| + | </ | ||
| + | |||
| + | ===== 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' | ||
| + | En effet, le mode ProxyPass des serveurs n’autorise pas de transit de flux brut. \\ | ||
| + | |||
| + | <code python> | ||
| + | CSRF_COOKIE_SECURE = False | ||
| + | CSRF_COOKIE_SAMESITE = ' | ||
| + | SESSION_COOKIE_SECURE = False | ||
| + | SECURE_BROWSER_XSS_FILTER = False | ||
| + | SECURE_CONTENT_TYPE_NOSNIFF = False | ||
| + | SECURE_SSL_REDIRECT = False | ||
| + | X_FRAME_OPTIONS = ' | ||
| + | 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 = (' | ||
| + | </ | ||
| + | |||
| + | ===== 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, | ||
| + | # | ||
| + | ######################################################################################### | ||
| + | |||
| + | 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 = ' | ||
| + | |||
| + | ######################################################################################### | ||
| + | # 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 = " | ||
| + | URL_BUREAU = " | ||
| + | URL_PORTAIL = " | ||
| + | PORTAIL_ACTIF = True | ||
| + | |||
| + | ######################################################################################### | ||
| + | # HOSTS : Saisissez les hosts autorisés (IP ou urls du serveur). | ||
| + | # Obligatoire pour fonctionner sur un serveur. | ||
| + | # Exemple : ALLOWED_HOSTS = [" | ||
| + | ######################################################################################### | ||
| + | |||
| + | ALLOWED_HOSTS = [" | ||
| + | |||
| + | ######################################################################################### | ||
| + | # BASE DE DONNEES : Modifier si besoin (en cas d' | ||
| + | # Le moteur ici est MySql. | ||
| + | # Exemple : https:// | ||
| + | ######################################################################################### | ||
| + | |||
| + | DATABASES = { | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | } | ||
| + | } | ||
| + | |||
| + | ######################################################################################### | ||
| + | # 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' | ||
| + | ######################################################################################### | ||
| + | |||
| + | PLUGINS = [" | ||
| + | |||
| + | # ID de la clé GPG pour le chiffrement de la sauvegarde | ||
| + | DBBACKUP_GPG_RECIPIENT = " | ||
| # 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 108: | Ligne 262: | ||
| # Si l'un des champs ci-dessus utilise Dropbox, renseignez le token Dropbox ci-dessous : | # Si l'un des champs ci-dessus utilise Dropbox, renseignez le token Dropbox ci-dessous : | ||
| # DROPBOX_OAUTH2_TOKEN = " | # DROPBOX_OAUTH2_TOKEN = " | ||
| - | </ | ||
| - | ===== PLUGINS ===== | ||
| - | PLUGINS = [" | + | ######################################################################################### |
| + | # 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 (tâches planifiées) ===== | + | # CRONTAB_PYTHON_EXECUTABLE = "/ |
| - | + | # CRONTAB_COMMAND_SUFFIX = ' | |
| - | 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 : | + | # CRONJOBS = [ |
| - | <code python> | + | # ("* * * * *", " |
| - | CRONTAB_PYTHON_EXECUTABLE = "/ | + | # ("00 23 * * *", " |
| - | CRONTAB_COMMAND_SUFFIX = ' | + | # ("25 23 * * *", " |
| - | CRONJOBS = [ | + | # ("30 23 * * *", " |
| - | ("* * * * *", " | + | # ("45 23 * * *", " |
| - | ("00 23 * * *", " | + | # ] |
| - | ("25 23 * * *", " | + | |
| - | ("30 23 * * *", " | + | |
| - | ("45 23 * * *", " | + | |
| - | ] | + | |
| - | </ | + | |
| - | ===== SECURITE | + | ######################################################################################### |
| - | Les paramètres par défaut conviendront généralement. | + | # SECURITE |
| - | Nota : Lorsque vous voulez utiliser un serveur dédié en passthrough permettant notamment de passer en production. il est conseillé de désactiver l' | + | ######################################################################################### |
| - | En effet, le mode ProxyPass des serveurs n’autorise pas de transit de flux brut. \\ | + | |
| - | <code python> | ||
| CSRF_COOKIE_SECURE = False | CSRF_COOKIE_SECURE = False | ||
| CSRF_COOKIE_SAMESITE = ' | CSRF_COOKIE_SAMESITE = ' | ||
| Ligne 147: | Ligne 296: | ||
| SESSION_EXPIRE_AT_BROWSER_CLOSE = False | SESSION_EXPIRE_AT_BROWSER_CLOSE = False | ||
| AXES_META_PRECEDENCE_ORDER = (' | AXES_META_PRECEDENCE_ORDER = (' | ||
| - | </code> | + | </file> |
| + | |||
| + | =====Voir aussi===== | ||
| + | Dans la rubrique installation-hébergement : | ||
| + | * [[autohebergement]] | ||
| + | * [[installation_apache]] | ||
| + | * [[settings_production_detail]] | ||
| + | * [[noethysweb_easy]] | ||
settings_production_detail.1694942914.txt.gz · Dernière modification : 2023/09/17 11:28 de baalth