Page 1 sur 1

Options de configuration : BDD ou fichier de config.

Posté : 11 mars 2011, 21:07
par Skw33d
Bonjour à tous et à toutes,

Je me suis récemment mis dans la construction de mon premier projet OpenSource : un agenda en PHP accompagné de Javascript.
Arrivant presque à terme de la première version, je dois programmer l'installation de l'agenda chez l'utilisateur. (Informations sur sa BDD pour la connexion, choix de la langue de l'utilisateur, définition des catégories..).
J'ai pendant mes tests utiliser un fichier de configuration contenant un tableau avec chaque options/informations pouvant être facilement modifié par l'utilisateur (à partir de son éditeur de texte).
Mais, je compte faire une interface où l'utilisateur pourra modifier directement les options de son agenda, et où en gros il n'aurait pas besoin d'aller modifier directement le fichier de configuration.
Donc la question est :

Est il plus intéressant de stocker les options de configuration dans la base de données, où de les stocker dans un fichier de configuration ?

Je connais la méthode pour modifier un fichier par ligne avec fopen, fgets, fput... mais je trouve que cette méthode possède deux points négatifs :
- On oblige l'utilisateur à activer allow_url_fopen (ce qui n'est pas toujours possible de la part de l'utilisateur et négatif d'un point de vue sécurité.)
- Si le client ne fait que par exemple un saut de ligne dans le fichier de configuration, la ligne modifier lors de la configuration ne sera pas la bonne.

J'aurais pensé à faire une installation qui irait stocker les options dans une table de la base de données, et on les récupérerai grâce à une requête et qu'on stockerait dans un tableau dans $_SESSION['optionsConfig'] par exemple ce qui éviterait de faire une requête pour aller chercher les options à chaque fois.

Mais j'aimerais connaître votre avis à ce niveau là, savoir si c'est un bon moyen ou si vous en connaissait d'autre plus propres, plus simple, ou plus adaptés. Je suis tout ouvert à vos propositions.

Merci d'avance :wink:

Re: Options de configuration : BDD ou fichier de config.

Posté : 11 mars 2011, 21:49
par stealth35
fopen, fgets, fput...
méthode ancestral (pratique pour le stream), utilise file_put_contents
allow_url_fopen
c'est uniquement pour récupérer un lien a distance, donc inutile dans ton cas

le plus simple (courant ?) est d'utiliser un fichier .ini (parse_ini_file)

Re: Options de configuration : BDD ou fichier de config.

Posté : 11 mars 2011, 22:10
par Skw33d
Hey ! Et bien merci de ta réponse :) Mon problème est résolu !
J'ai trouvé ça en cherchant des infos sur les fichiers .ini. Donc pour tous ceux comme moi qui ne savent que choisir pour stocker leurs variables de configuration, un tutoriel assez complet :
http://wiki.jeuweb.org/tutoprog/ou_mett ... figuration

Et sur ceux je décide de m'orienter vers un fichier .json, qui a l'air de convenir parfaitement à mon besoin.

Voila, et merci :wink:

Re: Options de configuration : BDD ou fichier de config.

Posté : 12 mars 2011, 04:24
par stealth35
j'ai hésité pour le json puisque le format l'utf-8 est en entités, c'est pour ca que le YAML à plutôt prit le relais