BMD_Online a écrit :Quelle horreur, surtout pas !
Vaut mieux un fichier .ini dans un répertoire (même application data) que dans la base de registre.
Dans le genre "ca pollue partout", on fait pas mieux.
Et question simplicité d'accès, de modification, sauvegarde, portabilité... on fait pas pire que la base de registre !
Je ne vois pas pourquoi.
Presque 100% des applications Windows utilisent la base de registre pour leurs options de base, y compris des applications très populaires et très
open source telles que Media Player Classic ou bien VLC, et tout le monde s'y retrouve très bien.
Et quant au genre "Ca pollue partout", le remplacement de "config.ini" dans la base de registres consisterait uniquement à créer une clé genre "
HKEY_CURRENT_USER\Software\PouchinTV\" et à mettre dedans toutes les entrées actuellement présentes dans "config.ini", il n'est pas (encore !) question d'aller créer des entrées
CLSID dans
HKEY_CLASSES_ROOT ou des trucs comme ça qui ne seraient, de toutes façons, pas réalisables dans "config.ini".
Les définitions de paramètres dans les fichiers .ini sont un héritage de Windows 3 (!!!), et ne sont maintenues dans Windows que pour la compatibilité avec des applications datant de cette époque. D'ailleurs, comme il est dit au début de la documentation des fonctions telles que "
GetPrivateProfileString" (utilisées pour gérer ces fichiers) :
This function is provided for compatibility with 16-bit Windows-based applications. Win32-based applications should store initialization information in the registry.
BMD_Online a écrit :Perso, je pense que l'idée de l'option -portable n'est pas mauvaise.
J'avais déja suggéré dans un post précédent de proposer le chemin des fichiers en option.
Sauf un truc, si vous voulez spécifier l'option "-portable" pour dire depuis où charger la configuration, il va aussi falloir spécifier le chemin complet de cette configuration derrière, sur la ligne de commande.
Parce que sinon, ça ne pourrait être que dans le fichier "
config.ini" que pourrait être sauvegardée l'option qui indiquerait où se trouve le fichier "
config.ini".
.... 'see what I mean ?
(à moins bien sûr de décider de ne sauvegarder que cette seule option dans la base de registres, mais bon ...)
BMD_Online a écrit :Je suis content de pouvoir tout sauvegarder sans me poser de questions.
Mais j'ai de plus en plus d'applications qui "s'imposent" dans appdata, et sont plutot contrariantes à sauvegarder.
A la question "pourquoi pas tout sauvegarder appdata ?", ben non car on y trouve toute la merde de windows...
C'est pourtant une facilité.
Serait-il plus simple, pour sauvegarder les configurations, d'aller dans chaque répertoire de chaque application se trouvant dans "C:\Program Files" pour y prendre le ou les fichiers ".ini" ou ".xml" qui s'y trouvent afin de les sauvegarder ?
Et normalement, une application ne sauvegarde pas ses données dans "Application Data". On doit juste y trouver les éléments (qui sont trop encombrants pour être sauvegardés dans le registre) nécessaires à la configuration, mais dont l'utilisateur ne devrait pas avoir connaissance autrement que par l'usage de l'interface utilisateur de l'application elle-même.
En clair, ce qui est une aberration ici, à mon avis, ce n'est pas de stocker config.ini (puisqu'il existe) dans "Application Data". C'est plutôt d'avoir créé un message d'erreur invitant à aller effacer "config.ini" ou bien "chaines.xml", alors que l'utilisateur ne devrait même pas avoir à savoir que ces fichiers existent.
Après tout, PouchinTV, en invitant à effacer le fichier "config.ini", pourrait aussi bien le faire lui-même !
BMD_Online a écrit :Edit : on parle de config.ini, mais c'est pareil (surtout) pour chaines.xml et tout le toutim.
Naturellement.
Juste une ou deux sous-clés supplémentaires sous la même clé de la base de registres.
Gingko