Le format rss 0.91

Contenu du snippet

RSS (Rich Site Summary). Qu'est-ce que c'est ?

RSS est un langage (dérivé du XML) qui permet de faire de l'échange d'information. En clair, un site quelconque veut produire de l'information (généralement des news), il créé donc une chaîne d'information (channel) permettant la diffusion de ces infos. Un channel est clairement un fichier XML incluant un élément <rss>. Cet élément réponds à une norme prédéfinis. Il contient un nombre indéfinis de news présenté par un titre, un lien vers le site contenant la news complète, et enfin une courte description de la news.
Le channel peut donc être récupéré par un certains nombre de site, qui pourront formater et diffuser les informations selon le design de leurs sites.
De nouveaux sites font depuis, leur apparition sur le net : les Aggrégateurs de contenus, qui collectent et diffusent les informations.

Un fichier RSS est conforme à la norme XML 1.0 publié sur le site du Wolrd Wide Web Consortium (W3C).
Un document RSS est donc un élément <rss> avec un attribut contenant la version a laquelle le document se conforme. <rss version="0.91">
Sous l'élément <rss> on trouve un élément <channel>, qui contient des informations sur ce channel ainsi que sur son contenu. Certains éléments contenu par l'élément <channel> sont obligatoire, d'autres sont facultatifs.

Les éléments obligatoires

<title> le nom du channel. C'est ce qui permet aux gens de distinguer plusieurs services. Si vous avez un site Web contenant les mêmes infos que le fichier RSS, ce titre sera le titre de votre site Web. La taille maximale est de 100 caractères.
<link> une URL pointant vers le site défini dans <title>. La taille maximale est de 500 caractères.
<description> une phrase qui décrit le <channel>, son type, sa catégorie. La taille maximale est de 500 caractères.
<language> Indique la langue utilisée pour écrire le channel. Permet aux agrégateurs de regrouper les news par langues.
<image> c'est un élément XML qui en contient de nouveaux (voir plus loin)

Les éléments facultatifs

<copyright> Taille maximale de 100 caractères
<managingEditor> l'adresse email de l'éditeur du channel, la personne à contacter au sujet du contenu. Taille maximale de 100 caractères. Le format conseillé est "nom@domaine.com (Prénom Nom)"
<webMaster> L'adresse email du webmaster de ce channel, la personne à contacter pour les problèmes technique. Taille maximale de 100 caractères
<rating> Classification PICS (Platform for Internet Content Selection) du channel. Taille maximale de 500 caractères.
Les spécifications PICS permettent d'associer les labels au contenu Internet.
<pubDate> la date de publication du contenu dans le channel. Toutes les dates RSS doivent être conforme aux "Date and Time Specification of RFC 822" (voir plus loin)
<lastBuildDate> la dernière fois que le contenu du channel a changé.
<docs> URL pointant vers une page documentant le format de RSS utilisé.
Taille maximale de 500 caractères.
<textInput> Un élément XML contenant plusieurs sous-éléments. (Voir plus loin)
<skipDays> Un élément XML contenant jusqu'à 7 sous-éléments <day> prenant pour valeurs un nombre enter 1 et 7. Les aggregateurs ne devront pas lire la chaine durant les journées listé dans l'élément <skipDays> (la plupart des agrégateurs semblent ignorer cet éléments)
<skipHours> Un élément XML contenant jusqu'à 24 sous-éléments <hour> prenant pour valeurs un nombre enter 1 et 24. Les aggregateurs ne devront pas lire la chaine durant les heures listé dans l'élément <skipHours> (la plupart des agrégateurs semblent ignorer cet éléments)

L'élément <image>

<image> est un sous-élément de <channel>, qui contient 3 sous-éléments obligatoires, ainsi que 3 sous-éléments optionnels.

Obligatoires
<url> est l'URL de l'image GIF, JPEG ou PNG représentant la chaîne.
Taille maximale de 500 caractères.
<title> décrit l'image. Il est utilisé dans l'attribut ALT du tag <img> lorsque la chaîne est passée au format HTML. Taille maximale de 100 caractères.
<link> est l'URL du site. Quand la chaîne est passé au format HTML l'image est un lien qui pointe vers ce site.
Taille maximale de 500 caractères.

Optionnels
<width> la largeur de l'image en pixels. Valeur maximale : 144, par défaut 88
<height> la hauteur de l'image en pixels. Valeur maximale : 400, par défaut 31
<description> le texte inclu dans l'attribut TITLE du lien autour de l'image pour le rendu HTML.

Le dernier élément d'une chaîne, et le plus important est l'<item>

Une chaîne peut contenir autant d'<item> qu'il est nécessaire, chacun reliant une histoire, avec une description qui est facultative.
<title> le titre de l'histoire. Taille maximale de 100 caractères.
<link> l'URL de l'histoire. Taille maximale de 500 caractères.
<description> le synopsis (résumé) de l'histoire. Taille maximale de 500 caractères.

L'élément <textInput>

Les 4 éléments suivant sont obligatoires.
<title> le label du bouton de validation dans la zone de saisie de texte.
Taille maximale de 100 caractères.
<description> explique la zone de saisie de texte
Taille maximale de 500 caractères.
<name> le nom de l'objet texte dans la zone de saisie de texte.
Taille maximale de 20 caractères.
<link> l'URL du script CGI qui procède à la requête. Taille maximale de 500 caractères.

Commentaires

RSS 0.91 a des restrictions sur le premier caractère (non-espace) des données contenues dans les éléments <link> et <url>. Les données de ces éléments doivent commencer par http:// ou ftp://. https:, file:, mailto:, news:, et javascript:, ne sont pas permis.

En bref

Comment insérer un fichier RSS sur son site ?

Pour spécifier l'URL ou récupérer le fichier RSS, il suffit de poser ce tag :
<link rel="alternate" type="application/rss+xml" title="RSS" href="http://lesitedenews/rss.xml" />

Récapitulatif

Ici bientôt, un tableau récapitulatif

RFC 822

Syntax

date-time = [ day "," ] date time ; dd mm yy
; hh:mm:ss zzz

day = "Mon" / "Tue" / "Wed" / "Thu"
/ "Fri" / "Sat" / "Sun"

date = 1*2DIGIT month 2DIGIT ; day month year
; e.g. 20 Jun 82

month = "Jan" / "Feb" / "Mar" / "Apr"
/ "May" / "Jun" / "Jul" / "Aug"
/ "Sep" / "Oct" / "Nov" / "Dec"

time = hour zone ; ANSI and Military

hour = 2DIGIT ":" 2DIGIT [":" 2DIGIT]
; 00:00:00 - 23:59:59

zone = "UT" / "GMT" ; Universal Time
; North American : UT
/ "EST" / "EDT" ; Eastern: - 5/ - 4
/ "CST" / "CDT" ; Central: - 6/ - 5
/ "MST" / "MDT" ; Mountain: - 7/ - 6
/ "PST" / "PDT" ; Pacific: - 8/ - 7
/ 1ALPHA ; Military: Z = UT;
; A:-1; (J not used)
; M:-12; N:+1; Y:+12
/ ( ("+" / "-") 4DIGIT ) ; Local differential
; hours+min. (HHMM)

Description

La définition du fuseau horaire peut être faites de différentes manières.
"UT" (Universal Time) représente le Temps Universel (auparavant appelé "GMT" - "Greenwich Mean Time"); "GMT" est permis en temps que référence au Temps Universel.
Le standard militaire utilise un seul caractère pour chaque zone. "Z" représente le Temps Universel.
"A" indique une heure en moins, et "M" indique 12 heures en moins.
"N" indique une heure supplémentaire, et "Y" 12 heures supplémentaire.
La lettre "J" n'est pas utilisée.
Les deux autres formes restantes sont issues du standard ANSI X3.51-1975.
La première permet une indication explicite du décalage par rapport à l'UT.
La seconde utilise une chaîne de 3 caractères inidquant la zone horaire Nord-Américaine.

Conclusion :


Pour ceux qui se demande à quoi sert ce descriptif, quel est le rapport avec le C/C++ et bien c'est trés simple, cet article est le prélude d'un Parser/Wrapper RSS.

A suivre...

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.