41Mag - Script Php – Mise à jour automatique du Flux RSS depuis votre Base de données

Script Php – Mise à jour automatique du Flux RSS depuis votre Base de données

Nous allons créer un script Php qui permettra de mettre à jour le Flux RSS de notre site internet. Ce script devra donc être capable de se connecter à la base de données du site, récupérer les infos d’un article ou d’un produit dont nous aurons besoins (Titre, date, contenue, etc …) et le retranscrire en créant un fichier XML capable d’être lu par les agrégateur RSS. Pour commencer nous allons découvrir ou re-découvrir l’architecture d’un Flux RSS à travers son fichier XML. Un flux RSS est donc uniquement un fichier XML.

Quel est la syntaxe d’un Flux RSS en XML ?

<?xml version="1.0" ?>
<rss version="2.0">
 <channel>
   <title>Titre du site</title>
   <link>http://www.adresse-du-site.fr/</link>
   <description>Description du site ...</description>
   <item>
     <title>Titre du dernier article</title>
     <link>http://www.adresse-du-site.fr/dernier.html</link>
     <description>Description du dernier article</description>
   </item>
   <item>
     <title>titre de l'avant dernier article</title>
     <link>http://www.adresse-du-site.fr/avant-dernier.html</link>
     <description>Description de l'avant dernier article</description>
   </item>
 </channel>
</rss>

Il ne vous reste qu’a changer les textes imbriqué entre les balises.

Nous allons maintenant passer au script Php qui devra parser un fichier XML – En informatique, parser signifier créer un fichier dans un langage précis. On parse donc un fichier XML dans notre exemple.

Création du script Php

Le scritp va être découpé en trois étape. La premiere consistera a créer l’en-tête du document XML, la seconde sera dedié à la boucle Php allant cherche les X derniers articles quant à la troisieme elle servira à créer le fichier par rapport au informations recuperer dans les deux premiere  etapes.

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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
	$corps_flux_rss_en_xml .= '';
	$corps_flux_rss_en_xml .= '';
	$corps_flux_rss_en_xml .= '';
	$corps_flux_rss_en_xml .= '
http://www.adresse-du-site.fr';
	$corps_flux_rss_en_xml .= 'Description du Flux de votre site';
 
	///   MANIPULATION DE FICHIER
        ///   Nous supprimons l'ancien fichier XML servant de flux RSS
        ///   pour en créer un nouveau qui sera mis à jour
	unlink('../flux_rss.xml');
        ///   Indiquer l'adresse de votre flux Rss par rapport a
        ///   la racine de votre site
 
        ///  Etape 2 - Boucle de récupération des X derniers articles ou produit
        ///  Dans cet exemple, nous récupérons les dix derniers articles
 
        /// Connexion a la base de données de votre site
	$reponse = mysql_query('SELECT * FROM nom_table WHERE ORDER BY id DESC LIMIT 0,10');
	///  Dans cet exemple nous trions les articles par leur id
 
	///  Debut de la boucle
	while ($donnees = mysql_fetch_array($reponse))
		{
			$corps_flux_rss_en_xml .= '';
			$corps_flux_rss_en_xml .= '';
 
			/// Remplacer la variable 'titre' par celle de votre
                        ///  base de donne correspondante
			$titre = stripslashes($donnees['titre']);
 
                        ///  on retire tout les accents les plus courant
			$titre = str_replace('é', 'e', $titre);
			$titre = str_replace('è', 'e', $titre);
			$titre = str_replace('à', 'a', $titre);
			$titre = str_replace('ê', 'e', $titre);
			$titre = str_replace('ô', 'o', $titre);
			$titre = str_replace('ù', 'u', $titre);
 
			$corps_flux_rss_en_xml .= $titre;
 
			$corps_flux_rss_en_xml .= '';
			$corps_flux_rss_en_xml .= '
';
			$corps_flux_rss_en_xml .= 'http://www.adresse-du-site.fr/adresse-de-larticle';
			$corps_flux_rss_en_xml .= '';
			$corps_flux_rss_en_xml .= '';
 
			/// Remplacer la variable 'resume' par celle de votre
                        ///  base de donne correspondante
                        $resume = stripslashes($donnees['resume']);
 
                        ///  on retire tout les accents les plus courant
			$resume = str_replace('é', 'e', $resume);
			$resume = str_replace('è', 'e', $resume);
			$resume = str_replace('à', 'a', $resume);
			$resume = str_replace('ê', 'e', $resume);
			$resume = str_replace('ô', 'o', $resume);
			$resume = str_replace('ù', 'u', $resume);
 
			$corps_flux_rss_en_xml .= $resume;
			$corps_flux_rss_en_xml .= '';
 
			$corps_flux_rss_en_xml .= '';
		}
        ///  Fin de la boucle
 
	///  Fermeture des balise XML
	$corps_flux_rss_en_xml .= '';
       ///  La variable contenant le fichier XML est entiere
 
	///   Etape 3 : CREATION DU FICHIER XML
        ///  et insertion des donnees contenue dans la variable
	touch('../flux_rss.xml');
	$monfichier = fopen('../flux_rss.xml', 'r+');
	fputs($monfichier, $corps_flux_rss_en_xml);
	fclose($monfichier);

Voila, notre script de mise à jour du Flux RSS est prêt à l’emploi.

Article du même thême : ...

  • KIKI

    ou est ce qu’on insere le script PHP ? dans fonctions.php?
    J’ai creer manuellement mon flux rss en creer un fichier rss.xml comme indiqué ci dessus..va t’il s’actualiser si je creer de nouveaux articles?

    • KIKI

      je doit preciser que je travaille avec wordpress..

Copyright © 2013 | 41Mag. All rights reserved. Contact.
Integrated by Créa-troyes. Powered by WordPress.