Je suis perdu pour utiliser un flux XML

Je suis perdu pour utiliser un flux XML - XML/XSL - Programmation

Marsh Posté le 03-08-2006 à 09:51:44    

Bonjour à tous,
 
désolé si la question a déjà été abordée mais je n'ai soit rien trouvé collant à mon cas, soit c'était trop pointu pour mes connaissances.
 
J'ai un site ( http://www.chaleurterre.com ) pas mal développé avec un forum sous phpBB et le portail sous xoops; je tripote un peu le code mais ça reste du bricolage à taton...
 
Je me suis affilié à alapage pour créer une boutique sur mon site. Ils fournissent une url pour récupérer un fichier xml; de ce type:
 

Citation :


<?xml version="1.0" encoding="ISO-8859-1" ?>  
- <SHOP_WINDOW TYPE="Vitrine" URI="5-11188">
  <MENU URI="5-308977" />  
  <STYLESHEET>gabarit_3_poster.xsl</STYLESHEET>  
- <PATH>
  <ITEM URI="5-14097" CATALOG_CODE="1">livres français</ITEM>  
  <ITEM URI="5-11188" CATALOG_CODE="1">littératures</ITEM>  
  </PATH>
  <START_DATE>2006-06-02T10:30:00</START_DATE>  
  <END_DATE />  
- <INSERT>
- <EDITO_TOP5 URI="5-45817">
  <VALIDATION>Valider</VALIDATION>  
  <TYPE>Vide</TYPE>  
  <TITLE>Nouveautés</TITLE>  
- <PRODUCTS>
- <PRODUCT URI="5-289704">
  <TITLE>LE COMPLOT CONTRE L'AMERIQUE</TITLE>  
  <KIND>ROMAN CONTEMPORAIN</KIND>  
  <COMMENT>Novembre 1940 : Charles A. Lindberg, aviateur héroïque adulé des Américains, mais aussi admirateur de l'Allemagne nazie et antisémite notoire, devient président des États-Unis. Dès son arrivée à la Maison-Blanche, il s'empresse de signer un pacte de non-agression avec Hitler, puis avec le Japon. Les juifs ne tardent pas, alors, à être considérés comme des indésirables au même titre que les Noirs, puis pire encore... Philip Roth dessine, dans ce roman de politique-fiction, le portrait d'une...</COMMENT>  
  <AUTHOR>Philip Roth</AUTHOR>  
  <EDITOR>Gallimard</EDITOR>  
  <COLLECTION>MONDE ENTIER</COLLECTION>  
  <CATALOG>Français</CATALOG>  
  <CATALOG_CODE>1</CATALOG_CODE>  
  <REFERENCE>2070774678</REFERENCE>  
  <RELEASE_DATE>25/05/2006</RELEASE_DATE>  
- <DISPONIBILITY>
- <![CDATA[ DS
  ]]>  
  </DISPONIBILITY>
- <PRICE>
- <![CDATA[ 20.90
  ]]>  
  </PRICE>
- <EDITHOR_PRICE>
- <![CDATA[ 22.00
  ]]>  
  </EDITHOR_PRICE>
- <COMMISSION>
- <![CDATA[ YES
  ]]>  
  </COMMISSION>
- <IMAGE_URL>
- <![CDATA[ http://www.alapage.com/resize.php? [...] V2UDQFTw==
  ]]>  
  </IMAGE_URL>
- <CARD_URL>
- <![CDATA[ http://www.alapage.com/mx/?tp=F&do [...] V2UDQFTw==
  ]]>  
  </CARD_URL>
  </PRODUCT>
  </PRODUCTS>
...


 
je suis complètement paumé  :cry:  
J'ai lu plein de truc sur le xsl, le xslt, etc mais je ne comprends pas comment faire pour traiter ce fichier en php pour pouvoir le mettre en page sur mon site (en plus accessoirement il faudra que je l'intègre à xoops  :D )
 
J'ai cru comprendre qu'il faut que le travail soit fait par le serveur (je suis chez 1&1 en linux) pour que du côté client ça s'affiche sans problème sur tous les navigateurs. Mais mes essais restent nuls; ça marche en local en apperçu dreamweaver avec IE mais sinon rien...
 
Merci de votre aide.
 
Bonne journée.


---------------
Admin www.chaleurterre.com - Energies renouvelables - Géothermie - Aérothermie - Solaire - Eolien - biomasse
Reply

Marsh Posté le 03-08-2006 à 09:51:44   

Reply

Marsh Posté le 03-08-2006 à 13:32:10    

google php xml parser


---------------
Hobby eien /人◕ ‿‿ ◕人\
Reply

Marsh Posté le 03-08-2006 à 13:44:54    

Tu devrais peut-être commencer par des choses plus abordables. Car là, j'ai l'impression que tu essaies de courir avant de marcher...
 
Consolide tes bases avant de t'attaquer à qq chose de manifestement trop costaud pour toi. Sans quoi ce sera au mieux bancale, au pire tu en seras dégoûté.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 03-08-2006 à 13:46:38    

Bonjour Tamahome,
 
j'ai déjà fait plein de recherches mais souvents les réponses données dépasse ma compréhension...
 
J'ai trouvé un tuto simple:
http://bob.developpez.com/phpxslt/
 
mais cela ne fonctionne pas; cela me dit:
Fatal error: Call to undefined function xslt_create() in /homepages/27/d156813271/htdocs/alapage/test cours/index.php5 on line 2
 
A l'aide.


---------------
Admin www.chaleurterre.com - Energies renouvelables - Géothermie - Aérothermie - Solaire - Eolien - biomasse
Reply

Marsh Posté le 03-08-2006 à 13:51:31    

sircam a écrit :

Tu devrais peut-être commencer par des choses plus abordables. Car là, j'ai l'impression que tu essaies de courir avant de marcher...
 
Consolide tes bases avant de t'attaquer à qq chose de manifestement trop costaud pour toi. Sans quoi ce sera au mieux bancale, au pire tu en seras dégoûté.


 
 
Bah oui je sais mais la finalité est hyper simple, c'est juste présenter quelques articles.
 
En local j'y suis arrivé avec l'apperçu de Dreamweaver sous IE (d'après ce que j'ai compris ça utilise une biblio microsoft); mais alors comment déployer ça sur mon hébergeur ???  
1&1 me dit que xslt est fonctionnel sur mon hébergment mais ça me retourne ça:
Fatal error: Call to undefined function xslt_create() in /homepages/27/d156813271/htdocs/alapage/test cours/index.php5 on line 2
 
J'ai fait un test avec simplexml; pareil ça me met une erreur.
 
A+


---------------
Admin www.chaleurterre.com - Energies renouvelables - Géothermie - Aérothermie - Solaire - Eolien - biomasse
Reply

Marsh Posté le 03-08-2006 à 18:23:13    

chanbon1 a écrit :

Fatal error: Call to undefined function xslt_create() in /homepages/27/d156813271/htdocs/alapage/test cours/index.php5 on line 2


Ton interpréteur PHP a-t-il l'extension XLST? (cf. phpinfo() et http://be.php.net/manual/en/ref.xslt.php)

Reply

Marsh Posté le 03-08-2006 à 20:59:04    

Bonsoir rx_
 
je suis en hébergement chez 1&1; d'après eux je l'ai.
 
Le phpinfo de mon site est à cette adresse:
http://www.chaleurterre.net/phpinfo.php3
 
Dis-moi ce que tu en pense, merci.
 
Bonne soirée.
 

Reply

Marsh Posté le 03-08-2006 à 21:02:04    

oups pour le php5:
 
c'est http://www.chaleurterre.net/phpinfo.php5

Reply

Marsh Posté le 03-08-2006 à 21:20:18    

Oui, apperemment tu as le module XSLT.
Parcontre t'as essayé d'utiliser les classes de PHP5 ?
http://de3.php.net/manual/fr/ref.xsl.php

Reply

Marsh Posté le 03-08-2006 à 22:05:26    

:cry:  
 
qu'est cécé  :??:  
 
J'ai bien du lire une trentaine de tuto et je n'ai compris la moitié de ce que je lisais...
 
Je vais essayé de me concentrer sur simpleXML.
 
En tout cas merci de votre aide.
 
Bonne soirée.


---------------
Admin www.chaleurterre.com - Energies renouvelables - Géothermie - Aérothermie - Solaire - Eolien - biomasse
Reply

Marsh Posté le 03-08-2006 à 22:05:26   

Reply

Marsh Posté le 03-08-2006 à 22:08:53    

Non, le problème c'est pas la lib php à utiliser (pour loader un fichier XML/un flux xml et le parser avec XSLT ça se fait en 4 lignes de code), la chose "complexe" se situe dans l'écriture du fichier xsl derrière .
Parcontre une question me viens a l'esprit : Pourquoi tu cherches du coté de XSL? Ton but c'est quoi?  
- Si c'est recuperer des info dans le flux xml, tu fais fausse route, il faut que tu lises un coup la doc sur DOM et c'est reglé
- Si tu veux affichier /reformatter , effectivement tu vas dans le bon sens.
A+

Reply

Marsh Posté le 03-08-2006 à 22:23:36    

C'est effectivement pour afficher et mettre en page.
 
Le flux que je récupére chez alapage est une sélection de livres (que eux mettent à jour selon mes critères); il y a l'url de l'image de la couverture, le titre, un commentaire,...
Tout ceci c'est pour pouvoir proposer à la vente des bouquins de manière très ciblée. Je souhaite donc mettre en forme avec certains éléments disponibles dans ce flux
 
Une fois ceci mis en place, je n'aurais plus rien à faire; la sélection sera mise à jour automatiquement en même temps que sur le site d'alapage.
 
A+


Message édité par chanbon1 le 03-08-2006 à 22:25:31

---------------
Admin www.chaleurterre.com - Energies renouvelables - Géothermie - Aérothermie - Solaire - Eolien - biomasse
Reply

Marsh Posté le 03-08-2006 à 23:26:07    

bon alors je crois que je peux oublier simpleXML...
 
En fait l'erreur que ça me retourne:
"URL file-access is disabled in the server configuration "
 
lorsque je veux charger un xml distant est dûe à ça:
"une désactivation de la directive allow_url_fopen contenue dans le fichier de configuration php.ini. La désactivation de cette directive est généralement réalisée par mesure de sécurité. "
"Cette directive n'est modifiable qu'à partir du fichier de configuration php.ini ou dans le fichier de configuration httpd.conf d'Apache."
(source phpfrance.com)
 
bien bien bien :(
 
avez-vous des idées, des conseils ?


---------------
Admin www.chaleurterre.com - Energies renouvelables - Géothermie - Aérothermie - Solaire - Eolien - biomasse
Reply

Marsh Posté le 04-08-2006 à 07:59:33    

ouais, change d'herbergeur. 1and1 a ptet filé 3 ans gratos mais bon, on dirait du OVH pour la qualité [:joce]


---------------
Hobby eien /人◕ ‿‿ ◕人\
Reply

Marsh Posté le 04-08-2006 à 08:47:37    

Bonjour,
 
je ne suis pas sur leur offre gratuite; je suis en hébergement mutualisé.
Mais d'après ce que j'ai pu lire cette limitation est courante pour des raisons de sécurité.
 
A+


---------------
Admin www.chaleurterre.com - Energies renouvelables - Géothermie - Aérothermie - Solaire - Eolien - biomasse
Reply

Marsh Posté le 04-08-2006 à 18:13:58    

Juste une idée comme ça: si tu utilises http_get() et puis simplexml_load_string()?

Reply

Marsh Posté le 04-08-2006 à 22:25:12    

Bonsoir,
 
 
le code que j'ai utilisé pour faire des tests (c'est un exemple des plus simple que j'ai trouvé sur le net):
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
</head>
 
<body>
<?php
$bibliotheque = simplexml_load_file('http://www.chaleurterre.com/alapage/livres.xml');
foreach ($bibliotheque->style as $style) {
  print "\nType {$style['id']} <br />\n";
  foreach ($style->livre as $livre) {
    print "Titre : {$livre->titre} <br />\n";
    print "Auteur : {$livre->auteur} <br />\n";
    }
  }
?>
</body>
</html>
 
Ca marche lorsque je mets $bibliotheque = simplexml_load_file('livres.xml');
 
Mais pas avec le chemin complet, c'est embêtant vue que le xml que je veux traiter n'est pas sur mon serveur.
 
 
Merci de ton aide, bonne soirée.


---------------
Admin www.chaleurterre.com - Energies renouvelables - Géothermie - Aérothermie - Solaire - Eolien - biomasse
Reply

Marsh Posté le 05-08-2006 à 00:42:49    

j'ai testé un autre code utilisant la fonction fopen; en mettant comme fichier à ouvrir une url complète ça me met la même erreur ???
 
A+


---------------
Admin www.chaleurterre.com - Energies renouvelables - Géothermie - Aérothermie - Solaire - Eolien - biomasse
Reply

Sujets relatifs:

Leave a Replay

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