[howToDo] Configuration d'un site

Statut
N'est pas ouverte pour d'autres réponses.

Ahava

Revenant
Bonjour,

J'ai besoin de modifier des informations de configurations générales d'un site, et ce peut-etre une fois de temps en temps, ou même très rarement.


Par contre je me tâte vers quoi m'orienter, donc je vous demande votre avis !

Donc ce sont des infos qui vont être relus TOUT LE TEMPS, vu que le site lui-même a besoin de certaines variables de cette configuration, ce qui est finalement le but.


Je pense donc à une table en BD pour la sauvegarde, et pour ne pas aller faire 1000000 fois la meme requete qui donnera autant de fois la meme valeur, écrire les données dans un fichier. Donc mon site permettera d'editer un de ses propres fichiers, ce n'est pas dangereux ?


Quelles autres solutions existent pour ce cas ?


merci d'avance !
 
1er
OP
Ahava

Ahava

Revenant
SkYlEsS a dit:
Donc tu vas avoir une table avec l'id, le newseur une date par exemple ? Ensuite, tu affiches le sous forme html ce que contient le fichier nommé par l'id je suppose ?
Non, en fait ce sera une table contenant un et un unique tuple, pour chaque colonne une valeur unique.

Par exemple dans cette table l'on trouvera le nombre de messages à afficher sur la page principale, et d'autres choses comme ça.

Je veux donc ne pas hardcoder certains parametres de ce genre là mais je ne veux pas non plus avoir les requetes SQL qui découlent de cette table, si je n'utilise pas un fichier !

Je vais pencher donc pour l'écriture, apres sauvegarde de la table, des données dans une fichier PHP, qui définira des constantes, fichier qui sera inclut dans toutes mes pages....
 

SkYlEsS

Elite
J'avoue que je ne comprends pas bien ton but ...

Ahava a dit:
Par exemple dans cette table l'on trouvera le nombre de messages à afficher sur la page principale, et d'autres choses comme ça.
Tu le fais directement dans ta requête sql ça o_O

Et puis comment comptes-tu t'y prendre pour modifier une news alors ? Tu devras modifier le fichier lui-même et non via php ... (Et pourquoi un tuple et pô un array ?)
 
1er
OP
Ahava

Ahava

Revenant
Je parles pas de news ! Pour les news, y aura une table normale avec toutes les requetes SQL qu'il faut, etc.


Je veux faire un systeme qui me permet, via un simple formulaire, de modifier des détails à propos, par exemple, des news, en choisissant combien de news vont apparaitre sur la page du membre !


Il s'agit donc pas de la gestion de news en particulier, mais d'une configuration du site... Nullement d'éditer un article ou qqch du genre...
 

SkYlEsS

Elite
Aaaah ok pote :]

Alors fais comme tu as dit, sauf que je ne comprends l'intérêt de sauvergarder dans une BDD ... :-'

Tu puis pitetre faire un array alors qui s'avèrera sans doute plus pratique à tes besoins. Cependant, fais gaffe de mettre trop d'infos dans le fichier, ça ralentit le chargement (Mais d'après ce que j'ai compris, ce ne sera pas le cas).

S'cusez, c'était l'aprem :-D
 
1er
OP
Ahava

Ahava

Revenant
Ah ouais pas con, pk passer par une bd alors que tout peut se faire dans un fichier...

Donc je chargerai le fichier, j'aurai la variable $montab que je modifie.

Puis je réécris le fichier, avec comme code

<?php
$montab = array(
Puis là j'écris chacune de mes variables de ma configuration, du genre

'nbNews'=>$blabla,
'blablabla=>2
puis je ferme le fichier en écrivant

Ca me parait meme mieux :D

Seul truc que j'aime pas là dedans, c'est que c'est un tableau : je pourrai facilement "modifier" les infos en tant que programmeur... Je crois que je vais faire pareil mais avec des constantes plutot... non ?
 

guslinux

Gamerz'ien
PHPbb utilise une table MySQL pour sauvegarder les paramètres généraux ...
 

SkYlEsS

Elite
J'avoue que j'ai parfais du mal à comprendre ... :roll:

Il est vrai qu'il est diffcile de modifier une variable d'un array via php (sauf s'il y a une fonction adéquate ???)

Ou alors, tu affiches tout le contenu du fichier, tu corriges ce que tu veux changer et tu réinscris le tout dans le fichier. 'suffit juste de comprendre le fichier quoi :roll:
 

SkYlEsS

Elite
guslinux a dit:
PHPbb utilise une table MySQL pour sauvegarder les paramètres généraux ...
Il est vrai que c'est tout d'même plus simple :roll:
 
1er
OP
Ahava

Ahava

Revenant
guslinux a dit:
PHPbb utilise une table MySQL pour sauvegarder les paramètres généraux ...
PhpBB, oui plus simple, mais combien de requetes par seconde pour avoir à chaque fois... la meme valeur ? je trouve que c'est bcp de requetes pour rien !


Ez3kieL a dit:
Pour moi la meilleure solution est de stocker le tout dans un fichier qui contiendra un tableau $config (par ex) avec toute les infos dont tu as besoin.
En plus tu as une tres jolie fonction var_export.
Go ici http://www.nexen.net/articles/dossier/16600-exporter_les_variables_php.php
Tu trouveras ton bonheur à mon avis.
Roh exactement ce que j'ai besoin :love: :love: :love:

Merci ! Je vais foncer sur cette solution là :love:
 

SkYlEsS

Elite
Aaaah voilà la fonction dont je parlais :)

Disons ceci :

variable.inc.php :
Code:
$b = 3.1;
$v = var_export($b, true);
Code:
<?

include('variable.inc.php');

echo $v; // Ce qui affichera : 3.1

?>
Ensuite je veux changer la variable, rien de plus simple :

Code:
$b = 3.2;
Comment puis-faire pour remplacer l'ancienne variable par celle-ci, ou plutôt sa valeur ? Suis-je obligé d'éditer tous le fichier ?
 
1er
OP
Ahava

Ahava

Revenant
je crois bien... Vu que t'écris tout le fichier, c'est pas un parcours à la XML ou autre... n'empeche ca serait parfait de juste modifier LA variable dans le fichier, j'aimerai bien faire ca aussi :cool:
 
1er
OP
Ahava

Ahava

Revenant
ouais, via XML. Donc pour "inclure la variable", faut un traitement quand meme...
 

Bingo

Beer Addict
Ahava a dit:
PhpBB, oui plus simple, mais combien de requetes par seconde pour avoir à chaque fois... la meme valeur ? je trouve que c'est bcp de requetes pour rien !
On peut voir ça comme ça, mais :
- si ta table est petite (et ce sera le cas), elle sera en cache, donc la requête devrait prendre une ou deux millisecondes à s'exécuter.
- si en plus le cache de requêtes est activé, le résultat de la requête sera en cache, donc encore moins de temps machine.

Dans tous les cas, il ne faut pas trop s'inquiéter d'exécuter beaucoup de requêtes sur de petites tables, les systèmes de fichiers des serveurs ainsi que les serveurs de bases de données sont justement faits pour prendre en charge ce genre de choses sans problème.
Cache du système de fichiers du serveur + cache du serveur de base de données + éventuellement cache de requête = aucun soucis

Fais un test avec un script qui lit 1.000.000 de fois les valeurs de ta table de configuration, tu verras bien le temps par requête.
 

SkYlEsS

Elite
Bingo a dit:
Cache du système de fichiers du serveur + cache du serveur de base de données + éventuellement cache de requête = aucun soucis
Et comment tu mets tout cela en cache ? :)
 

Bingo

Beer Addict
SkYlEsS a dit:
Et comment tu mets tout cela en cache ? :)
Tu ne mets rien en cache, c'est le système d'opération (pour le cache de fichiersà et le serveur de bases de données (pour le cache de tables et de requêtes) qui s'en chargent !
 
1er
OP
Ahava

Ahava

Revenant
Bingo a dit:
Tu ne mets rien en cache, c'est le système d'opération (pour le cache de fichiersà et le serveur de bases de données (pour le cache de tables et de requêtes) qui s'en chargent !
Tu sais comment activer ca sur une bd MySQL ?

boah de toute facon je crois qu'une requete sql sera plus lente qu'un simple include...
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut