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:

- Google et HTC s'apprêteraient à lever le voile sur le Nexus 9
- Microsoft offre 30 Go de OneDrive aux utilisateurs d'iOS 8, mais aussi à tous les autres
- Rachat de T-Mobile US : Iliad devrait trancher à la mi-octobre
- N'attendez pas le prochain Windows pour retrouver le menu démarrer
- N'attendez pas le prochain Windows pour retrouver le menu démarrer
- Sondage : quel est votre avis sur Netflix France ?
- Revue de Web : Vous connaissez l'histoire de paf l'iPhone 6 ?
- On Refait le Mac : premières impressions sur l'iPhone 6
- Live Japon: Sony avoue l'aveuglement et présente des lunettes-écrans
- Infos US de la nuit : Alibaba valorisé 225 milliards de dollars à Wall Street
- Clubic Week 2.0 : en panne d'idées, Microsoft se lance dans la brique
- La semaine de Flock est élémentaire, mon cher Watson !
- Présentation vidéo iPhone 6 et iPhone 6 Plus VS iPhone 5S : les différences
- Leica M, S et X : télémétrique sans écran, moyen format 4K et compact expert
- Netflix abandonnera Silverlight et s'invitera sur Linux en natif
- Le Zap de Clubic n°11 : iPhone 6, Canon 7D Mark II et Blackberry
- Les "Shazam du e-commerce" sont-ils un simple effet de mode ?
- NVIDIA GeForce GTX 970/980 : les références pleuvent
- iCloud Drive est désormais disponible sur Windows
- iPhone 6 (Plus) : 1 Go de mémoire vive et capacité batterie confirmés

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

- N'attendez pas le prochain Windows pour retrouver le menu démarrer
- N'attendez pas le prochain Windows pour retrouver le menu démarrer
- Microsoft propose sa bibliothèque de reconnaissance de texte aux développeurs
- Windows Phone 7.8 sera pris en charge jusqu'au 14 octobre
- Sécurité : Android L chiffrera les données par défaut
- Microsoft Office 16 se dévoile en images avec un thème sombre
- Emploi informatique : quand les SSII font du pied aux BTS
- iOS 8 en vidéo : le tour des nouveautés en 2'30 !
- OS X Mavericks 10.9.5 : Safari 7.0.6 et correctifs pour les VPN et SMB
- BitTorrent Bleep : la messagerie privée passe en alpha publique
- iOS 8 : le dossier sur Clubic
- iOS 8 : le changement dans la Continuité
- iOS 8 est disponible, mais faut-il mettre à jour ?
- Le jeu gratuit du mercredi : avec bombes et fracas
- Internet Explorer 12 : le navigateur accueillera-t-il enfin des extensions ?
- Adobe maintient sa stratégie cloud mais publie de mauvais résultats
- Gestion des comptes bancaires : faut-il faire confiance aux applications tierces ?
- iTunes : un chiffre d'affaires estimé à 2 milliards d'euros pour l'Europe
- Huawei abandonne ses projets sur Windows Phone
- Yahoo scanne les emails pour la recommandation d'applications

 

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é