XML et PHP

Eléphanteau du PHP | 10 Messages

29 oct. 2005, 13:08

Bonsoir,

Je suis étudiant en Informatique et je souhaiterai refaire mon site personnel pour y accueillir mes projets, écrire des articles et mettre quelques unes de mes photos. Pour le créer, j'envisage d'utiliser le XML afin de structuer proprement mes données et de séparer la forme du contenu.

Cependant, je n'ai pas envie de toucher au code dans mes fichiers XML. J'ai donc eu l'idée d'importer ces données d'une base de données MySQL via PHP. En résumé, j'aimerai combiner le mieux possible ces deux technologies pour que mon site soit simple, souple et puissant.

1ère question : Est-ce une bonne idée de combiner le PHP et le XML de cette manière pour importer des données, créer les fichiers XML et ensuite afficher le tout grâce à un fichier XSLT ?

2ème question : En général, quelles méthodes sont utilisées pour un site traditionnel pour faire cohabiter XML et PHP ? Existe-t-il d'autres alternatives avec d'autres langages ?

Merci pour ceux qui pourront éclairer ma lanterne Very Happy


Nico.

Eléphant du PHP | 55 Messages

29 oct. 2005, 19:15

Avec PHP5, tu vas être le programmeur le plus heureux de la terre. En plus d'un langage plutôt orienté objet, il gère vachement bien le XML. (d'ailleurs j'attends avec fébrilité easyphp 2.0, ou un powerbook, c'est comme qui veut :) ).
Mais qu'est-ce que MySQL vient faire la dedans ? tu veux enregistrer les XML dans MySQL ?
Mais qu'importe..

Eléphant du PHP | 142 Messages

29 oct. 2005, 19:21

hello,
alors tout d'abord il faut savoir que si ton xml est valide normalement tout application utilisant la technologie dom pourrait en théorie le lire.

normalement les langage tel que c, c++, java ( http://www.w3.org/2003/01/dom2-javadoc/ ), javascript version 1.5 (en partie), phyton et sûrement d'autre...

pour php et xml je te conseil d'utiliser php5 qui possède beaucoup plus de possibillitées de manipulation du xml sinon en php4 il y a : domxml

une chose n'oublie pas que tout les navigateurs ont leurs limite et certain n'aime pas trop le xml avec xslt

cependant je ne suis pas un expert dans ce domaine certaine personne auront peut-être plus d'info...

Eléphanteau du PHP | 10 Messages

29 oct. 2005, 19:34

@ Pieterjan > Oui j'ai besoin de MySQL via PHP car je voudrai importer les données que je possède (contenu, titre, date pour un article par exemple) provenant d'une base de données et ensuite créer le fichier XML.

@ Grimmfy > Comme j'ai l'intention de faire héberger mon site Internet chez l'hébergeur Free, je ne pense pas que ce soit possible car ils ne doivent pas être passés à PHP 5.

Pour info, une autre personne m'a dit que mon idée était bonne mais qu'il fallait prévoir un système de cache robuste car les transformations XSLT sont coûteuses ...

Mammouth du PHP | 1311 Messages

29 oct. 2005, 19:37

php sur free c'est possible il faut mettre des extention .php5
maintenant si les fichier que tu genere ne sont fait pour etre distribué l'interet du xml s'amoidrie tu pourrai utiliser a la place un systeme de template

Eléphanteau du PHP | 10 Messages

30 oct. 2005, 02:19

@ Jeff > Je ne comprends pas trop ce que tu entends par "distribué", pourrais-tu expliciter davantage ton idée ? Merci d'avance :)

Mammouth du PHP | 1885 Messages

30 oct. 2005, 03:19

XML est généralement utilisé lorsque l'on veut distribuer un contenu dans un contenant universel. XML permet à tous de récupérer les données et de les transformer dans le format qu'il désire.

jeff essaie de te faire remarquer que si les données ne sont pas prévu pour la distribution, l'intérêt d'XML (bien que toujours présent) n'est plus aussi présent puisqu'un système de template aurait suffit.

Cependant, si tu désires générer ces données dans plusieurs formats, XML serait alors la solution.
La programmation est l'expression de la poésie d'un programmeur
Génération PHP

Eléphanteau du PHP | 10 Messages

30 oct. 2005, 15:47

Ok merci pour l'info :). Juste deux dernières questions :

-> Quelles sont les solutions habituelles mises en oeuvre pour faire cohabiter XML et PHP sur de grands sites ?
-> Pour quelle solution aurais-tu opté personnellement ?

Nico.

Mammouth du PHP | 1311 Messages

30 oct. 2005, 16:04

pour la creation et la manipulation de fichier a partir de php tu a l'extention dom
pour la creation tu peut aussi utiliser un systeme de template regarde mon post du class Rss2
pour la lecture tu a sax et simple xml
donc tu a plein d'outil a ta diposition
et pour l'affichage xslt(mais je vois pas trop l'interet de xslt car on creer tu html a partir de xml(qui dans cas sera creer genere par php) si le contenu est distribué

moi je choisirai (je ne suis pas un developpeur pro) pour la generation un template qui peut te faire du html ou un autre type de fichier
la manipulation DOM

voila

Invité
Invité n'ayant pas de compte PHPfrance

05 nov. 2005, 14:32

Après avoir longuement cherché sur le net, j'ai trouvé une méthode permettant de faire cohabiter PHP et XML sans trop de soucis. La solution serait d'intégrer du code PHP dans les fichiers XML qui auraient besoin d'être générés dynamiquement (page de news par exemple).

Cependant le parsage des fichiers XML par PHP peut être assez coûteux en temps. Une alternative serait alors de générer le contenu offline et de transférer le tout après. Qu'en pensez-vous ?

Eléphant du PHP | 357 Messages

07 nov. 2005, 15:35

Bonjour
je prend ton sujet un peu a la volé car je cherche aussi des solution php et xml mais dans une autre mesure.
mais tu peux aussi parser un document xml en php et tu n auras donc pas besoin de refaire tes fichier xml. il te suffit juste d avoir la librairie expat (installée de manière standard pour les serveur apache > 1.3.7 )
une quantité de fonction à partir de cette librairie sont disponible :
http://www.commentcamarche.net/php/phpxml.php3

voila j espère que ca pourra t'aider

Eléphanteau du PHP | 10 Messages

07 nov. 2005, 18:54

Malheureusement je n'ai pas pas trop bien compris ce que tu entendais par "tu n auras donc pas besoin de refaire tes fichier xml", pourrais-tu expliciter davantage et me donner un exemple si possible ? Merci :)

Nico.

Eléphant du PHP | 396 Messages

28 nov. 2005, 13:50

Bonjour à tous,

Je profite de ce topic pour poser ma question plutôt que d'en créer un nouveau.

J'ai des données stockées dans une BD MYSQL et j'ai besoin de créer un document XML pour communiquer avec FLASH.

C'est la 1ère fois que je fais du XML donc j'en suis à chercher comment je dois procéder.
J'ai lu qu'on pouvait utiliser DOMXML mais en lisant l'intro de la doc concernant cette extension, je suis un peu dubitatif.
Cette extension a été déplacée dans le module PECL et ne sera plus intégrée dans PHP à partir de PHP 5.0.0.
Note

Cette extension n'est plus considérée comme expérimental. Néanmoins, elle ne sera jamais distribuée avec PHP 5 mais uniquement avec PHP 4. Si vous avez besoin du support DOM XML avec PHP 5, vous pouvez utiliser l'extension DOM . domxml n'est pas compatible avec l'extension DOM .
Qu'entend la doc par là? Que si seul PHP5 est installé sur un serveur on ne pourra pas utiliser DOMXML?

Quelle est alors la solution pour creer des XML?
L'extension DOM le permet? Et celle-ci est-elle toujours dispo quand on installe PHP?

Merci de m'éclairer, je suis un peu perdu pur le moment.

Mammouth du PHP | 1311 Messages

28 nov. 2005, 13:55

ce que je vais dire est a verifier :
le module dom de php5 fonctionne avec libxml2

Eléphant du PHP | 396 Messages

28 nov. 2005, 14:15

J'ai fais une recherche sur libxml2 et j'ai trouvé ça :
Le package libxml2 contient les bibliothèques de libxml2. Elles sont utiles pour analyser des fichiers XML.
Ce que je cherche à faire c'est de les creer dans un 1er temps.
Ou alors je n'ai pas compris ce que tu veux dire. :s