Afficher un flux rss via javascript

cleden

WRInaute impliqué
Bonjour,

Je propose sur site de mon www, un flux rss des prochains évènements se déroulant dans la région concernée. Ce site comporte un annuaire qui contient la quasi totalité des sites internet existants sur la région, j'ai donc un public susceptible d'être intéréssé par l'affichage du flux Rss.

J'explique également au travers d'un article, comme intégrer ce flux sur un site existant grâce à Magpierss. Le succès n'est pas vraiment au rendez puisque seul un site utilise mon flux.

Je pense que le fait d'utiliser Magpierss, php et tout le toutim doit en effrayer plus d'un. De plus, la grosse majorité des sites inscrits dans l'annuaire sont en html.

J'aimerai proposer à mes visiteurs d'afficher mon flux rss via un javascript à copier/coller sur leurs pages html (tant pis pour les backlinks). Beaucoup de sites proposent ce service, lamooche par exemple. -http://convert.rss-to-javascript.com permet cela facilement mais je tiens pas à imposer un lien vers un site inconnu.

Etant une bille en javascript, je vous sollicite donc afin de m'aider dans ma tâche. Si vous connaissez un script faisant cela, je vous en serai très reconnaissant ;)

Loïc.
 

Serious

WRInaute passionné
javascript donc cote client.

Sur ton serveur, tu crees:
1) un script PHP qui convertit a la volee ton flux RSS en HTML (environ 12 lignes)
2) un script Javascript qui cree le code pour une IFRAME pointant vers cette page (environ 7 lignes)

Les sites voulant afficher tes actualites recupereront ou integreront le Javascript dans leurs pages.
 

cleden

WRInaute impliqué
Serious a dit:
javascript donc cote client.
Sur ton serveur, tu crees:
1) un script PHP qui convertit a la volee ton flux RSS en HTML (environ 12 lignes)
2) un script Javascript qui cree le code pour une IFRAME pointant vers cette page (environ 7 lignes)
Les sites voulant afficher tes actualites recupereront ou integreront le Javascript dans leurs pages.
Oui c'est ce que je voudrait (iframe obligatoire ?). Mais seulement, le problème c'est que je ne connais rien en javascript, n'aurais-tu pas une adresse ou récuperer un tel script ?

Loïc.
 

fandecine

WRInaute passionné
des iframes? beark! :wink:

Tu fais un fchier flux.php comme suit:
Code:
		$fichier_xml = "http://www.cap-sizun.com/rss,evenements.xml"; 
	$nombre_limite = 20; 
	$file = fopen($fichier_xml,"r"); 
	if ($file) { 
		while (!feof($file)) $raw .= fread($file,32000); 
		fclose( $file ); 
		if(eregi("<item>(.*)</item>",$raw,$rawitems)){ 
			$items = explode("<item>", $rawitems[0]); 
			$nb = count($items); 
			$maximum = (($nb-1) < $nombre_limite) ? ($nb-1) : $nombre_limite; 
			ob_start();
			echo "document.write('<div style=\"width:260;font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 10px;padding-right:5px;padding-left:5px;color:#000000;text-align:center;background-color:#ffffff\">Les évènements dans le Cap-Sizun</div>');";
			echo "document.write('<div style=\"border:1px solid #000000;width:260px;font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 10px;color:#000000;text-align:left;padding:5px;background-color:#ffffff\">');";
			for ($i=0;$i<$maximum;$i++) { 
				eregi("<title>(.*)</title>",$items[$i+1], $title); 
				eregi("<description>(.*)</description>",$items[$i+1], $description); 
				eregi("<link>(.*)</link>",$items[$i+1], $link); 
				eregi("<rm>(.*)</rm>",$items[$i+1], $rm); 
				?> 
				document.write('<a href="<?php echo $link[1];?>">');
				document.write("<?php echo $title[1];?></a><br />");
				document.write('<?php echo $description[1];?><br />');
				document.write("<br />");
				<?php 
			}
			echo "document.write('<br /></div>');";
			$contenuCache = ob_get_contents();
			ob_end_flush();
		} 
	}

Tu adapte ce fichier avec tes propres styles.... :wink: Je l'ai adapté à la louche à ton flux xml.

Ensuite, tu rewrite tout cela du style:
Code:
RewriteRule ^flux\.js$ /flux.php [QSA,L]

et hop! Il suffit d'inserrer ceci à l'endroit où l'on veut afficher le flux:
Code:
<script language="JavaScript" type="text/JavaScript" src="http://www.cap-sizun.com/flux.js"></script>

Tu peux même aller plus loin en proposant une "customisation" en ligne.
Pour te donner des idées, voici ce que je propose sur le site de mon profil:
http://www.fan-de-cinema.com/partenaire ... cript.html :wink:
 

cleden

WRInaute impliqué
Merci à vous, je suis parvenu à faire ce que je voulais. Merci également au bienfaiteur masqué qui m'a apporté une solution par mail après avoir lu mon message.

En fait, j'ai passé l'après midi à faire un petit outil qui me plait bien.

http://www.cap-sizun.com/cap,flux-rss.html

Ca regroupe tous les flux RSS de mon site et permet à chaque visiteur de copier/coller le code javascript correspondant au flux qu'il veut afficher.

Par ailleur j'ai appris ma première fonction javascript: document.write()
:lol:

Bonne nuit,
Loïc.
 

Discussions similaires

Haut