Django-fr

Forum

#1 30-01-2012 09:41:30

BlueMagma
Membre
Inscription : 30-01-2012
Messages : 6

[resolue]Externalisation des settings

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

#2 30-01-2012 09:45:46

Rémy HUBSCHER
Membre
Inscription : 11-08-2010
Messages : 161

Re : [resolue]Externalisation des settings

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

#3 30-01-2012 09:55:40

BlueMagma
Membre
Inscription : 30-01-2012
Messages : 6

Re : [resolue]Externalisation des settings

Donc, je devrait mettre settings.py dans .hgignore aussi ?

Hors ligne

#4 30-01-2012 09:56:38

Rémy HUBSCHER
Membre
Inscription : 11-08-2010
Messages : 161

Re : [resolue]Externalisation des settings

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

#5 30-01-2012 10:08:55

BlueMagma
Membre
Inscription : 30-01-2012
Messages : 6

Re : [resolue]Externalisation des settings

Merci beaucoup.

Hors ligne

#6 30-01-2012 10:33:00

Christophe, Jean-Charles Narbonne
Membre
Inscription : 23-06-2011
Messages : 30

Re : [resolue]Externalisation des settings

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

#7 30-01-2012 12:18:42

BlueMagma
Membre
Inscription : 30-01-2012
Messages : 6

Re : [resolue]Externalisation des settings

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

#8 30-01-2012 17:50:46

Christophe, Jean-Charles Narbonne
Membre
Inscription : 23-06-2011
Messages : 30

Re : [resolue]Externalisation des settings

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

Pied de page des forums