Accueil
Trucs & Astuces
Scripts
Regex
Annuaire
Articles
.
|
Articles Afficher les News de phpInfo.net sur votre site Par J-Pierre DEZELUS
Août 2000
» Introduction » Méthode n°1 - Code JavaScript » Méthode n°2 - Parser un fichier texte » Exemple de script PHP pour parser les news phpInfo.net » Méthode n°3 - Parser un fichier RDF/RSS (XML)
Vous avez maintenant la possibilité d'afficher les news de phpInfo.net sur votre propre site Web. Pour cela, je vous propose 2 méthodes, qui s'inspirent très largement des informations données par LinuxFr dans son espace dédié aux Webmasters.
- En insérant un code JavaScript dans vos pages
- En 'parsant' un fichier texte fourni par phpInfo.net
La 1ère méthode est la plus simple à mettre en oeuvre. Elle consiste simplement à insérer la balise JavaScript suivante dans vos pages html/php.
<SCRIPT SRC="http://www.phpinfo.net/news-phpinfo/news-phpinfo.php3"></SCRIPT>
|
|
Ce code affiche dynamiquement les 10 dernières news en provenance de phpInfo.net. Voici ce que vous obtiendrez :
Voici sur une page HTML vierge ce que donne l'insertion du script :
Exemple
La deuxième méthode demande un peu de programmation puisqu'elle consiste à 'parser' un fichier texte disponible sur phpInfo.net.
Ce fichier texte est situé à l'adresse suivante http://www.phpinfo.net/news-phpinfo/news-phpinfo.txt et contient les news sous la forme suivante :
%%
11-09-2002
La fin de MySQL-Front ?
http://www.phpinfo.net/?p=commentaires&rub=news_phpinfo&id=612&id_comm=0
boite-outils.gif
%%
11-09-2002
Les Infos du Web s'étoffent
http://www.phpinfo.net/?p=commentaires&rub=news_phpinfo&id=611&id_comm=0
journaux.gif
%%
11-09-2002
En attendant les défis phpInfo
http://www.phpinfo.net/?p=commentaires&rub=news_phpinfo&id=610&id_comm=0
trophee.gif
%%
08-09-2002
L'éléphpant à la conquête de l'Amérique !
http://www.phpinfo.net/?p=commentaires&rub=news_phpinfo&id=609&id_comm=0
elephpant.gif
%%
06-09-2002
Sortie de PHP 4.2.3
http://www.phpinfo.net/?p=commentaires&rub=news_phpinfo&id=608&id_comm=0
logo-php4.gif
%%
06-09-2002
PHPCon 2002
http://www.phpinfo.net/?p=commentaires&rub=news_phpinfo&id=607&id_comm=0
phpcon.gif
%%
06-09-2002
Boomtchak disparaît, ... ZoneSuivante renaît
http://www.phpinfo.net/?p=commentaires&rub=news_phpinfo&id=606&id_comm=0
globe.gif
%%
29-08-2002
Synthèse de l'actualité PHP du mois d'août
http://www.phpinfo.net/?p=commentaires&rub=news_phpinfo&id=605&id_comm=0
journaux.gif
%%
26-07-2002
PHP Journal
http://www.phpinfo.net/?p=commentaires&rub=news_phpinfo&id=604&id_comm=0
journaux.gif
%%
22-07-2002
Vulnérabilité dans PHP 4.2.0 et 4.2.1
http://www.phpinfo.net/?p=commentaires&rub=news_phpinfo&id=603&id_comm=0
logo-php4.gif
|
|
L'avantage de cette méthode sur la précédente est qu'elle vous permet de personnaliser totalement la façon dont vous afficherez les news (en choisissant vous-même le code HTML à faire générer par PHP).
La section suivante vous donne un exemple de script permettant de parser ce fichier texte.
Ce que donnera ce script s'il n'est pas modifié : Exemple
Ce script a initialement été écrit par Kalle Kiviaho, puis modifié par Jean-Sébastien GOETSCHY pour LinuxFr. Je l'ai à mon tour repris pour l'adapter à phpInfo.net.
Le fichier news-phpinfo/parse-phpinfo.php3 :
<?
// ------------------------------------------------------------- // Fichier: parse-phpinfo.php3 // Version: 1.0 // Auteur: Jean-Pierre DEZELUS <jpdezelus@phpinfo.net> // Dern Modif: 04 août 2000 // Site: http://www.phpinfo.net/ // ------------------------------------------------------------- // // Pour insérer les news de phpinfo.net placer la ligne // suivante dans vos scripts php : // // include("parse-phpinfo.php3"); // // ------------------------------------------------------------- // Note: basé sur linuxfr.php3 0.0.3 // Auteur: Jean-Sébastien GOETSCHY - goetschy@agat.net // Dern Modif: 07 février 2000 // Site: http:/www.agat.net/ // ------------------------------------------------------------- // Note: basé sur newsbackend interfaces 2.0.4 // Author: Kalle Kiviaho - kivi@chl.chalmers.se // Lastmod: 1999-09-09 // Homepage: http:/swamp.chl.chalmers.se/backends/ // -------------------------------------------------------------
// ------------------------------------------------------------- // Variables de Configuration // ------------------------------------------------------------- $source = "news-phpinfo.txt";
$prefixe_lien = "o"; $suffixe_lien = "<BR>\n"; $fichier_cache = "news-phpinfo.cache.php3"; $duree_cache = 3600; // en secondes $target = "_blank";
// -------------------------------------------------------------
$time = split(" ", microtime()); srand((double)microtime()*1000000); $duree_cache_rnd = 300 - rand(0, 600);
$ok = true;
if ((!(file_exists($fichier_cache))) || ((filectime($fichier_cache)+$duree_cache-$time[1])+$duree_cache_rnd < 0) || (!(filesize($fichier_cache)))) {
$fSource = @fopen($source, 'r'); if (!$fSource) { echo "Impossible d'ouvrir la source (".$source.")<BR>\n"; $ok = false; } else {
$fCache = fopen($fichier_cache, 'w');
if (!$fCache) { echo "Impossible de créer le cache (".$fichier_cache.")<BR>\n"; $ok = false;
} else {
while(! feof($fSource)) { $buffer = chop(fgets($fSource, 256));
if ($buffer == "%%") {
$date = chop(fgets($fSource, 256)); $titre = chop(fgets($fSource, 256)); $lien = chop(fgets($fSource, 256)); $image = chop(fgets($fSource, 256));
if ($titre != "") { $item = $prefixe_lien." ".$date; $item .= " <A HREF='".$lien."' TARGET='".$target."'>".$titre."</A>"; $item .= $suffixe_lien; fputs($fCache, $item); }
} } fclose($fCache);
} fclose($fSource); } }
if ($ok && file_exists($fichier_cache)) include($fichier_cache);
?>
|
|
» Télécharger le fichier parse-phpinfo.php3 : [zip] [tar.gz]
Cette nouvelle méthode qui demande aussi un peu de programmation s'appuie sur le langage XML et le format RDF/RSS (Rich Site Summary), un format imaginé par Netscape pour le concept de channel sur My Netscape Netcenter (MNN) et qui tend à se généraliser. Ce format est particulièrement adapté à la publication de nouvelles.
Le fichier à 'parser' est disponible à l'adresse suivante http://www.phpinfo.net/news-phpinfo/news-phpinfo.rss et contient les news sous la forme suivante :
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN"
"http://my.netscape.com/publish/formats/rss-0.91.dtd">
<rss version="0.91">
<channel>
<title>phpInfo.net</title>
<link>http://www.phpinfo.net/</link>
<description>Le site d'information PHP / MySQL</description>
<language>fr</language>
<image>
<title>phpInfo.net</title>
<url>http://www.phpinfo.net/images/phpinfo-button.gif</url>
<link>http://www.phpinfo.net/</link>
<width>88</width>
<height>31</height>
</image>
<item>
<title>La fin de MySQL-Front ?</title>
<link>http://www.phpinfo.net/?p=commentaires&rub=news_phpinfo&id=612</link>
</item>
<item>
<title>Les Infos du Web s'étoffent</title>
<link>http://www.phpinfo.net/?p=commentaires&rub=news_phpinfo&id=611</link>
</item>
<item>
<title>En attendant les défis phpInfo</title>
<link>http://www.phpinfo.net/?p=commentaires&rub=news_phpinfo&id=610</link>
</item>
<item>
<title>L'éléphpant à la conquête de l'Amérique !</title>
<link>http://www.phpinfo.net/?p=commentaires&rub=news_phpinfo&id=609</link>
</item>
<item>
<title>Sortie de PHP 4.2.3</title>
<link>http://www.phpinfo.net/?p=commentaires&rub=news_phpinfo&id=608</link>
</item>
<item>
<title>PHPCon 2002</title>
<link>http://www.phpinfo.net/?p=commentaires&rub=news_phpinfo&id=607</link>
</item>
<item>
<title>Boomtchak disparaît, ... ZoneSuivante renaît</title>
<link>http://www.phpinfo.net/?p=commentaires&rub=news_phpinfo&id=606</link>
</item>
<item>
<title>Synthèse de l'actualité PHP du mois d'août</title>
<link>http://www.phpinfo.net/?p=commentaires&rub=news_phpinfo&id=605</link>
</item>
<item>
<title>PHP Journal</title>
<link>http://www.phpinfo.net/?p=commentaires&rub=news_phpinfo&id=604</link>
</item>
<item>
<title>Vulnérabilité dans PHP 4.2.0 et 4.2.1</title>
<link>http://www.phpinfo.net/?p=commentaires&rub=news_phpinfo&id=603</link>
</item>
<textinput>
<title>Rechercher</title>
<description>Rechercher sur phpInfo.net</description>
<name>q</name>
<link>http://www.phpinfo.net/?p=chercher</link>
</textinput>
</channel>
</rss>
|
|
Pour parser ce type de fichier vous pouvez utiliser la classe smartRDF écrite par Jean-Luc Nail et proposée sur son site PHPClassRoom.
Autres liens ...
» RDF Site Summary (RSS) 1.0 » RSS Info
|
|