BDD ou XML

BDD ou XML - PHP - Programmation

Marsh Posté le 07-09-2006 à 20:44:35    

Bonjour à tous !
 
Je fais actuellement une admin qui gère la modifications des menus sur chaque page et je me demandais si j'allais stocker les données dans une bdd mysql ou dans un fichier xml.
Le mysql serait plus simple mais le xml sans doute plus portable et plus lisible mais serait sans doute moins rapide.
 
Qu'en pensez-vous ? Que feriez-vous ?
 
Merci à tous.


Message édité par CNeo le 07-09-2006 à 20:45:09
Reply

Marsh Posté le 07-09-2006 à 20:44:35   

Reply

Marsh Posté le 07-09-2006 à 21:38:37    

Ouais!!! je suis à 100% d'accord avec moi-même!!
Ok... je justifie quand même mon vote: le XML dans ce cas particulier permet d'être lisible par le plus parfait débutant (pour peu que la spécification ne soit pas abracadabrantesque); de plus les moteurs XML pullulent, et HTML ressemble beaucoup à XML, dans le cas d'un menu ça reste je pense un choix tout à fait raisonnable.


Message édité par nargy le 07-09-2006 à 21:39:48
Reply

Marsh Posté le 07-09-2006 à 21:53:09    

Bon moi j'ai cliqué sur "Voter" malencontreusement et c'est BDD qui est parti ^^  
J'utilise une BDD justement pour le menu de mon site et ça marche très bien comme ça. Je n'ai pas plus d'argument, désolé :)

Reply

Marsh Posté le 08-09-2006 à 09:06:06    

C'est exactement une question que je me pose, et je pense passer en XML, pour plusieurs raison :
- portabilité
- diminution des échanges BDD<>serveur PHP (dans mon cas)
- et au contraire, je pense que ce seras plus rapide en passant par XML, car au final il n'y aura pas de requête. Alors certe le XSLT prendra du temps, mais ce sera "noyé" dans le temps qu'il aurait quand même passé à faire la transformation des mes pages.

Reply

Marsh Posté le 08-09-2006 à 09:16:22    

je pense que pour de la gestion de menus le temps de requetage de ta bdd sera negligeable.Donc a mon avis ce ne sera pas plus long que la solution XML.
requeter des tables c'est c'est bien plus simple que du XML
mais ca fait moins geek  
par contre c'est vrai que le XML est plus portable,mais est ce si important pour toi?

Reply

Marsh Posté le 08-09-2006 à 09:31:02    

en fait je comprends même pas pourquoi on dit que le XML est "portable"?
Si c'est portable dans le sens, tu prends tout ton appli pour la mettre ailleurs sans avoir besoin de configurer quoi que ce soit bin c'est aussi "portable" qu'un fichier texte ou un template en html [:mlc]...
Faire du xml pour faire du xml ça sert à rien :o
 
Donc dans le cas d'un menu, moi je le ferais en html [:spamafote]
Et la normalement tu vas dire "oui mais le contenu du menu change tout le temps" toussa toussa. Interface d'admin, eventuellement stockage dans bdd(ou xml si vraiment tu veux) si besoin, à la validation génération du nouveau fichier html. ( mais bon j'imagine mal un menu à fort contenu dynamique).
 
Et ensuite "oui mais tout le monde n'a pas le droit aux mêmes options dans le menu..." et bin soit tu génères carrément une page php, soit tu te fais un mini système de template...
Et quoi qu'il arrive ça ira plus vite que du XML ou une BDD.

Reply

Marsh Posté le 08-09-2006 à 10:37:10    

Actuellement, mes menus sont régénéré à chaque actualisation... et donc une réquête par actualisation.
En ce qui concerne le xml, si le site est déjà généré en xml, pourquoi se privée de faire les menus identiques ?
Un menu est par essence sous forme d'arborescence, donc trés bien adapté à la structure même du XML. De plus contrairement à un fichier texte, il est structuré.
Mes menus sont en effet dynamiques, donc les figer est hors de question. Filtrer un fichier XML est plus simple que le faire sur un fichier texte. (voila pourquoi j'y réfléchis ;) )

Reply

Marsh Posté le 08-09-2006 à 11:16:05    

chani_t a écrit :

De plus contrairement à un fichier texte, il est structuré.

c nimp.

mon_menu.txt :
 
m1 $ bla $ ./section_bla/index.php
m11 $ bla1 $ ./section_bla/b1.php
m12 $ bla2 $ ./section_bla/b2.php
m13 $ bla52 $ ./section_bla/b52.php
m2 $ blabla $ ./section_blabla/index.php?t=42
m21 $ bla1 $ ./section_blabla/b1.php

C'est pas beau ça ?
 
Un fichier xml c'est un standard, un fichier texte normé c'est ton standard, donc accessible immédiatement. De toute façon si t'as aucune rigueur et que tu sais pas lire, ni l'un ni l'autre ne conviendront.

chani_t a écrit :

Filtrer un fichier XML est plus simple que le faire sur un fichier texte. (voila pourquoi j'y réfléchis ;) )

Parser et extraire sur un fichier txt aussi long que ça, c'est vrai que c'est pas commode et même 'achement dur, moi c'est surtout au niveau du fopen() que je coince, mais j'y crois...
 
 
Nan mais franchement, utiliser du xml à la place d'un fichier txt pour écrire puis lire un pov menu, à moins d'utiliser déjà du xml dans ton appli, ça sert à keud. La "portabilité" que tu gagnes là tu la perdras ailleurs de toute façon.

Reply

Marsh Posté le 08-09-2006 à 14:42:29    

je suis assez d'accord avec LKoLRn, si c'est pour écrire et lire un fichier, autant le parser toi-même, ce sera toujours plus simple et plsu rapide qu'un fichier xml :o

Reply

Marsh Posté le 08-09-2006 à 20:26:07    

En fait le fichier xml en question contiendrait l'arborescence du site ( donc les catégories et sous-catégories ) mais aussi les liens externes des menus qui ne peuvent être obtenus qu'à partir d'un fichier et non juste en lisant le contenu des dossiers et sous-dossiers.
 
Un truc du genre :


<cat name="" url="" row="">
 <scat name="" url="" row=""></scat>
</cat>
<lien name="" url="" row="" />


En stockant toute l'arborescence du site dans ce fichier xml, j'ai toutes les données nécéssaires pour que l'utilisateur puisse renommer sa catégorie, en créer une, etc.
 
En parlant de renommer, y a-t-il un moyen de renommer un fichier ou un dossier en php ? :??:  
 
Est-ce plus clair ou aviez-vous déjà compris ?

Reply

Marsh Posté le 08-09-2006 à 20:26:07   

Reply

Marsh Posté le 08-09-2006 à 21:11:15    

Si tu veux, mais c'est qu'une convention d'écriture. Je vois pas la différence, à part utiliser une/des lib en + m'enfin...
 
http://php.net/manual/en et tu tapes "renommer" en anglais

Reply

Marsh Posté le 08-09-2006 à 22:25:45    

anapajari a écrit :

en fait je comprends même pas pourquoi on dit que le XML est "portable"?
Si c'est portable dans le sens, tu prends tout ton appli pour la mettre ailleurs sans avoir besoin de configurer quoi que ce soit bin c'est aussi "portable" qu'un fichier texte ou un template en html [:mlc]...
Faire du xml pour faire du xml ça sert à rien :o
 
Donc dans le cas d'un menu, moi je le ferais en html [:spamafote]
Et la normalement tu vas dire "oui mais le contenu du menu change tout le temps" toussa toussa. Interface d'admin, eventuellement stockage dans bdd(ou xml si vraiment tu veux) si besoin, à la validation génération du nouveau fichier html. ( mais bon j'imagine mal un menu à fort contenu dynamique).
 
Et ensuite "oui mais tout le monde n'a pas le droit aux mêmes options dans le menu..." et bin soit tu génères carrément une page php, soit tu te fais un mini système de template...
Et quoi qu'il arrive ça ira plus vite que du XML ou une BDD.


 
Moi non plus

Reply

Marsh Posté le 09-09-2006 à 00:22:27    

je trouve l idee un peu douteuse je sais paar exeperience que ca rassure pas un utilisateur d avoir a toucher les sources  
j ai repondu bdd parce que je suppose que le reste des donnees du sites sont sur une bdd  
mais si tu veux que l utilisateur rajoute lui meme des cats/souscat toussa il faut lui faire une belle interface
ca fait des annees que j essaie de faire rentrer dans la tete de mon frere que pour faire un titre il suffit de faire <h1>un titre</h1>  
apres ca depend de la debrouillardise de ton utilisateur mais en general il faut partir sur la base qu ils veulent en faire le moins possible
et en me mettant a la place de mon frere ce que tu fais la c est sadique :D

Reply

Marsh Posté le 09-09-2006 à 09:30:00    

mIRROR a écrit :

je trouve l idee un peu douteuse je sais paar exeperience que ca rassure pas un utilisateur d avoir a toucher les sources  
j ai repondu bdd parce que je suppose que le reste des donnees du sites sont sur une bdd  
mais si tu veux que l utilisateur rajoute lui meme des cats/souscat toussa il faut lui faire une belle interface
ca fait des annees que j essaie de faire rentrer dans la tete de mon frere que pour faire un titre il suffit de faire <h1>un titre</h1>  
apres ca depend de la debrouillardise de ton utilisateur mais en general il faut partir sur la base qu ils veulent en faire le moins possible
et en me mettant a la place de mon frere ce que tu fais la c est sadique :D


C'est pour une admin pas pour qu'il modifie lui-même ... :o
D'ailleurs ce fichier n'est pas la source du menu mais le moyen de stockage de l'admin.

Reply

Marsh Posté le 09-09-2006 à 15:03:29    

Je vais faire en xml car je trouve cela mieux que le txt.
 
Voilà, merci à tous !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed