Création de flux RSS - Fichier XML invalide

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


OTP
Modérateur
Modérateur
 
Messages: 13069
Inscription: Ven Déc 16, 2005 22:41

Création de flux RSS - Fichier XML invalide

Message le Jeu Oct 19, 2006 21:41

Bonsoir,

Je me lance dans la grande aventure du flux RSS.
Ma base est 1two News.
J'ai créé mon script php de génération de fichier XML (avec une requête sql).
Le fichier XML se créé mais est déclaré invalide quand je tente de le lire avec Thunderbird ou Firefox.
Je crois que le problème vient du fait que mon champ 'Description' contient du HTML.

Comment est-ce que je peux m'affranchir de ce problème ?

Mon flux : -http://www.thewindpower.net/news/flux.xml

Merci d'avance à ceux qui sauront m'éclairer...

Michaël

smrhp
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 191
Inscription: Mer Aoû 03, 2005 12:46

Message le Jeu Oct 19, 2006 22:09

salut,

oui ça doit venir de ton HTML... Pour incorporer du HTML dans ton flux il faut utiliser une balise spéciale dans le <description>

Code: Tout sélectionner
<description>
  <![CDATA[
  <?php echo $desc;?>
  ]]>
</description>


tout est dans le "![CDATA[" à respecter à la lettre. Enfin aussi dans le format de fichier je crois (moi j'utilise le RSS 2.0)...


narayana
WRInaute passionné
WRInaute passionné
 
Messages: 835
Inscription: Ven Jan 28, 2005 12:53

Message le Jeu Oct 19, 2006 22:10

idem je serai curieu d'avoir une réponse concrete sur les différents formats de flux rss et quelles routines utilisées pour les parser.
Pour ma part j'utilise une fonction telle que celle ci pour la description
Code: Tout sélectionner
function format_caractere($s_desc){
$car_speciaux = array('À','Á','Â','Ã','Ä','Å','Æ','à','á','â','ã','ä','å','æ','È','É','Ê','Ë','è','é','ê',
'ë','Ì','Í','Î','Ï','ì','í','î','ï','Ò','Ó','Ô','Õ','Ö','Ø','ò','ó','ô','õ','ö','ø','Ù','Ú','Û','Ü','ù','ú','û','ü','ß','Ç','ç','Ð','ð','Ñ','ñ','Þ','þ','Ý',"<br />","\n""<br>",'€','&');
      $car_normaux  = array( 'A','A','A','A','A','A','A','a','a','a','a','a','a','a','E','E','E','E','e','e','e','e','I',
'I','I','I','i','i','i','i','O','O','O','O','O','O','o','o','o','o','o','o','U','U','U','U','u','u','u','u','B','C','c','D','d','N','n','P','p','Y'," "," "," ","euro","et");
      return str_replace($car_speciaux, $car_normaux,stripslashes($s_desc));
}


OTP
Modérateur
Modérateur
 
Messages: 13069
Inscription: Ven Déc 16, 2005 22:41

Message le Jeu Oct 19, 2006 22:12

smrhp a écrit:salut,

oui ça doit venir de ton HTML... Pour incorporer du HTML dans ton flux il faut utiliser une balise spéciale dans le <description>

Code: Tout sélectionner
<description>
  <![CDATA[
  <?php echo $desc;?>
  ]]>
</description>


tout est dans le "![CDATA[" à respecter à la lettre. Enfin aussi dans le format de fichier je crois (moi j'utilise le RSS 2.0)...


Super
Je vais essayer ça
Merci


OTP
Modérateur
Modérateur
 
Messages: 13069
Inscription: Ven Déc 16, 2005 22:41

Message le Jeu Oct 19, 2006 22:13

narayana a écrit:idem je serai curieu d'avoir une réponse concrete sur les différents formats de flux rss et quelles routines utilisées pour les parser.
Pour ma part j'utilise une fonction telle que celle ci pour la description
Code: Tout sélectionner
function format_caractere($s_desc){
$car_speciaux = array('À','Á','Â','Ã','Ä','Å','Æ','à','á','â','ã','ä','å','æ','È','É','Ê','Ë','è','é','ê',
'ë','Ì','Í','Î','Ï','ì','í','î','ï','Ò','Ó','Ô','Õ','Ö','Ø','ò','ó','ô','õ','ö','ø','Ù','Ú','Û','Ü','ù','ú','û','ü','ß','Ç','ç','Ð','ð','Ñ','ñ','Þ','þ','Ý',"<br />","\n""<br>",'€','&');
      $car_normaux  = array( 'A','A','A','A','A','A','A','a','a','a','a','a','a','a','E','E','E','E','e','e','e','e','I',
'I','I','I','i','i','i','i','O','O','O','O','O','O','o','o','o','o','o','o','U','U','U','U','u','u','u','u','B','C','c','D','d','N','n','P','p','Y'," "," "," ","euro","et");
      return str_replace($car_speciaux, $car_normaux,stripslashes($s_desc));
}


C'est nécessaire d'utiliser cette fonction ?
Il y a des soucis d'affichage sinon ?


Leonick
WRInaute accro
WRInaute accro
 
Messages: 12396
Inscription: Dim Aoû 08, 2004 20:24

Message le Jeu Oct 19, 2006 22:18

Ne plus mettre de balises html dans la balise description
http://validator.w3.org/feed/check.cgi? ... 2Fflux.xml

Théoriquement, les flux rss servent à donner un aperçu d'un article, pas d'avoir l'intégralité de son contenu. :wink:

smrhp
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 191
Inscription: Mer Aoû 03, 2005 12:46

Message le Jeu Oct 19, 2006 22:22

Leonick a écrit:Ne plus mettre de balises html dans la balise description
http://validator.w3.org/feed/check.cgi? ... 2Fflux.xml

Théoriquement, les flux rss servent à donner un aperçu d'un article, pas d'avoir l'intégralité de son contenu. :wink:


en même temps c'est pas mal des fois d'avoir un aperçu avec une vignette d'une image, ou alors 2-3 icones pour un téléchargement d'un doc sous différents formats (word, pdf etc.)... Bref, c'est possible et faut pas s'en priver !! En tant qu'utilisateur j'aime avec un contenu plus améliorer qu'un titre et 3 mots dans mes flux ;)


OTP
Modérateur
Modérateur
 
Messages: 13069
Inscription: Ven Déc 16, 2005 22:41

Message le Jeu Oct 19, 2006 22:28

Je comprends bien qu'il y a une norme à respecter, mais ma description est au départ une présentation d'un article du web avec son lien.
Si je dois faire un résumé du résumé, il ne me reste plus grand chose.
Par ailleurs, les flux auxquels je suis inscrits en sont bourrés... La pratique semble commune, non ?

Nota : tu as passé au validator un flux encore buggé, méchant ! :D


Leonick
WRInaute accro
WRInaute accro
 
Messages: 12396
Inscription: Dim Aoû 08, 2004 20:24

Message le Jeu Oct 19, 2006 22:37

Normalement, un flux doit donner envie d'en savoir plus en se connectant au site.
Regarde le flux de WRI :wink:
il n'y a pas la totalité du post de départ.


Monty973
WRInaute accro
WRInaute accro
 
Messages: 1614
Inscription: Mar Mar 21, 2006 4:52

Message le Jeu Oct 19, 2006 22:47

Je crois qu'un des problèmes est que tu ne respectes pas les spécifications.

par exemple ta balise <link></link> ne contient pas une URL mais du texte :

Code: Tout sélectionner
<link>Siemens en Ecosse</link>


Ici sont les spéc :
http://blogs.law.harvard.edu/tech/rss :

Code: Tout sélectionner
title: The title of the item.   (Venice Film Festival Tries to Quit Sinking)
link: The URL of the item.   (http://nytimes.com/2004/12/07FEST.html)
description: The item synopsis.   (Some of the most heated chatter at the Venice Film Festival this week was about the way that the arrival of the stars at the Palazzo del Cinema was being staged.)


Tu peux mettre du HTML dans la description (techniquement il n'y a pas de problèmes, après c'est un débat de "puriste" qui existe depuis longtemps)

Soit tu encode les caractères :

Code: Tout sélectionner
This is a &lt;em&gt;lovely left angle bracket:&lt;/em&gt; &amp;lt;



Soit tu utilises CDATA :

Code: Tout sélectionner
<![CDATA[This is a <em>lovely left angle bracket:</em> &lt;]]>


Exemples pompés de :
Developing Feeds with RSS and Atom (O'Reilly)


OTP
Modérateur
Modérateur
 
Messages: 13069
Inscription: Ven Déc 16, 2005 22:41

Message le Ven Oct 20, 2006 5:37

En réponse à Léonick et Monty : ok, j'ai compris maintenant. Je n'avais pas bien saisi le rôle de la balise Description.

Merci !


Fab le Fou
WRInaute accro
WRInaute accro
 
Messages: 1511
Inscription: Jeu Déc 02, 2004 15:20

Message le Ven Oct 20, 2006 6:56

En théorie, un fichier xml ne doit pas contenir d'information de mise en forme, donc de html, non ?

Sinon, ça me contraint à une certaine mise en forme lorsque j'affiche le flux sur un autre site, à moins de le traiter pour virer toutes les balises html, mais là on marche sur la tête...


OTP
Modérateur
Modérateur
 
Messages: 13069
Inscription: Ven Déc 16, 2005 22:41

Message le Ven Oct 20, 2006 6:58

Fab le Fou a écrit:En théorie, un fichier xml ne doit pas contenir d'information de mise en forme, donc de html, non ?

Sinon, ça me contraint à une certaine mise en forme lorsque j'affiche le flux sur un autre site, à moins de le traiter pour virer toutes les balises html, mais là on marche sur la tête...


Le message est passé et je vais virer la mise en forme ce soir.

Et puis je suis mécanicien de formation, pas informaticien du tout, donc pas taper moi...

smrhp
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 191
Inscription: Mer Aoû 03, 2005 12:46

Message le Ven Oct 20, 2006 7:29

Fab le Fou a écrit:En théorie, un fichier xml ne doit pas contenir d'information de mise en forme, donc de html, non ?

Sinon, ça me contraint à une certaine mise en forme lorsque j'affiche le flux sur un autre site, à moins de le traiter pour virer toutes les balises html, mais là on marche sur la tête...


ben disons que si ton flux RSS parle principalement de photos ou d'image et que tu souhaites y incorporer 2-3 liens qui ne sont pas forcément ceux de l'article, ça sert bien quand même... par exemple le flux de flickr contient bien du HTML dans description...
-http://www.flickr.com/services/feeds/photos_public.gne?tags=colorful&format=rss_200
(et un tel flux sans une image en miniature comme "résumé", ben il n'aurait aps trop d'intérêt !).

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: Lun Juil 11, 2005 11:47

Message le Ven Oct 20, 2006 7:42

perso. je préfère un flux standard sans rien sauf un petit résumé (1 phrase).

le plus souvent je ne lis jamais sur mon lecteur rss je clic sur le lien pour en savoir plus..je sais que si le flux est dans mes favoris, il a au moins le mérite d'être ouvert pour en savoir plus sur le thème.

Création de flux RSS - Fichier XML invalide

Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités