UN MOYEN SIMPLE POUR FAIRE DÉFILER DU FLUX RSS SUR UNE PAGE ASP.

cs_Alain Proviste Messages postés 908 Date d'inscription jeudi 26 juillet 2001 Statut Modérateur Dernière intervention 1 février 2015 - 27 sept. 2006 à 19:40
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 - 30 sept. 2006 à 11:05
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/39716-un-moyen-simple-pour-faire-defiler-du-flux-rss-sur-une-page-asp

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
30 sept. 2006 à 11:05
Scott Guthrie est le "Chef" des developpeurs de la plate forme .net, il était le chef de la division asp.net lors de sa création, c'est un peu le papa d'ASP.net

Si je cite son blog c'est que c'est la seule documentation web qui existe sur le rss toolkit et sans son post c'est trés difficile de comprendre commment ca fonctionne et ta source n'aide pas non plus.

Bref, parlons plutot de ta source. Ce que tu veux faire c'est afficher les derniers news dans une horrible balise <marquee> (qui est obsolete et trés agacante), OK pourquoi pas.
Pour cela regardons comment tu t'y prends, tu as un mis <rssDatasource pour pouvoir binder la source de donnée a un gridview et ensuite tu boucles sur les lignes du gridview !!! :| te rend tu compte des cout que ca engendre de créer un gridview dynamique de le binder tout ca pour recuperer des données que tu aurais pu récuperer directement à partir du rssdatasource ??? niveau perf c'est vraiment horrible.

ensuite tu te sert de AutoGenerateColumns="true" (normal, créer des colonnes dynamiquement dans un gridview c'est pas facile) cela veut dire que si on a un RSS ou l'ordre des elements est différent de celui que tu attends cela plante ! Le RSSDataSource est beaucoup plus puissant que ta simple bidouille !

Je ne fais pas que critiquer sans raison, donc voici un exemple qui fait exactement la meme chose que toi et surtout qui fonctionnera sur tous les RSS ET avec des perfs bien meilleurs :

dans ta page tu mets :
<marquee id="HorribleBalise" runat="server"></marquee>

et dans le code behind :
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

Dim channel As RssToolkit.GenericRssChannel
channel = RssToolkit.GenericRssChannel.LoadChannel("http://blogs.developpeur.org/MainFeed.aspx")

Dim sb As New StringBuilder()

For i As Integer = 0 To channel.Items.Count - 1
Dim Item As RssToolkit.GenericRssElement = channel.Items(i)
sb.AppendFormat("Le {2:d} [ {1}]", Item("link"), Item("title"), CDate(Item("pubDate")))
If i < (channel.Items.Count - 1) Then
sb.Append(" - ")
End If
Next

HorribleBalise.InnerHtml = sb.ToString()

End Sub

En faisant comme cela on a utilisé 10% du RSSDatasource ! Là ou il est interessant c'est quand on utilise l'outil Rssdl qui permet de créer des rss typé donc pas besoin d'utiliser le item("title") mais directement item.title et surtout pas besoin de faire une conversion de la date avec un CDate puisque le flux sera typé. Les exemples d'utilisation de rssdl sont justement dans le blog de Scott Guthrie et je ne suis pas sur que tu l'avais vu ;-)

Maintenant il serait bien que tu modifies ta source en t'inspirant de mon code et ou en utilisant rssdl.


Cyril

PS : quand a tes propos sur JavaScript ce serait bien que tu les retire de l'introduction du code, je suis un fervent défenseur de ce merveuilleux langage et ce que tu écrit montre que tu ne le connais absolument pas.
tuyo2poil Messages postés 6 Date d'inscription dimanche 16 novembre 2003 Statut Membre Dernière intervention 29 septembre 2006
29 sept. 2006 à 15:28
dis donc Jésus, tu te prends pas un peu pour le vrai ?
j'ai mis un lien vers le blog du créateur du RssToolkit : ton Scott je sais meme pas qui c'est...

et mon "ton" n'est qu'argotique, pas grossier ou agressif.
et puis quoi, tu vas pas nous faire un camembert pour ce pauvre bout de code dont tous le monde se fiche ! y a des choses beaucoup plus importantes dans la vie ! demande a un tetraplégique si il trouve mon code trop ceci ou trop cela ? et bin tu sais pas, y s'en bat les cacahuétes le pauvre ! et nous deux on est là comme des enfants gatés à tartiner des salades sur un sujet dont la portée dépasse pas la distance de planck...
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
29 sept. 2006 à 15:14
C'est pas parce que tu as une mauvaise experience en JS que c'est une généralité. J'ai déjà écrit des classes javascript de plusieurs milliers de lignes et je n'ai pas mis beaucoup de temps ;-)

Mais je reconnais que le RSS toolkit est trés bien car justement c'est rapide et simple à mettre en place.

En ce qui concerne ta source ce serait bien de détailler un petit peu et d'employez un autre ton.

"entre l'extraction XML du flux (réservée à une élite !) et cette charognerie de javascript qui marche jamais (avec les âneries habituelles du style 'ligne 561 il manque le car "}" alors que ton script fait trois lignes....), il faut être de "bonne composition"...."

"'(vous pouvez utilisez un autre moyen pour éplucher le XML du RSS
'mais j'ai pas le temps de tricoter sur le sujet) "

Ensuite un lien vers le blog de Scott pour appronfondir le sujet aurait été pas mal :-)

http://weblogs.asp.net/scottgu/archive/2006/02/22/Awesome-ASP.NET-2.0-RSS-Tool_2D00_Kit-Released.aspx


PS : Proviste oui le rss toolkit n'existait pas quand tu avais fais le parseur pour CS ;-)
tuyo2poil Messages postés 6 Date d'inscription dimanche 16 novembre 2003 Statut Membre Dernière intervention 29 septembre 2006
29 sept. 2006 à 15:04
j'ai mis un petit site web complet en zip : tu veux que je fasse quoi de plus ? ceux qui ont besoin du truc vont bien se débrouiller avec !

et si ce site n'est effectivement pas un "dépotoir", c'est pas non plus le sanctuaire de la perfection : on y colle nos snippets, et on echange nos astuces...

concernant vos remarques sur le javascript, vous oubliez un détail : si il faut passer trois jours pour faire fonctionner un code de 10 lignes, qu'on soit mauvais ou pas, autant faire de l'assembleur.

et pour le XML je reconnais que ça m'a vite pomper le jonglage entre les elements les nodes les items et toute la clique. j'suis pas seulement nul, mais pressé aussi !

bon WE les gars.
cs_Alain Proviste Messages postés 908 Date d'inscription jeudi 26 juillet 2001 Statut Modérateur Dernière intervention 1 février 2015 2
29 sept. 2006 à 14:46
ah oui mais le rsstoolkit est sorti bien après ce que j'ai fait !!
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
29 sept. 2006 à 14:35
Bonjour,

Pas d'accord avec toi proviste le RSS toolkit est vraiment bien foutu on l'a meme utilisé sur la partie emploi de CodeS-SourceS ;-)

Par contre CodeS-SourceS n'est pas un dépotoire d'astuces, en lisant ta source j'ai l'impression que tu n'as pas le temps et pas l'envie de t'embeter à faire une source compléte, si tu pouvais modifier ta source ce serait sympa.

Pour ce qui est de JavaScript ou le parsing de XML il ne faut pas dire que ca marche jamais, parser un XML en JavaScript ne me fais absolument pas peur, dit juste que tu ne sais pas faire car trop compliqué pour toi ;-)
cs_Alain Proviste Messages postés 908 Date d'inscription jeudi 26 juillet 2001 Statut Modérateur Dernière intervention 1 février 2015 2
27 sept. 2006 à 19:40
héhé c'est pas si dur que ça de parser les rss, pas besoin d'une usine à gaz comme rssdotnet ou rsstoolkit. regarde codessources justement, on a évité au max les composants externes, tout est fait maison, et as tu déjà vu un rss, externe ou interne, dérailler :p
Rejoignez-nous