Vous n'êtes pas identifié(e).
Bonjour,
j'ai des données confidentielles dans mes settings (pass LDAP, adresse diverse, clé django.....).
Et j'utilise un dépôt Mercurial pour faire le suivi de mes projets.
L'idée c'est que le projet puisse être éventuellement rendu publique un jour (on sait jamais), dans cette optique, les données confidentielles ne doivent pas apparaitre dans le dépôt.
Ma question est la suivante : Quel est selon vous la méthode la plus simple pour externaliser les settings de manière a ce que cela soit le plus simple au déploiement ?
PS : Il faut noter que ce n'est pas moi qui déploie l'application.
Merci d'avance pour vos idées.
Dernière modification par BlueMagma (30-01-2012 10:09:17)
Hors ligne
Tu fais un fichier settings.py.example avec une sauvegarde des settings
dans laquelle il n'y a pas de mots de passes.
Tu peux aussi faire un fichier secrets.py dans lequel il y a les infos
confidentielles que tu mets dans ton .hgignore pour ne pas qu'il
s'ajoute par erreur.
Ensuite au début de ton fichier settings.py tu fait from secrets import *
Il vaut mieux éviter de mettre un fichier settings.py dans un dépôt car
le risque est d'écraser le fichier de settings lors de la mise en prod.
On préférera faire un fichier settings.py.example qui permettra de
déployer facilement sans rien oublié.
Bonne journée,
Rémy
Le 30/01/2012 09:41, BlueMagma a écrit :
> Bonjour,
>
> j'ai des données confidentielles dans mes settings (pass LDAP, adresse
> diverse, clé django.....).
>
> Et j'utilise un dépôt Mercurial pour faire le suivi de mes projets.
>
> L'idée c'est que le projet puisse être éventuellement rendu publique un
> jour (on sait jamais), dans cette optique, les données confidentielles ne
> doivent pas apparaitre dans le dépôt.
>
> Ma question est la suivante : Quel est selon vous la méthode la plus
> simple pour externaliser les settings de manière a ce que cela soit le
> plus simple au déploiement ?
>
> PS : Il faut noter que ce n'est pas moi qui déploie l'application.
>
> Merci d'avance pour vos idées.
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
Hors ligne
Donc, je devrait mettre settings.py dans .hgignore aussi ?
Hors ligne
Oui tout à fait.
Le 30/01/2012 09:55, BlueMagma a écrit :
> Donc, je devrait mettre settings.py dans .hgignore aussi ?
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
Hors ligne
Merci beaucoup.
Hors ligne
note, le cas du "secret.py" (qui est assez utilisé" c'est en gros tu as les
settings par défaut avec les applications don tu dépends de vertionnés, tu
met juste des informations fausses pour les champs propres à ton instance
(ADMINS, DATABASES). à la fin de ton fichier tu ajoute les lignes:
try:
from local_settings import *
except ImportError:
print "pensez à renseigner les champs ADMINS et DATABASES dans un
fichier local_settings.py"
print " à la racine du projet, le fichier settings.py contien des
valeurs par défaut."
On Mon, Jan 30, 2012 at 10:08 AM, BlueMagma <jimmyhuguet _AT_ gmail.com> wrote:
> Merci beaucoup.
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>
Hors ligne
Je n'ai pas mis de message d'erreur, juste des champs vide dans le settings.py.example, donc le serveur ne peut pas demarrer si les champ ne sont pas remplie
comme ca :
try:
import confidential
except:
pass
LDAP_PWD= confidential.LDAP_PWD
et dans mon "example" :
LDAP_PWD=
Hors ligne
si tu veux permettre de changer la config sans pourrir le versionnement
utilise import *, ça mettra dans le scope du module tous les settings
attribués dans ton module confidential.
2012/1/30 BlueMagma <jimmyhuguet _AT_ gmail.com>
> Je n'ai pas mis de message d'erreur, juste des champs vide dans le
> settings.py.example, donc le serveur ne peut pas demarrer si les champ ne
> sont pas remplie
> comme ca :
>
> try:
> import confidential
> except:
> pass
>
> LDAP_PWD= confidential.LDAP_PWD
>
> et dans mon "example" :
>
> LDAP_PWD=
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>
Hors ligne