Mercredi 29 Juin 2005
YBFeeds : prêt à consommer
Voilà YBFeeds en ligne, le premier système de génération de flux de syndication pour les YaroBlogs.
Il regroupe tout ce qu'on peut tirer d'un blog : nom, éditorial, news, dates, contenus en HTML, nombre de commentaires, lien vers le formulaire de commentaires, ... Le nombre de commentaires est affiché entre parenthèses dans le titre de la news.

Le service est herbergé, il suffit de modifier l'URL pour fournir l'identifiant du blog (paramètre id). Un lien peut-être placé sur n'importe quel blog en imbriquant des balises [ url] et [img] comme dans l'édito de celui-ci.
Techniquement le programme est une servlet Java (forme le plus simple de Java côté serveur) basé sur les très puissantes bibliothèques ROME pour la génération des flux et Jericho HTML Parser pour le parsing des pages web des blogs. Les sources sont dispo ici.

Pour l'instant seuls des flux RSS 2.0 sont générés. Le support de Atom a été supprimé, il posait trop de problèmes. Mais je peux ajouter le support de n'importe quel autre format sur demande si besoin (ROME les supportent tous).
Je n'ai pas testé de façon extensive (et seulement avec RSSOwl et newsgator.com), je suis preneur de tous bugs ou suggestions. Le plus gros problème pour l'instant se trouve au niveau des dates, ROME ne semble pas pouvoir fournir autre chose que de l'heure en GMT, et apparemment elle est un peu décalée : toutes les dates ont 2 heures en moins. Les exceptions capturées sont elles-mêmes affichées autant que possible sous forme de flux.

http://www.myjavaserver.com/servlet/extended.ybfeeds.YBFeedsServlet?id=XXX

[edit] Apparemment le problème d'heure dépend aussi de la config du serveur, ROME localise tout...
Posté à
19:31
 par ExtendeD -

14. squalyl^2 à 13:27 30/06/2005 -
oups non !delete this.previous j'ai pas "ROME" ... (je débarque en servlets)

13. squalyl^2 à 13:26 30/06/2005 -
sinon tu me passes un WAR j'essayerai chez moi ^^ (seb##antispam##galaxoft.org)

12. ExtendeD à 13:10 30/06/2005 -
Bon, en fait je m'étais raté dans la mise à jour. Et le serveur d'appli de l'hébergeur (Resin) ne supporte pas la spéc dans laquelle setCharacterEncoding() a été ajoutée.
J'ai mis response.setContentType("text/xml;charset=UTF-8"); maintenant, ça à l'air de marcher. Vous confirmez ?

11. ExtendeD à 12:58 30/06/2005 -
Je suis pas un expert charset, qu'est-ce que tu veux dire exactement ?
Je crois que ROME semble générer de l'UTF-8.

10. KevinTIGCC à 10:42 30/06/2005 -
Bah, déclare le charset effectivement utilisé, et laisse aux clients le plaisir de recoder.

9. ExtendeD à 00:21 30/06/2005 -
response.setCharacterEncoding("UTF-8");
-> marche bien en local, marche pas en ligne, doit y avoir quelque chose au niveau du serveur d'appli. Pareil avec iso-8859-1.
C'est bizarre, les caractères apparaissent toujours avant et après les balises <img>...

8. ExtendeD à 00:03 30/06/2005 -
<<et aussi, dommage que le lien RSS tombe sur les commentaires plutot que la news elle même.>>
Mais il n'y aucunes ancres au niveau des news sur lequelles tombées :(

V regarder pour le charset.

7. squalyl^2 à 23:11 29/06/2005 -
pardon v 1.0.2 pour mon Thunderbird.

6. squalyl^2 à 23:11 29/06/2005 -
2 > imparable ^^

et oué thunderbird 1.0.3 il aime pas ton charset non plus

et aussi, dommage que le lien RSS tombe sur les commentaires plutot que la news elle même.

sinon je confirme c'est un très beau travail.

5. ExtendeD à 22:49 29/06/2005 -
Quelques bugs que je viens de remarquer :

- Accents pas possibles pour l'instant dans les titres de blogs et de news (faudrait que je gère plus d'HTML entities)
- RSSOwl ne détecte pas une mise à jour ("éditer") d'une news, mais je peux rien faire pour ça (il faudrait avoir l'heure de l'édition)

Aussi peut-être à venir, la gestion des auteurs des news.

4. ExtendeD à 22:46 29/06/2005 -
Ca déconne en brut dans FireFox, mais ça passe très bien avec RSSOwl. Je ne fixe pas l'encoding car j'avais eu je sais plus quels problèmes une fois.
Tu as des problèmes avec un news reader précis ?

3. verytourist à 20:27 29/06/2005 -
il m'a l'aire que y'a un petit pb de charset :p .
exemple:
http://www.myjavaserver.com/servlet/extended.ybfeeds.YBFeedsServlet?id=46

Sinon, beau boulôt #clapclap#.

2. ExtendeD à 20:03 29/06/2005 -
Pas de problème dans le cas d'une valeur null (sinon NullPointerException).

1. squalyl^2 à 19:58 29/06/2005 -
pas mal du tout :)
en java, quel est l'intérêt d'utiliser:

if ("atom".equals(typeStr))

plutot que

if (typeStr.equals("atom"))

? optimisation quelconque ou habitude de programmation?

Pseudo :

Adresse mail : (optionnel)

Site web : (optionnel)

Veuillez entrer la somme de deux et trois :
Message :


 RSS  - ©yNBlogs 2004