| |
Savez-vous bien utiliser les outils de mesure d'audience ? Effectuez-vous un calcul de ROI (Retour sur investissement) pour savoir comment améliorer vos campagnes emarketing ? Savez-vous utiliser les bons outils pour booster votre taux de transformation ? La formation Web Analytics de Ranking Metrics, présentée par un expert reconnu officiellement par Google Analytics, vous apportera les réponses à toutes vos questions ! ===> Informations et inscriptions.
|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
cheloniologue WRInaute impliqué

Inscrit le: 08 Fév 2006 Messages: 276
|
Posté le : Mer Jan 02, 2008 11:08 Sujet du message: Comment faire apparaitre les news Yahoo en contenu dynamique |
|
|
Bonjour à tous
Tout d'abord bonne année 2008 en vous souhaitant à tous prospérité sur le net
Voilà mon problème, J'en ai marre de prendre les news yahoo sur un sujet que je reçois par email et que je tape une a une tout les mois.
Je cherche un moyen de faire apparaitre en contenu dynamique de façon automatique sur mon site internet.
Je sais pas trop où m'orienter pour trouver un script ... une page explication ..? un moyen spécifique ?
Pourriez vous m'aider ?
D'avance je vous remercie
G.Bruno |
|
| |
|
 |
UsagiYojimbo WRInaute accro

Inscrit le: 23 Nov 2005 Messages: 2460 Localisation: Lyon, capitale des Gaules
|
Posté le : Mer Jan 02, 2008 11:15 Sujet du message: Comment faire apparaitre les news Yahoo en contenu dynamique |
|
|
Tu peux récupérer le flux RSS de Yahoo News et l'afficher sur ton site après l'avoir parsé, en utilisant par exemple MagpieRSS :
http://fr.news.yahoo.com/rss/ |
|
| |
|
 |
cheloniologue WRInaute impliqué

Inscrit le: 08 Fév 2006 Messages: 276
|
Posté le : Mer Jan 02, 2008 12:10 Sujet du message: Comment faire apparaitre les news Yahoo en contenu dynamique |
|
|
J'ai aussi entendu parlé de lamooche ... ou un truc dans le genre ... qu'en pensez vous ?
Merci pour ton intervention ... je vais jeter un oeil  |
|
| |
|
 |
Koxin-L WRInaute accro

Inscrit le: 29 Mar 2007 Messages: 1926
|
Posté le : Mer Jan 02, 2008 14:21 Sujet du message: Comment faire apparaitre les news Yahoo en contenu dynamique |
|
|
| cheloniologue a écrit: |
J'ai aussi entendu parlé de lamooche ... ou un truc dans le genre ... qu'en pensez vous ? |
Non, c'est bien ça... Mais ajouteencore un o
C'est un excellent annuaire de Flux RSS.
Par contre, je préfère utiliser les flux direct que de passer par lamoooche. |
|
| |
|
 |
cheloniologue WRInaute impliqué

Inscrit le: 08 Fév 2006 Messages: 276
|
Posté le : Mer Jan 02, 2008 14:29 Sujet du message: Comment faire apparaitre les news Yahoo en contenu dynamique |
|
|
Quel en est l'inconvénient ?
 |
|
| |
|
 |
UsagiYojimbo WRInaute accro

Inscrit le: 23 Nov 2005 Messages: 2460 Localisation: Lyon, capitale des Gaules
|
Posté le : Mer Jan 02, 2008 14:33 Sujet du message: Comment faire apparaitre les news Yahoo en contenu dynamique |
|
|
| cheloniologue a écrit: |
Quel en est l'inconvénient ?
 |
Il y en a plusieurs :
1) tu ne gère pas les fréquences de mise à jour
2) si lamoooche est indisponible, tu n'as plus d'accès directement au flux
Perso je préfère faire comme Koxin-L, aller chercher moi-même le flux d'origine (et soit recréer ensuite le fichier xml en local, où le sauvegarder en base de donnée, de manière à me prémunir de toute indisponibilité sur le site distant). |
|
| |
|
 |
cheloniologue WRInaute impliqué

Inscrit le: 08 Fév 2006 Messages: 276
|
Posté le : Mer Jan 02, 2008 14:49 Sujet du message: Comment faire apparaitre les news Yahoo en contenu dynamique |
|
|
Y'aurait il un tuto d'installation ??? (une page web d'explication ??)
D'avance merci à vous deux |
|
| |
|
 |
Victor BRITO WRInaute impliqué

Inscrit le: 21 Déc 2006 Messages: 423 Localisation: 92200 Neuilly-sur-Seine
|
Posté le : Mer Jan 02, 2008 15:53 Sujet du message: Comment faire apparaitre les news Yahoo en contenu dynamique |
|
|
Si tu peux faire du PHP 5, tu peux utiliser SimpleXML.
Un exemple :
| Code: |
<?php
// Chargement du flux RSS
$xml = simplexml_load_file ('http://fr.news.yahoo.com/rss/');
// On récupère tous les éléments item
$item = $xml -> channel -> item;
// Affichage des entrées (titre, résumé, lien et date)
foreach ($item as $valeur)
{
// Formatage de la date
// Conversion du format RSS 2.0 au format timestamp Unix
$timestamp = strtotime ((string) $valeur -> pubDate);
// Conversion du timestamp Unix en date compréhensible par un humain
setlocale (LC_TIME, 'fr_FR');
$date = strftime ('%A %e %B %Y à %Hh%M', $timestamp);
// Sous Windows, remplacer les deux lignes ci-dessus par celles-ci
setlocale (LC_TIME, 'fra');
$date = strftime ('%A %d %B %Y à %Hh%M', $timestamp);
?>
<h2><?php echo htmlspecialchars ((string) $valeur -> title, ENT_COMPAT, 'UTF-8') ?></h2>
<p><?php echo htmlspecialchars ((string) $valeur -> description, ENT_COMPAT, 'UTF-8') ?></p>
<p>Publié le <?php echo $date ?> - <a href="<?php echo $valeur -> link ?>">Lire la suite</a></p>
<?php
}
?>
|
|
|
| |
|
 |
cheloniologue WRInaute impliqué

Inscrit le: 08 Fév 2006 Messages: 276
|
Posté le : Mer Jan 02, 2008 19:30 Sujet du message: Comment faire apparaitre les news Yahoo en contenu dynamique |
|
|
Cela reste encore du chinois mais merci pour cet aide ....
Connaissez vous une page d'explication de qualité ? Etape par etape ...
D'avance je vous en remercie
Bien cordialement |
|
| |
|
 |
darkjukka WRInaute impliqué

Inscrit le: 28 Avr 2007 Messages: 311
|
|
| |
|
 |
zeb WRInaute accro

Inscrit le: 05 Déc 2004 Messages: 1002
|
Posté le : Mer Jan 02, 2008 21:15 Sujet du message: Comment faire apparaitre les news Yahoo en contenu dynamique |
|
|
| Victor BRITO a écrit: |
Si tu peux faire du PHP 5, tu peux utiliser SimpleXML.
Un exemple :
| Code: |
<?php
// Chargement du flux RSS
(...)
<?php
}
?>
|
|
@victor dans ton exemple comment fais tu pour acceder l'url quand le flux se presente sous cette forme :
| Citation: |
<item>
<media:content url="http://d.yimg.com/eur.yimg.com/ng/ne/zonenumerique/20080102/19/1108511164-optimus-tactus-clavier-polymorphe-dalle-tft-tactile.jpg" height="75" width="90"></media:content>
<title><![CDATA[Optimus Tactus: clavier polymorphe à dalle TFT tactile]]></title>
(...)
<media:credit role="publishing company">Zone Numérique</media:credit>
</item> |
j'ai cherché dans la php doc mais je sèche lamentablement. le flux est ici au cas ou ... -http://fr.news.yahoo.com/rss/fc/hardware.xml |
|
| |
|
 |
Victor BRITO WRInaute impliqué

Inscrit le: 21 Déc 2006 Messages: 423 Localisation: 92200 Neuilly-sur-Seine
|
Posté le : Jeu Jan 03, 2008 19:13 Sujet du message: Comment faire apparaitre les news Yahoo en contenu dynamique |
|
|
Pour les éléments qui utilisent un préfixe, il faut passer par la méthode children () en indiquant comme paramètre l'espace de nom de ces élements (en gros, la valeur de l'attribut xmlns:prefixe pour les éléments dont le nom commence par prefixe:).
Dans ton cas, il s'agit des éléments à préfixe media:, dont l'espace de nom est renseigné par l'attribut xmlns:media de l'élément racine du fil RSS (pour info, l'élément racine est rss et l'espace de nom cherché est http://search.yahoo.com/mrss/). Étant donné que les éléments media:content sont vides (Yahoo! aurait pu les coder sous la forme "<media:content />" ), seuls ses attributs nous intéressent, auxquels on peut accéder grâce à la méthode attributes ().
Autrement dit, et en reprenant mon code :
| Code: |
<?php
// Chargement du flux RSS
$xml = simplexml_load_file ('http://fr.news.yahoo.com/rss/fc/hardware.xml');
// On récupère tous les éléments item
$item = $xml -> channel -> item;
// Affichage des entrées (titre, résumé, lien et date)
foreach ($item as $valeur)
{
// Récupération des élements media:
// On renseigne l'espace de nom de ces éléments
$media = $valeur -> children ('http://search.yahoo.com/mrss/');
foreach ($media as $nom => $element)
{
if ($nom == 'credit') $credit = htmlspecialchars ((string) $element, ENT_COMPAT, 'UTF-8');
// Récupération des attributs de l'élément media:content
if ($nom == 'content')
{
foreach ($element -> attributes () as $attribut => $valeur_attribut)
{
// On force PHP à interpréter la valeur de chaque attribut comme une chaîne de caractère et non comme un objet
$media_content[$attribut] = (string) $valeur_attribut;
}
}
}
// Formatage de la date
// Conversion du format RSS 2.0 au format timestamp Unix
$timestamp = strtotime ((string) $valeur -> pubDate);
// Conversion du timestamp Unix en date compréhensible par un humain
setlocale (LC_TIME, 'fr_FR');
$date = strftime ('%A %e %B %Y à %Hh%M', $timestamp);
// Sous Windows, remplacer les deux lignes ci-dessus par celles-ci
setlocale (LC_TIME, 'fra');
$date = strftime ('%A %d %B %Y à %Hh%M', $timestamp);
?>
<h2><?php echo htmlspecialchars ((string) $valeur -> title, ENT_COMPAT, 'UTF-8') ?></h2>
<p><img src="<?php echo $media_content['url'] ?>" alt="<?php echo htmlspecialchars ((string) $valeur -> title, ENT_COMPAT, 'UTF-8') ?>" width="<?php echo $media_content['width'] ?>" height="<?php echo $media_content['height'] ?>" /></p>
<p><?php echo htmlspecialchars ((string) $valeur -> description, ENT_COMPAT, 'UTF-8') ?></p>
<p>Publié le <?php echo $date ?> par <?php echo $credit ?> - <a href="<?php echo $valeur -> link ?>">Lire la suite</a></p>
<?php
}
?>
|
Dernière édition par Victor BRITO le Ven Jan 04, 2008 16:13; édité 1 fois |
|
| |
|
 |
zeb WRInaute accro

Inscrit le: 05 Déc 2004 Messages: 1002
|
Posté le : Ven Jan 04, 2008 12:21 Sujet du message: Comment faire apparaitre les news Yahoo en contenu dynamique |
|
|
@Victor BRITO merci pour le coup de pouce, j'aurais pu chercher encore un moment, ton code est divinement bien commenté.
Encore MERCI  |
|
| |
|
 |
| |
|
|
|
|
Autres sujets de discussion :
|
|