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.

Dans le même registre :

  1. Comment ajouter une feuille de style CSS à votre Flux RSS
  2. Customiser votre Page Facebook : Liste de vos derniers Tweets, Flux RSS de votre site, Youtube et page static en HTML
  3. Synchroniser ses comptes Twitter et Facebook avec le Flux RSS de son site internet
  4. WordPress version 3.3.2, une mise à jour de sécurité qui corrige 11 vulnérabilités
  5. Consignes de base et bonnes pratiques à suivre pour optimiser votre référencent Google

Réagir à l'article

tagArticle du même thême : , , ,

Faire un lien vers cet article sur votre site ou votre blog Copier / Coller le code ci-dessous

Une information complémentaire, une correction (orthographique ...), ou juste votre avis à donner ?
Venez en discuter juste en-dessous, c'est dans la partie commentaire que tout se passe.

N'hésitez pas aussi à nous suivre sur Twitter, Google+ ou encore Facebook.

  • 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 © 2011 | 41Mag. All rights reserved. Contact.
Integrated by Créa-troyes. Powered by WordPress.