Un attribut pubDate dans les flux RSS ?

siouplé :(

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

EDIT : Tranmis #1113


Je suis en train de faire mon petit projet de site qui agrège les différents "pouls" de ZdS (RSS, Twitter, et peut-être IRC qui sait) pour mettre ça dans une petite timeline sympa mais comme y'a pas d'attribut pubDate c'est un peu pourri pour agréger les sources (bah ouais, comment je sais si le message a été posté avant ou après le Tweet moi :( )

D'avance merci ;)

PS : du coup comptez sur moi pour remonter les bugs sur les flux RSS s'il y en a, et j'ai l'impression qu'il y en a :\

Édité par Eskimon

Happiness is a warm puppy

+1 -0
Auteur du sujet

Merci Eskimon et merci artragis.

Y'a plus qu'à attendre que ça passe en prod. Pour l'instant je teste avec lemonde.fr et lequipe.fr ^^ mais j'ai fait assez générique pour qu'on puisse s'en servir facilement et différencier les types de source dans le flux (RSS Tuto, RSS Forums, twitter.com/zestedesavoir, hashtag, on peut filtrer par type de source, ou même en recherche texte, …). Je vous mettrai une petite capture d'écran ce soir en rentrant ;)

Si je suis chaud la semaine prochaine j'ajoute GitHub comme source via leurs APIs :) ça devrait vraiment permettre de prendre le pouls de la communauté.

Je reviens à la charge d'ailleurs pour le RSS sur les tutos, ça serait vraiment vraiment pratique tant qu'on n'a pas d'APIs pour lister tous ces éléments du site.

EDIT : cf. message plus bas (plus clair).

Édité par Javier

Happiness is a warm puppy

+0 -0
Auteur du sujet

Pour ceux que ça intéresse, la source sera libre bien entendu, les technos utilisées :

  • Groovy&Grails : pour servir les pages + pour accéder au back-office "lourd" (récupérer la liste des sources à laquelle un utilisateur a souscrit, …) + servir les pages web

  • Vert.x : serveur asynchrone "à la node.js" mais polyglote (Java, JS, Groovy, Python, …). Communication avec les clients par websockets. Interrogation périodique (polling) des ressources distantes (APIs, flux RSS), traitement des ressources et push aux client.

Les autres choix techniques sont des choix par défaut (h2 pour la BDD parce que c'était embarqué dans Grails, …)

Voici le schema incompréhensible :\

Pour expliquer un peu mieux comment ça fonctionne, ça suit le Publish-Subscribe-Pattern

  • Un client possède une liste de souscriptions (des flux RSS, …) sauvés en base de donnée. C'est Grails qui s'occupe de gérer tout ce bazar (CRUD, login, …). Grails sert les pages statiques également. Dont la page "timeline". Sur cette page en particulier :

  • Le navigateur du client établit une communication par websocket à destination de Vert.x

  • A travers la websocket, le client "s'abonne" (subscribe) à chacune des ressources voulues (récupérées depuis la BDD)

  • Vert.x joue le rôle de Message Broker, c'est-à-dire qu'il va :

  • tenir à jour la liste des clients abonnés à un certain flux de donnée à un instant t.

  • aller chercher périodiquement les données, les comparer à son cache local, et déterminer si de nouvelles données sont arrivées. Si tel est le cas, il va pusher les nouvelles données à tous les clients connectés

  • bien sûr : arrêter la récupération périodique si plus aucun client n'est connecté, tenir des stats à jour, …

Édité par Javier

Happiness is a warm puppy

+1 -0
Auteur du sujet

Petit point d'avancement en attendant que le flux RSS de ZdS soit prêt je m'amuse avec d'autres :)

Avancement : flux RSS

PS : on se moque pas du design honteusement volé et modifié à l'arrache avec des couleurs plus claires et plus vilaines siouplé :(

Édité par Javier

Happiness is a warm puppy

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte