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