Bonjour,

j'ai créé un fichier .php qui génère un "affiche rss".

Le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
require ("../includes/connect.php");
 
$query = mysql_query("SELECT *,DATE_FORMAT(created, '%d/%m/%y %H:%i') AS creation FROM _news ORDER BY created DESC LIMIT 20");
// on selectionne les champs qui seront présents dans le RSS
// on trie en ordre anté-chronologique, pour avoir l'article le plus récent au début
// on décide de limiter à 20 le nombre de billets affichés
 
while ($row = mysql_fetch_assoc($query)) { $items[] = $row; }
 
// la date de l'item le plus récent nous donne la "date de fraicheur" du flux.
$last_modified = date('r',$items[0]['timestamp']);
 
// On a les infos nécessaires, construisons le flux :
header('Last-Modified: ' . $last_modified); // ici on precise en header la date de derniere modification
header('Content-Type: text/xml; charset="UTF-8"', true); // et on spécifie UTF-8 pour une compatibilité améliorée
 
echo '<?xml version="1.0" encoding="UTF-8" ?>'."\n";
echo '<rss version="2.0">
<channel>
  <generator>Test</generator>
  <title>Test !</title> 
  <link>Test</link>
  <description>Test</description> 
  <language>fr</language>
  <lastBuildDate>'. $last_modified . '</lastBuildDate>
  <ttl>60</ttl>'."\n\n";
// on a envoye l'en-tête du fichier RSS, avec les champs essentiels. La variable $last_modified (date de l'item le plus récent), précise la "date de fraicheur" du flux entier.
 
// on va maintenant envoyer chaque item
foreach($items as $item)
 {
   echo 
'<item>
  <title>'.$item['title'].' - '.$item['news'].'</title>
  <link>http://www.serie-torrent.com/'.$item['url'].'</link>
  <guid isPermaLink="true">'.$item['url'].'</guid>
  <description>'.$item['creation'].' : '.$item['news'].'</description>
  <pubDate>'.$item['creation'].'</pubDate>
  <author>'.$item['createdby'].'</author>
</item>';
/* au cas ou vos contenus ne sont pas en UTF-8, il est bien sur indispensable de les convertir, par exemple :
  <title>'.utf8_encode($item['title']).'</title>
  <description>'.utf8_encode($item['contenu']).'</description>
*/
}
 
// et on termine le fichier 
echo '</channel>' . "\n" . '</rss>' . "\n";
?>
Il marche parfaitement dans mon logiciel RSSOwl ou dans firefox et IE !
Je voulais savoir comment il est possible de lier ce flux venant d'un fichier PHP au navigateur. J'ai chercher et je n'ai trouvé que ce bout de code qui permet de lier via un fichier xml, or je n'ai pas ce type de fichier qui se génère.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
<link rel="alternate" type="application/rss+xml" href="http://www.votresite.fr/rss.xml" title="Votre titre">
Merci d'avance pour votre aide, je débute et ai un peu de mal !!!