10Fermer12
flankerLe 21/02/2013 à 12:41
Zerosquare (./8) :
Pour Windows, il ne faut pas hardcoder les chemins (même partiellement), parce que les noms et la hiérarchie peut changer suivant la langue, la version de l'OS, la config, etc.

À la place, tu as une API pour obtenir les chemins : http://msdn.microsoft.com/en-us/library/bb762181%28VS.85%29.aspx
Et la façon de l'appeler en Python : http://stackoverflow.com/questions/3858851/python-get-windows-special-folders-for-currently-logged-in-user

Les CSIDL à utiliser dans ton cas, si je ne dis pas de bêtises :
CSIDL_APPDATA pour les fichiers de config liés à l'utilisateur
CSIDL_LOCAL_APPDATA pour les fichiers de config liés à l'utilisateur, mais uniquement relatifs à la machine locale (donc pas accessibles si l'utilisateur se logue sur une autre machine du réseau)
CSIDL_COMMON_APPDATA pour les fichiers de config communs à tous les utilisateurs

La liste complète des constantes est là : http://msdn.microsoft.com/en-us/library/bb762494(v=vs.85).aspx


Ok, merci happy Ça me va parfaitement.
PpHd (./10) :
flanker (./1) :
On peut distinguer deux cas :
- préférences utilisateur
Linux : ~/.config/mon.programme.xxx

- préférences globales
Linux : ... bonne question grin ça sera dans /etc/mon.programme/preferences.xxx s'il est installé dans /usr/bin ou dans /bin,
mais s'il est installé dans /opt/bin, j'imagine que c'est mieux de mettre dans /opt/etc...

Cf. http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html

Rien n'est défini sur ma Debian tsss

Kevin Kofler (./9) :
Les préférences globales sous GNU/Linux sont toujours dans /etc, ça ne fait pas partie du préfixe (genre /opt/foo, /usr/local ou /usr). Par exemple, Fedora crée un dossier /usr/etc, mais il est totalement vide; il n'existe apparemment que pour la compatibilité avec des logiciels tiers qui l'utilisent.

Ça me facilite la vie, il est vrai