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:

- Clubic Week 2.0 : t'es opérateur mais t'as pas de débit, allô ?
- La semaine de Flock décapite l'actu !
- Ordinateur NeXT Cube en vidéo : découvrez le premier serveur Web au monde !
- Avatar 2 en HFR au cinéma, mais finalement pas en vidéo
- Weezevent, la start-up au taux de croissance fou de 43 202%
- A quelles conditions une demande de droit à l'oubli sera acceptée ?
- Panasonic LX100 : le plus perfectionné des compacts
- Panasonic LX100 : le plus perfectionné des compacts
- Guide d'achat Noël : la rédaction vous donne ses idées
- Vie privée : le Royaume-Uni souhaite davantage de transparence des réseaux sociaux
- Apple Watch : les fonctionnalités d'origine détaillées
- Star Wars Episode VII : premier teaser officiel en ligne
- Black Friday : Clubic vous propose les meilleurs bons plans
- Sondage : votre Noël sera-t-il hi-tech ?
- UberPOP saura le 12 décembre s'il peut continuer en France
- Infographie : pourquoi les Français boudent la fibre optique
- Deux étudiants organisent le hackathon le plus "débile" du monde
- Facebook : publier un message contestant des CGU ne les annule toujours pas
- La Classe américaine : des ouiches et des LOLs
- Android Lollipop (5.0) : les nouveautés en images

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

- Navigateurs : Yandex tente d'innover sur l'interface utilisateur
- Windows Phone : le Lumia 520 représente désormais un tiers du marché en France
- Windows 10 : une Consumer Preview pour le mois de janvier ?
- Le Meizu MX4 sur Ubuntu serait prévu pour le 1er trimestre 2015
- Windows 10 sautera du numéro de version 6.3 à 10.0, quid de la compatibilité ?
- Chrome bloquera par défaut les plugins Silverlight, Java et Unity en janvier
- Spotify, n°1 mondial du streaming musical, est toujours en perte
- CCleaner 5.0 : nouvelle interface et performances optimisées
- Firefox : Mozilla présente la nouvelle interface de recherche
- Messagerie : Samsung jette l'éponge et ferme ChatOn
- Recherche : Microsoft et Yahoo! courtisent Apple pour être installés par défaut sur iOS
- Mozilla affiche des revenus de 314 millions de dollars en 2013
- Films et séries : les logiciels gratuits pour mieux en profiter
- Films et séries : les logiciels gratuits pour mieux en profiter
- Windows 10 Store : les pros pourront s'y créer un espace privé
- Satya Nadella : une paie de 91 millions jugée trop élevée
- Google restera par défaut sur Firefox en Europe mais sur quels accords ?
- Qobuz : streaming lossless sur le Web, forfait 24 bits et nouvelles applications
- Brevets : Google signe un accord avec Rockstar (Microsoft, Apple, BlackBerry, Sony)
- Dropbox porte son application Carousel sur le Web et sur tablettes

 

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é