Demande conseils pour débuter XML

Eléphant du PHP | 152 Messages

01 déc. 2006, 21:32

Bonjour à tous,

Voila, je m'intéresse de près à XML depuis quelques temps
mais je n'arrive pas à saisir son utilité dans le cadre de
développement de sites internet. Je n'ai pas trouvé d'exemple
concret d'utilisation qui faisait gagner beaucoup de temp en
développement.

Je vois un petit le principe mais j'avoue que j'aurais besoin
d'une explication complète.

Pouvez-vous me donner de bons liens ou tout simplement
me dire comment créer un document très basique XML.

J'ai également essayé d'installer un module d'extension XML
sur un serveur PHP sous windows et je me suis retrouvé confronté
à quelques petites difficulté.

Pouvez-vous m'éclairer ? :idea: :idea:

Mammouth du PHP | 19672 Messages

01 déc. 2006, 21:46

Il faut commencer par comprendre ce qu'est le XML.

le XML est un méta-langage, c'est à dire, pour faire simple, un ensemble de règles pour créer un langage. Les règles XML permettent donc de créer des langages pour structurer des données.

Lorsque tu fais du XHTML par exemple, tu fais du XML peut-être sans le savoir. Le XHTML en effet est un langage qui est basé sur les règles XML.

La question à te poser est donc : quel est ton besoin ? As-tu des données à structurer ? Dans quel but ? Si c'est pour des pages web, le XHTML répond à ta recherche, mais si tu envisages une diffusion plus large (WAP, fichiers pdf, applications clientes particulières autres que des navigateurs Internet, etc..) alors tu peux envisager de concevoir ton propre langage XML ou encore voir s'il n'existe pas un langage XML qui permettrait de faire ce que tu veux : à partir de ce langage, tu peux utiliser des techniques de traformation pour envoyer les données vers les applications de ton choix dans le format qui convient : XHTML, PDF, autre...

Autre point important : à chaque langage XML correspond en principe une DTD (Document Type Definition) : l'application cliente en aura besoin pour interpréter les balises et afficher le contenu selon des règles pré-établies.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 152 Messages

01 déc. 2006, 22:02

Merci de ta réponse, je crois que je vais m'engloutir un pavé
sur le sujet, quitte à perdre un peu de temps.


Je comprend le principe du language, les
DTD, la structure mais en fait mon souci va être de déterminer
s'il est plus rapide de créer des interfaces entre tel ou tel
programme et tel ou tel sortie (ex php->PDF) ou s'il est plus
rapide de le faire en XML.

Le problème du XML quand on y connais rien c'est ça, l'idée
à l'air géniale, mais dans le fond on se demande à quoi ça
sert de créer ses balises, ses propiété quand d'autre l'on
déjà fait.

Ex : je voudrais créer pour une même facture, trois affichage
PDF différents ? Quoi de mieux XML ou 3 modèles PHP->PDF

Autre exemple, je voudrais changer l'interface de mon site
toute les 2 semaines (TEMPLATES, MODELES ENTIEREMENT CSS, XML ???)


Je vous faire les bons choix, determiner quelles sont les meilleurs
technologies quand on pense à la maintenance, à l'évolution, à
la sécurité, aux différents intervenant sur un programme.

Peux-tu cyrano, répondre à la question suivante :

Quel est d'après toi la phrase qui correspond le mieux à XML.
1) ça n'apporte rien.
2) ça apporte un petit plus
3) ça apporte un peu suivant les contextes
4) c'est intéropérable mais pas plus que d'autres solutions
5) ça apporte beaucoup au développement
6) ça apporte beaucoup à la maintenance
7) ça apporte beaucoup dans beaucoup de domaine.

En toute honnêteté ? ça m'intéresse de connaître les autres
avis. Pour futur orientation.

Merci :wink:

Mammouth du PHP | 19672 Messages

02 déc. 2006, 00:43

Je crois que tu fais des amalgames : un avantage énorme du XML, c'est l'interopérabilité. Mais quand tu demandes si il vaut mieux XML ou PHP->PDF, je dirais que c'est une mauvaise question : le XML, c'est pour structurer des données, pas pour les afficher. Pour les afficher, tu pourrais effectivement choisir le PDF. Reste la manière de passer des données au PDF et pour ça, tu peux récupérer les données dans ton fichier XML et les transformer en PDF en utilisant PHP.

Mais tu pourrais faire la même chose en stockant tes données de façon tout aussi structurée dans une base de données. Par contre ces données seront du coup moins portables. Tu pourrais avoir toutes sortes d'applications utilisant ces données, et ce sur toutes sortes de systèmes. Avec le XML, il suffira d'avoir une application capable de lire du XML et ça existe sous n'importe quel OS. Mais les applications capables de se connecter à une base de données particulière peut poser certains problèmes dans certains cas.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ViPHP
ViPHP | 1961 Messages

02 déc. 2006, 02:04

Bonsoir,

En étant totalement d'accord avec Cyrano, cette l'interopérabilité a (à ma façon de voir) une contreinte non négligeable. La sécurité !

Comme tout fichier plât (texte) il est très facilement lisible et donc interprétable sans difficulté.

Si le fichier en lui même est portable, l'exploitation des données qu'il contient n'est pas si simple.
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Eléphant du PHP | 152 Messages

02 déc. 2006, 11:23

Je vais étudier, on verra bien !!

Eléphant du PHP | 71 Messages

20 déc. 2006, 10:40

Salut,
Mais tu pourrais faire la même chose en stockant tes données de façon tout aussi structurée dans une base de données. Par contre ces données seront du coup moins portables. Tu pourrais avoir toutes sortes d'applications utilisant ces données, et ce sur toutes sortes de systèmes. Avec le XML, il suffira d'avoir une application capable de lire du XML et ça existe sous n'importe quel OS. Mais les applications capables de se connecter à une base de données particulière peut poser certains problèmes dans certains cas.
Je pars du principe qu'XML n'est pas fait pour stocker des données mais uniquement pour les décrire. Rien n'empêche d'utiliser MySQL pour conserver ces données et de générer un fichier XML via PHP, tout en utilisant la librairie libxslt, par la suite, pour faire la transformation XSL de XML vers XHTML.
On peut donc conserver la portabilité tout en se servant de MySQL, à juste titre d'ailleurs.
Le seul avantage que je trouve aux BDD XML est qu'elles évitent des traitements supplémentaires (génération du XML) et permettent de conserver et d'exploiter la description XML lors de recherches via XQuery, entre autres. Certaines BDD relationnelles savent gérer XQuery il me semble... Je ne me suis pas trop renseigné sur le sujet...