On a pensé qu'il était correct et intéressant d'importer les flux de ce blog technique, à l'intérieur du site web personnel, parce que c'est aussi une activité qu'un client et un employeur potentiel devrait considérer parmi les compétences utiles pour une ressource de haut niveau.
En dehors de cette considération très personnelle, on aimerai vous montrer ma solution pour importer les flux WP et corriger un bug racine reconnu mais toujours non résolu.
Importation de flux dans WordPress
Pour l'importation, on a besoin d'un script simple qui va lire l'url des flux, analyse l'arbre XML des posts, et vous renvoie le contenu correspondant.
Grâce à Asp on "imprime" le contenu du flux et le balisage Xhtml (que on avais pensé en version statique de la page) et ensuite on lui donne la présentation désirée à travers Css.
Le résultat ne sera donc pas un simple portage de données, mais grâce aux CSS, les posts seront parfaitement intégrés dans le design, comme s'ils provenaient d'un Cms qui gère le site.
Tout d'abord, pensez au balisage.
Dans une situation statique, on veut afficher seulement certains contenus du flux et pas tous (rappelez-vous que le flux génère pour chaque post des contenus différents, c'est à nous d'"imprimer" ce que vous voulez).
On peut définir dans le script le nombre de messages qui doivent apparaître lors de l'importation.
Si vous le souhaitez, même à partir de WP, vous pouvez définir le nombre d'"enregistrements" qui sont envoyés au flux.
En gros, on doit remplir ces balises Xhtml avec le contenu des flux importés.
Avec Asp, cependant, en plus de prendre le contenu du flux, on crée également, sous forme de chaînes, le balisage.
Voici le code qui importe et "cycle" sur le flux :
Dans ces lignes il y a à mettre en évidence le lien vers l'url qui génère les flux.
Puis "item" qui serait chaque post dans le flux. Ensuite, on va attribuer des variables en les associant à des balises Xml génériques pour chaque message.
Ainsi, à la variable "description", on associe le tag "desctiption". Pour la date, on fera une double passe. On associe à la variable "date" le tag "pubDate".
Comme il renvoie un format qui ne me plaît pas, on crée la variable "dataIt" à laquelle on applique un "mid" pour extraire une partie de la chaîne.
Ainsi, la variable à utiliser pour "imprimer" le message sera désormais "dataIt" et non plus "date".
On dispose désormais de tout le contenu qui m'intéresse.
Voici le code qui imprime le contenu et le balisage.
Le tout fait 3 fois, ce qui est le nombre de postes qu'on veut afficher sur le site.
Comme vous pouvez le voir, on imprime via Asp à la fois le balisage qui recrée le statique présenté précédemment, et le contenu du message associé aux variables (vous pouvez les voir mis en évidence en gras).
L'instruction conditionnelle if effectue 3 cycles.
Une fois que la variable "cont" est fixée à 3, nous quittons le for initial (premier morceau de code).
Maintenant, si vous testez la page dans votre navigateur (rappelez-vous que la page doit avoir l'extension Asp et que vous avez besoin de IIS pour la tester, ou téléchargez la page sur votre hébergement distant), vous verrez les 3 messages parfaitement importés dans votre site ou votre page personnelle.
Vous remarquerez que, dans le balisage, le billet est entouré d'un div de classe "postBlog".
On a besoin de la classe comme accroche pour le Css et pour formater les posts comme on le souhaite, en les intégrant aux graphiques du site.
Vous pouvez voir le résultat final sur l'épaule droite de mon site web www.alessandrodagnano.com.
Cependant, il y a un problème que on a facilement résolu grâce à l'aide et à la suggestion d'un des amis ou collègues.
En pratique WordPress, exporte les flux en insérant à l'intérieur de la balise "description" puis à l'intérieur du contenu de l'article, une balise
Cette balise a pour source d'image un lien renvoyant au système de statistiques de WP. Depuis le panneau de configuration de WP, on n'a pas pu se débarrasser de ce paramètre, mais on est sûr que c'est impossible.
Cette étiquette
Le site a été conçu pour être validé par Xhtml Strict, mais à cause de cette balise, on recevait plusieurs erreurs, ce qui invalidait le code et rendait tout le travail inutile.
On a cherché dans les forums WP italiens et anglais, demandé de l'aide, mais aucune solution.
Naïvement, via Jquery, on pensait résoudre ce problème, mais javascript fonctionne côté client, donc la suppression n'était qu'apparente.
Le balisage comportait cette balise de toute façon, et le validateur du W3C vous a donné un joli "carton rouge".
La seule solution possible était d'utiliser un code côté serveur.
Comme le stript est en Asp, il faut intervenir dans ce sens sur la variable "description".
On a demandé de l'aide et des conseils à Raphael. Un programmeur expérimenté a la solution prête en 2 minutes.
Remplaçant :
Intercepter dans le contenu "description" (dont on rappelle qu'Asp dans ce cas voit comme une chaîne de caractères), le texte "
Avec les fonctions de chaîne "left" et "instr", Raffaele nettoie la chaîne générée dans "description" en me donnant uniquement le contenu de l'article.
Mises en œuvre possibles
On a déjà utilisé le RSS pour mettre à jour plusieurs sites à la fois.
Un système comme celui décrit peut permettre à ceux qui ne connaissent pas beaucoup la programmation de structurer WP comme un CMS pour mettre à jour leurs pages personnelles.