Comme je suis un programmeur et non un administrateur, j'espère que vous pourrez m'aider :
Actuellement, j'écris une application web qui utilise des fichiers de configuration (XML) que l'utilisateur pourra également modifier via l'application elle-même (dans une interface web).
L'application a donc besoin de droits de lecture et d'écriture sur ces derniers.
Et lorsque le paquet d'applications est mis à jour sur le système, il doit, bien sûr, utiliser les fichiers de configuration préexistants que l'ancienne version utilisait déjà. (Comme le format des fichiers de configuration peut changer légèrement d'une version à l'autre, le processus de mise à jour peut également modifier/mettre à jour les fichiers de configuration).
Alors, où se trouve l'emplacement officiel (Debian) et hautement officiel (LSB/FHS) de ces fichiers ?
-
/etc/myWebApp/config/
(avec un lien symboliqueWEBROOT/myWebApp/config -> /etc/myWebApp/config/
) ? -
WEBROOT/myWebApp/config/
? - ailleurs ?
Et comment organiser le processus de mise à jour ? Il suffit de renommer les anciens fichiers de configuration en config_*.xml.160207
et traduire leur contenu au nouveau format à config_*.xml
? Ou utiliser un répertoire de configuration pour chaque version ?
Comment gérer une mise à niveau du paquet (par exemple, lorsqu'un PPA est créé pour les bêta-testeurs et que l'utilisateur veut abandonner le bêta-test et revenir aux versions stables) ? Renommage inverse automatique ou laisser à l'utilisateur le soin de le faire lui-même ?
Note : Un "utilisateur" est dans ce cas l'administrateur de l'application web. Il a donc tout le pouvoir de modifier les fichiers de configuration. (Mais il n'a pas besoin de beaucoup de connaissances de Linux et n'est souvent pas root). L'"utilisateur final" serait alors le véritable utilisateur de l'application et de son contenu configuré.