-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use .env for project configuration #971
base: taiste
Are you sure you want to change the base?
Conversation
75c7680
to
125d919
Compare
3d509d9
to
e82f2de
Compare
f47a548
to
d456a1d
Compare
libjpeg-dev zlib1g-dev npm libffi-dev pkg-config \ | ||
gettext git | ||
libjpeg-dev zlib1g-dev npm libffi-dev pkg-config \ | ||
gettext git redis |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On peut garder redis en install avancée stp ?
C'est vraiment pas ouf un service en plus pour dev en local, on a déjà assez de trucs.
Surtout que pour le coup le cache en mode debug ça pose pas tellement de soucis pour tester
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ca permet quand même d'être au plus proche de la prod.
Et comme maintenant les paramètres de connexion de Redis sont renseignés en même temps que tout le reste, ça permet de l'utiliser avec pratiquement pas de config en plus (juste systemctl enable redis
; c'est pas xapian, quoi).
Ca rend redis plus facile à utiliser dans la CI.
Et comme ça le rend assez simple pour être installé directement, ça permet de ne pas se limiter sur les fonctionnalités de redis ou sur les librairies qui peuvent fonctionner avec redis (celery, *clin d'oeil* *clin d'oeil*)
la configuration pour signifier que nous sommes en mode développement. | ||
Pour cela, nous allons créer un fichier `sith/settings_custom.py` | ||
et l'utiliser pour surcharger les settings de base. | ||
Une fois les dépendances installées, il faut encore |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
C'est ici l'occasion de faire en sorte qu'on ai plus à créer de fichier du tout quand on est en développement
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Toute cette partie ça devrais être dans une section plus avancée
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Créer un .env maison, c'est plutôt courant. Au bout d'un moment, on peut pas simplifier à l'extrême.
|
||
# Quick-start development settings - unsuitable for production | ||
# See https://docs.djangoproject.com/en/1.8/howto/deployment/checklist/ | ||
|
||
# SECURITY WARNING: keep the secret key used in production secret! | ||
SECRET_KEY = "(4sjxvhz@m5$0a$j0_pqicnc$s!vbve)z+&++m%g%bjhlz4+g2" | ||
SECRET_KEY = env.str("SECRET_KEY") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Je pense que les valeurs par défaut du .env.example
ça devrais être set ici pour tout.
Et aussi faire que ce fichier de settings ait les valeurs par défaut pour le mode développement.
Je pense que quand tu dev, tu devrais pas à avoir à créer un .env sauf si t'as un truc spécifique à faire
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
C'est une ligne à faire au moment de l'install. C'est plus court que ce qu'on fait maintenant.
Je préfère que les valeurs par défaut aient le moins d'incidence possible sur la prod en cas de mauvaise configuration. Une ligne à taper, je trouve que c'est un prix acceptable pour un peu plus de sécurité.
CSRF_COOKIE_SECURE = env.bool("HTTPS", default=True) | ||
SESSION_COOKIE_SECURE = env.bool("HTTPS", default=True) | ||
X_FRAME_OPTIONS = "SAMEORIGIN" | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Il faudrait aussi CSRF_TRUSTED_ORIGINS
J'en ai souvent besoin quand je test des features https sur mobile en local
|
||
# Below this line, only Sith-specific variables are defined | ||
|
||
SITH_URL = "my.url.git.an" | ||
SITH_NAME = "Sith website" | ||
SITH_URL = env.str("SITH_URL", default="127.0.0.1:8000") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
T'as moyen de set ce défaut à partir de la commande runserver ? Ce serait cool
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Non, j'ai pas.
Pour la très bonne raison que SITH_URL
, c'est ce qui est utilisé dans le populate. Et le populate est appelé avant le runserver quand on installe le projet.
|
||
# SECURITY WARNING: don't run with debug turned on in production! | ||
DEBUG = False | ||
DEBUG = env.bool("DEBUG", default=False) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suivant la manière dont je propose de gérer les choses, le default ici ça devrait être True
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Au contraire. Là, par défaut on est en mode production. Ce qui signifie que ça demande moins de config en CI et que si le .env est mal configuré en prod, c'est moins dangereux.
En local, si la personne fait bien son cp
, le mode debug sera activé, donc ça marchera
No description provided.