Kommunauty
Connexion
Inscription

Créer un flux RSS pour son site

le 18 mai 2009 • Programmation • par Dawlin

Nous vons vu précédemment comment lire un flux RSS, mais maintenant vous êtes webmaster, et vous voulez créer un flux RSS pour vos internautes. C'est presque extrêmement simple, vous n'avez qu'à suivre ce tutoriel.

Pour développer il vous faut

  • Votre base de données qui stocke les infos qui seront dans le RSS (news, livre d'or...)
  • Un éditeur de texte qui colore le PhP (ou pas, le bloc-note est bien aussi, mais c'est mieux)
  • Des petites bases en PhP

La structure

Alors, tout d'abord, je vais vous parler de la structure. Un RSS, c'est un xml, avec (en gros) une structure comme ça


/*
Infos de départ (= CECI EST UN RSS)
*/

<news>
<titre>Salut les cocos</titre>
<contenu>
Ceci est un contenu
</contenu>
<date>Mais on s'en fout</date>
</news>

/*
Fin du RSS
*/

Donc, je vais vous balancer un peu de code comme ça cash, que vous n'aurez qu'à recopier au début de votre fichier rss.php :


<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="updates.xslt" ?>
<rss version="2.0">
    <channel>
   
        <title>Les news de mon site en RSS !!</title>
        <link>http://www.mon-site.com</link>
        <description>Ici vous trouverez les news de mon site</description>

Les deux premières lignes sont là pour vous dire que le flux est encodé en ISO-8859-1 (si vous ne savez pas ce que c'est, laissez), la deuxième quand à elle vous fera la mise en page de votre XML... parce que il faut qu'on reconnaisse que c'est un RSS, que quand on aille dessus ça fasse ça :

Je vous donne donc une page de mise en forme toute faite, disponible sur le site de quelqu'un qui l'a rédigé... updates.xslt

Vous la copiez tranquille à côté de votre page rss.php, et tout va bien !

C'est à partir de là qu'on va commencer à coder (changer les informations de type "titre", "description" etc...).

donc c'est simple. On a une boucle PhP qui récupère des données, et qui les écrits pour faire style que c'est un XML.


<?php

//on se connecte (tranquille, vous savez faire)
error_reporting(0);
mysql_connect("localhost","login","mot_de_passe");//connection
mysql_select_db("base_de_donnes"); // Sélection de la base

//On sélectionne les 10 derniers messages de la table "news"
$query = "SELECT titre, message, date FROM news ORDER by date DESC LIMIT 0 , 10";
$req = mysql_query($query);

//On fait Une boucle qui va nous marquer toutes les données
while($r = mysql_fetch_array($req))
{
?>
        <item>
            <title><?php print $r["titre"]; ?></title>
            <link>http://www.mon-site.com/permalien</link>
            <guid isPermaLink="true">http://www.mon-site.com/permalien</guid>
            <description><?php print $r["message"]; ?></description>
            <pubDate><?php print $r["date"]; ?></pubDate>
        </item>
       
<?php
//fin de la boucle, puis fin du XML
}
?>
    </channel>
</rss>

Voilà, c'est un peu complexe et mal expliqué, je vous l'accorde, mais vous y arriverez très bien... Sinon pour plus de compréhension, vous pouvez aussi visiter un autre tutoriel très bien fait : sebsauvage



  
3 commentaires

Ca m'affiche une page blanche

Mon code :

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="updates.xslt" ?>
<rss version="2.0">
    <channel>
<?php
include('./inc/dbconnect.php');

//on se connecte (tranquille, vous savez faire)
error_reporting(0);

//On sélectionne les 10 derniers messages de la table "news"
$query = "SELECT titre, contenu, date FROM news ORDER by date DESC LIMIT 0 , 10";
$req = mysql_query($query);

//On fait Une boucle qui va nous marquer toutes les données
while($r = mysql_fetch_array($req))
    {
?>
        <item>
            <title><?php print $r["titre"]; ?></title>
            <link>http://twinbox.fr.cr/articles.php?id=<?php print $r["id"]; ?></link>
            <guid isPermaLink="true">http://twinbox.fr.cr/articles.php?id=<?php print $r["id"]; ?></guid>
            <description><?php print $r["contenu"]; ?></description>
            <pubDate><?php print $r["date"]; ?></pubDate>
        </item>
       
<?php
//fin de la boucle, puis fin du XML
}
?>
    </channel>
</rss>
le 6 juillet 2011

Je crois que tu as loupé les entêtes du RSS, ça peut être ça, il faut placer ceci :


 <title>Les news de mon site en RSS !!</title>
        <link>http://www.mon-site.com</link>
        <description>Ici vous trouverez les news de mon site</description>

Après l'ouverture de Channel pour nommer le RSS C'est peut-être ça

le 6 juillet 2011

Bonjour,

Je suis perdu dans les structure des pages :

- création page rss.php avec script xml pour le flux rss?

- page affichage des news?

le 23 mai 2013



Ajoute un commentaire !

Ajouter une image... Trouvée sur internet » De mon PC »
Adresse URL :
Adresse de la page de la vidéo :
Taille du texte :
Couleur du texte :

Article lu 6269 fois.