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:

- Nokia revend Here à Audi, BMW et Mercedes pour 2,8 milliards d'euros (maj)
- Revue de Web : Aucune chips ne résiste à un bon son !
- Votre avis spécial Gamescom : qu'attendez-vous du salon ?
- Windows 10 : les dix logiciels gratuits indispensables
- Windows 10 : les dix logiciels gratuits indispensables
- Windows 10 : nos conseils pour l'installation
- Sondage : qu'avez-vous pensé du lancement de Windows 10 ?
- Bitcoin : Mark Karpelès, le patron français de MtGox, arrêté au Japon
- Infos US de la nuit : Uber valorisé 51 Milliards de dollars
- Street View : les voitures "reniflent" désormais la pollution
- Tuto Windows 10 : modifier le navigateur Web par défaut
- Samsung Pay s'invitera en Europe avec MasterCard
- Asus UX501 : le test d'un portable (presque) polyvalent
- Asus UX501 : une belle machine au souffle trop court
- Internet pour tous : les projets de Facebook et Google décollent
- Windows 10 : quelles nouveautés pour demain ?
- NVIDIA rappelle ses tablettes Shield
- Les armes connectées ne sont pas à l'abri des hackers
- Windows 10 Entreprise disponible gratuitement durant 90 jours
- La PS4 se vend beaucoup plus que la Xbox One

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

- Windows 10 : les dix logiciels gratuits indispensables
- Windows 10 : les dix logiciels gratuits indispensables
- Windows 10 : nos conseils pour l'installation
- Sondage : qu'avez-vous pensé du lancement de Windows 10 ?
- Infos US de la nuit : Uber valorisé 51 Milliards de dollars
- Tuto Windows 10 : modifier le navigateur Web par défaut
- Windows 10 : quelles nouveautés pour demain ?
- Windows 10 Entreprise disponible gratuitement durant 90 jours
- Mozilla : Windows 10 limite les choix du navigateur
- Windows 10 : 14 millions d'installations en 24 heures
- Android : une autre faille peut rendre la moitié des smartphones inopérants
- Windows 10 : le préchargement a commencé, prêt pour la mise à jour ?
- Windows 10 : on a trollé Cortana ! (vidéo)
- Windows 10 Mobile : Microsoft liste les premiers terminaux compatibles
- GitHub : le spécialiste du développement collaboratif lève 250 millions de dollars
- Windows Store sur smartphones : les chiffres de téléchargement
- Windows 10 : le point sur la compatibilité matérielle et logicielle (màj)
- Yahoo! Livetext une messagerie combinant le texte à la vidéo, sans le son (Maj)
- Windows 10 en test : la réconciliation ?
- Windows 10 en test : la réconciliation ?

 

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é