Bonjour à tous,

voici ma question : je voudrais faire en sorte que le contenu d'un blog s'affiche sur une des pages html de mon site, et je ne sais pas du tout ce qu'il faut faire.

On m'a dit qu'il était question du fichier rss du blog, je peux simplement dire que celui-ci se trouve à cette adresse :
ici
merci pour votre aide !
Modifié par melody (05 Jun 2005 - 18:02)
à partir de cette url, tu peux écrire une xsl qui tranformera tout ou une partie du contenu du rss en html, que tu pourras faire apparaitre dans ta page via php.
merci !

mais euh... comment on fait pour "écrire une xsl" ?

et comment faire apparaître mon contenu rss en html via php ?

désolée je ne suis vraiment pas calée dans tout ça... Smiley ohwell

edit : xls ah oki un fichier excel j'suis bête !!
ok alors c fait g mon fichier html il me reste à le faire passer en php... Smiley confus
Modifié par melody (05 Jun 2005 - 18:15)
non, pas un fichier excel...

un fichier XSL (eXtendable Stylesheet Language)...

c'est un langage assez simple de transformation de xml...

fait une recherche sur le forum, tu découvrira bien vite de quoi il en retourne (suis désolé, j'ai pas super le temps devant moi pour tout t'expliquer, je te lance juste une piste)
j'ai beau essayer, je crois que je pige rien, c'est du chinois... ça me parait drôlement compliqué quand même...

Smiley decu
non, ce n'est pas vraiment complexe, loin de là...

faut juste piger le mécanisme...

personnellement, j'ai appris les xsl avec ce livre.
Non n'abandonne pas !

Xslt est un language XML qui permet de transformer du XML.

Prenons un exemple dans ton cas. Tu as un fichier RSS de ce type :
<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<item>
<title>RatDVD : sauvegarde du DVD, bonus compris !</title>
<link>http://www.infos-du-net.com/actualite/4790-divx-ratdvd.html</link>
<pubDate>Sun, 05 Jun 2005 18:30:11 +0200</pubDate>
<description>DivX était à l&#039;origine un système de location de cassettes vidéos aux Etats-Unis, qui a vite été stoppé du fait que les producteurs et distributeurs ne s&#039;y intéressaient pas. Aujourd&#039;hui, lorsqu&#039;on parle de DivX, tout le monde pense aux fichiers numériques. Le système DivX est donc un algorythme de compression de fichier vidéo qui a pour but de compresser un film DVD sur un simple support CD-ROM tout en conservant une qualité sonore et visuelle intéressante (bien que parfois ces deux là laissent à désirer). Ce format de compression, trop souvent associé au piratage, est le résultat travail réalisé, entre autres, par deux &quot;hackers&quot;, dont un français (Jérome Rota, 27 ans, ingénieur vidéo) et un allemand (Max Morice), basé sur le format MPEG-4 de Microsoft...</description>
</item>
<item>
<title>Bientôt les noms de domaine en .xxx !</title>
<link>http://www.infos-du-net.com/actualite/4785-nom-domaine-xxx.html</link>
<pubDate>Sat, 04 Jun 2005 15:03:16 +0200</pubDate>
<description>L&#039;Icann (Icann Internet Corporation For Assigned Names and Numbers) a donné son accord pour lancer les noms de domaine en &quot;.xxx&quot;. Comme vous l&#039;aurez peut-être deviné, ces noms de domaine permettront de mieux identifier les sites à caractère pornographique et permettra donc de mieux lutter contre dans le cadre de la protection des mineurs...</description>
</item>
<!-- etc -->
</channel>
</rss>


Tu peux grâce à Xslt le transformer pour obtenir ceci :
<h3>RatDVD : sauvegarde du DVD, bonus compris !</h3>
<p class="news-body">DivX était à l&#039;origine un système de location de cassettes vidéos aux Etats-Unis, qui a vite été stoppé du fait que les producteurs et distributeurs ne s&#039;y intéressaient pas. Aujourd&#039;hui, lorsqu&#039;on parle de DivX, tout le monde pense aux fichiers numériques. Le système DivX est donc un algorythme de compression de fichier vidéo qui a pour but de compresser un film DVD sur un simple support CD-ROM tout en conservant une qualité sonore et visuelle intéressante (bien que parfois ces deux là laissent à désirer). Ce format de compression, trop souvent associé au piratage, est le résultat travail réalisé, entre autres, par deux &quot;hackers&quot;, dont un français (Jérome Rota, 27 ans, ingénieur vidéo) et un allemand (Max Morice), basé sur le format MPEG-4 de Microsoft...</p>
<div class="news-footer">Publié le Samedi 5 Juin 2005 (à 18h30) -- <a href="http://www.infos-du-net.com/actualite/4790-divx-ratdvd.html">En savoir plus</a></div>
<!-- ect -->


La transformation peut se faire côté client mais il est préférable (à cause du manque de support) de le faire côté serveur.
Si tu as PHP5, c'est très simple à faire et je peux t'expliquer.
Sinon, renseigne toi : je sais que php4 permet ces transformations grâce à l'extension Xslt.

Tu peux donc demander à ton script php d'inclure dans ta page de news le fichier rss transformé en (X)html.

a+
Si tu as php5, tu commences par activer l'extension XSL :
php.ini
;extension=php_w32api.dll
;extension=php_xmlrpc.dll
extension=php_xsl.dll
;extension=php_yaz.dll
;extension=php_zip.dll

N'oublie pas de redémarrer Apache ensuite Smiley lol

Ensuite, tu écris dans ton script :

// chargement de la feuille de style
$xsl = new domDocument();
$xsl->load('le-chemin-de-ton-fichier.xslt');

// chargement du fichier XML que tu veux transformer
$xml = new domDocument();
$xml->load('ton-fichier.xml');

// tu crées le processeur Xslt
$xslt_processor = new XSLTProcessor();
// tu lui ataches la feuille de style
$xslt_processor->importStylesheet($xsl);

/* tu as donc d'un côté un fichier XML ($xml) et de l'autre le processeur Xslt avec la feuille de style attachée */

// on transforme notre fichier XML et on l'affiche
echo $xslt_processor->transformToXml($xml)


Voilà pour ce qui est du traitement côté serveur avec l'extension XSL

Après, utilises les liens déjà donnés pour écrire ton fichier Xslt.

a+
je crois que je vais te faire devenir chèvre ! je comprends toujours pas !!

Pour activer l'extension XSL il faut mofifier le fichier php.in, ok, mais où se trouve-t-il ?
c'est quoi apache ?
comment on fait marcher php5 ?

Smiley bawling

oui je sais je suis un cas désespéré, pfff...


tiens j'ai vu les détails du serveur du blog :
Information serveur

Votre version de PHP est 4.3.4RC4-dev
Votre version de MySQL est 4.0.14-standard
Votre serveur Web est Apache/1.3.28 (Unix) PHP/4.3.4RC4-dev

Smiley eek
Modifié par melody (06 Jun 2005 - 16:23)
Slt,

il va falloir que tu te renseignes auprès de ton hébergeur pour savoir si une extension te permet de traiter du XML grâce à Xslt.

Sous php4, je sais qu'il existe l'extension Xslt. A la limite, teste une fonction, tu sauras très vite si l'extension est activée (tu peux faire : <?php $truc = xslt_create(); ?> par exemple).

Maintenant si rien n'est activé, il faut changer la configuration de php.ini sur ton serveur voir installer les extensions mais ça, tous les hébergeurs ne le permettent pas. C'est quoi ton hébergeur au juste ?

a+
bon en fait c'était beaucoup + simple que ça, quelques codes ajoutés dans des fichiers de mon site et hop ça a marché !

http://www.zewebanim.com/annecy2005.php

maintenant il ne me reste plus qu'à réglerun problème, celui des accents, car sur ma page php les news de mon blog s'affichent mais les accents sont mal "lus"...

quelqu'un sait ce qu'il faut faire ?
Bonjour ;
je crois que le code qui arrive par ton fil rss est en UTF-8, or, ta DTD indique un "charset=iso-8859-1".
Soit tu modifies ton charset, et tu fais les modif que ça implique dans ta page (caractères accentués...) ou tu trouves une chaine php qui modifie le code qui t'arrive par rss pour le mettre conforme au charset de ta DTD.