Espace membre :
flechePublicité

// Comment insérer un flux XML sur mon site internet ?

Les flux XML sont des sortes de bases de données sous forme d'un fichier texte avec une norme d'écriture commune.
Il existe toute une série de logiciels qui permettent de les utiliser mais ce qui nous intéresse plus particulièrement ici est de les utiliser dans une page web.

 

Utilisation basique

Pour une utilisation basique et pour des sites de petite taille (avec peu de visiteurs), une solution basique s'offre à vous.
Son avantage est qu'elle est très facile à mettre en place. Son inconvénient est qu'elle n'est pas très douce avec les ressources du serveur d'hébergement (ni très douce avec les serveurs de Clubic).
En effet, elle va chercher les informations à chaque chargement de la page, ce qui n'est pas sans provoquer des ralentissements aux heures d'affluence.

Voici un exemple de code utilisable pour une telle insertion :

<?php
# Configuration

$fichier_xml = "http://www.clubic.com/articles.rss"; # Placez ici l'adresse du flux
$nombre_limite = 20; # Nombre maximum d'éléments à afficher

# Affichage du Flux
$raw = file_get_contents($fichier_xml);
if ($raw) {
if(eregi("<item>(.*)</item>",$raw,$rawitems)){
$items = explode("<item>", $rawitems[0]);
$nb = count($items);
$maximum = (($nb-1) < $nombre_limite) ? ($nb-1) : $nombre_limite;

for ($i=0;$i<$maximum;$i++) {
eregi("<title>(.*)</title>",$items[$i+1], $title);
eregi("<link>(.*)</link>",$items[$i+1], $link);
echo "- <a href=\"".$link[1]."\" target=\"_blank\">".$title[1]."</a><br />";

}
}
}
?>

Comme vous pouvez le remarquer, nous n'affichons que le titre et nous passons outre la date et d'autres renseignements utilisables. Vous pouvez bien évidemment modifier ce script pour l'adapter à ce que vous souhaitez afficher.

Cela donne le résultat ci dessous avec notre flux Actu:

- Sécurité routière : écouteurs interdits et déploiement de radars double face
- Equipements et 4G en voiture : Bpifrance injecte 56 millions d'euros
- Facebook Lite : une application allégée intégrant Messenger
- GO Sport Location permet de louer son propre matériel de sport
- L'imprimante reconditionnée voudrait s'imposer en entreprise
- Preview The Witcher 3 : on tient déjà le jeu de l'année ?
- HTC Desire 820 et 620 : de la concurrence pour le Moto G
- IBM s'apprête à organiser des licenciements
- Un concept pour recycler les pièces d'un smartphone modulable en composants de supercalculateur
- Netflix, CanalPlay, FilmoTV : tout le monde connaît mais peu utilisent
- SFR : hausse du tarif des offres ADSL double play, résiliez sans frais
- La PS4 20e Anniversaire n°00001 vendue 115 000 euros aux enchères
- Windows 10 : testez le nouveau moteur de Spartan au sein de la dernière pré-version
- NVIDIA évoque les soucis de mémoire sur ses GTX 970
- Astéroïde 2004 BL86 : le spectacle se passe aussi sur Internet
- Windows 10 : installez la dernière pré-version en français
- Android : pourquoi Google ne corrigera plus les vulnérabilités de WebView
- Logitech lance une solution de vidéoconférence tout-en-un
- Revue de Web : une maison qui a les boules !
- Sondage : qu'avez-vous pensé des annonces de Microsoft ?

Cela donne le résultat ci dessous avec notre flux logiciel :

- Ccleaner, Firefox, µtorrent... les dernières mises à jour de logiciels
- Interview : l'ex-PDG d'Opera lance Vivaldi, son navigateur sur Chromium
- Résultats Microsoft : Windows 10 pour relancer le marché du PC
- Windows 10 : testez le nouveau moteur de Spartan au sein de la dernière pré-version
- Windows 10 : installez la dernière pré-version en français
- Android : pourquoi Google ne corrigera plus les vulnérabilités de WebView
- Sondage : qu'avez-vous pensé des annonces de Microsoft ?
- Spotify sur iOS : Touch Preview et gestes facilitant les découvertes
- Spartan : Microsoft présente l'interface mobile et introduit EdgeHTML
- Acer C740 et C910 : de puissants Chromebook à processeurs Broadwell
- Microsoft Office 2016, pour le bureau, sera disponible cette année
- Debug : Windows 10, une opération séduction pour rattraper les sceptiques ?
- Windows 10 : de nouveaux smartphones haut de gamme en fin d'été
- Windows RT sera bien mis à jour, mais vers quel OS ?
- Samsung ne rachètera pas BlackBerry mais va s'en rapprocher
- MegaChat lancé en bêta, refonte et nouveau nom de domaine pour Mega
- WhatsApp lance une version Web de sa messagerie
- Windows 10 : gratuit depuis Windows 7 et 8.1, Cortana et Spartan confirmés
- Windows 10 : Microsoft détaille l'expérience sur smartphone et tablette
- Windows 10 : retrouvez toutes les annonces

 

Utilisation intelligente

Après avoir vu ces rudiments, des équipes de programmeurs ont eu la bonne idée de développer des outils permettant de prendre astucieusement avantage des flux XML en créant un composant d'intégration avec des caractéristiques plus intéressantes comme la mise en cache des fichiers XML (ainsi le serveur ne va plus à chaque fois chercher le fichier XML mais à des intervals réguliers).

Notre composant préféré du moment qui fait cela est MagPieRSS

Pour utiliser ce composant, voici un rapide tour d'horizon :
- Télécharger le composant sur son site officiel
- Le décompresser dans un répertoire de son site web (par exemple dans un répertoire "magpierss" situé à la racine du site)
- Créer un répertoire cache accessible en lecture et en écriture par le serveur web (en mettant une authorisation 777 par exemple). Par défaut, celui ci s'appelle \"cache\".

Pour l'utiliser ensuite, c'est simple, il suffit d'insérer ce bout de code dans vos pages :

<?php
require_once "magpierss/rss_fetch.inc"; // Chemin pour accéder au fichier rss_fetch.inc
$fichier_xml = "http://www.clubic.com/articles.rss"; \\ Adresse du flux XML

$rss = fetch_rss($fichier_xml);

echo $rss->channel['title'],"<br >\n";
foreach ($rss->items as $item ) {
$title = $item['title'];
$url = $item['link'];
echo "<a href=\"$url\">$title</a><br />\n";

}
?>

BE GEEK ! Avec Clubic Logo

flechePublicité