Génération de flux rss (xml php)
On se propose de générer un fichier xml qui permet d'afficher un flux rss.
La saisie des informations est effectuée dans une animation flash qui envoie celles-ci à un script PHP qui,
aprés traitement va créer le fichier xml nécessaire au flux.
Au final, votre navigateur affichera (par exemple) quelquechose comme :
Le contenu du fichier xml créé par le script php étant :
( je l'ai mis en arborescence pour plus de lisibilité )
Naturellement, ceci n'est qu'un exemple car il existe d'autres balises : image, guid, ....
Cet exemple ne s'adresse pas à un débutant car il nécessite une bonne compréhension, et c'est pourquoi
la méthodologie de création des objets sera succincte.
Les différentes étapes vont être décrites maintenant.
Création des Objets
1 - Définissez les dimensions générales 800x600. Couleur de fond quelconque.
Frame rate = 25.
2 - L'objectif est de créer cette boite de dialogue :
Cette boite va se composer ( voir arborescence ) de :
- d'une étiquette ( nom : Génération flux rss ) Arial 16 , largeur 160, hauteur 20, _x=400 _y=20
- d'une étiquette ( nom : Titre ) Arial 16 , largeur 41, hauteur 18, _x=15 _y=55
- d'une étiquette ( nom : Url ) Arial 16 , largeur 33, hauteur 18, _x=15 _y=80
- d'une étiquette ( nom : Description ) Arial 16 , largeur 88, hauteur 18, _x=15 _y=105
- d'un champ ( nom : titre0_txt , type : Input, var :title0, target coché )
_x=150 _y=55 w=357 h=18
La 5ème icône sous var doit être cliquée pour obtenir un fond avec bordure.
- d'un champ ( nom : url0_txt , type : Input, var :url0, target coché )
_x=150 _y=80 w=357 h=18
La 5ème icône sous var doit être cliquée pour obtenir un fond avec bordure.
- d'un champ ( nom : descr0_txt , type : Input, var :descr0, target coché )
_x=150 _y=190 w=555 12 lignes
La 5ème icône sous var doit être cliquée pour obtenir un fond avec bordure.
- d'une ligne de séparation
- d'une étiquette ( nom : Titre ) Arial 16 , largeur 41, hauteur 18, _x=15 _y=230
- d'une étiquette ( nom : Url ) Arial 16 , largeur 33, hauteur 18, _x=15 _y=255
- d'une étiquette ( nom : Catégorie ) Arial 16 , largeur 90, hauteur 18, _x=15 _y=280
- d'une étiquette ( nom : Description ) Arial 16 , largeur 89, hauteur 18, _x=15 _y=305
- d'un champ ( nom : titre1_txt , type : Input, var :title1, target coché )
_x=150 _y=230 w=357 h=18
La 5ème icône sous var doit être cliquée pour obtenir un fond avec bordure.
- d'un champ ( nom : url1_txt , type : Input, var :url1, target coché )
_x=150 _y=255 w=357 h=18
La 5ème icône sous var doit être cliquée pour obtenir un fond avec bordure.
- d'un champ ( nom : cat1_txt , type : Input, var :cat1, target coché )
_x=150 _y=280 w=357 h=18
La 5ème icône sous var doit être cliquée pour obtenir un fond avec bordure.
- d'un champ ( nom : descr1_txt , type : Input, var :descr1, target coché )
_x=150 _y=390 w=555 12 lignes
La 5ème icône sous var doit être cliquée pour obtenir un fond avec bordure.
- d'une ligne de séparation
- d'une étiquette ( nom : Titre ) Arial 16 , largeur 41, hauteur 18, _x=15 _y=430
- d'une étiquette ( nom : Url ) Arial 16 , largeur 33, hauteur 18, _x=15 _y=455
- d'une étiquette ( nom : Catégorie ) Arial 16 , largeur 90, hauteur 18, _x=15 _y=480
- d'une étiquette ( nom : Description ) Arial 16 , largeur 89, hauteur 18, _x=15 _y=505
- d'un champ ( nom : titre2_txt , type : Input, var :title2, target coché )
_x=150 _y=430 w=357 h=18
La 5ème icône sous var doit être cliquée pour obtenir un fond avec bordure.
- d'un champ ( nom : url2_txt , type : Input, var :url2, target coché )
_x=150 _y=455 w=357 h=18
La 5ème icône sous var doit être cliquée pour obtenir un fond avec bordure.
- d'un champ ( nom : cat2_txt , type : Input, var :cat2, target coché )
_x=150 _y=480 w=357 h=18
La 5ème icône sous var doit être cliquée pour obtenir un fond avec bordure.
- d'un champ ( nom : descr2_txt , type : Input, var :descr2, target coché )
_x=150 _y=590 w=555 12 lignes
La 5ème icône sous var doit être cliquée pour obtenir un fond avec bordure.
- d'un bouton ( nom : gen_btn , target coché ) _x=651 _y=40 w=150 h=22
- d'un texte ( nom : msg_txt, type : dynamic, varmessage, target coché )
_x=530 _y=60 w=268 h=20w
Script de l'animation.
Dans Scene_1, on va placer une fonction de création de date de publication.
Le format d'affichage sera dd-mm-yyyy
Entrez le script suivant dans Scene_1 :
Remarque :
SwishMax2 ne tolère que l'AS2. Par conséquent, le code suivant serait obsolète pour la dernière version de Flash,
la classe XML a été renommée XMLdocument en AS3 pour des raisons de compatibilité.
Entrez le script suivant pour le bouton gen_btn :
L'objet rssXML, associé à data["xml"], va servir à envoyer un document xml à un script php nommé generate.php
situé sur le serveur.
Ce script php ( voir plus loin ) va retourner une réponse sous forme de document xml qui va être traité par ReplyXML.
Cette dernière fonction va réagir en fonction de l'attribut du noeud xml REPLY.
Si le texte est <REPLY STATUS="OK" /> l'attribut STATUS a pour valeur OK et un message de succés est affiché.
Si le texte est <REPLY STATUS="FAILURE" /> l'attribut STATUS a pour valeur FAILURE et un message d'échec va s'afficher.
script PHP generate
Avec votre éditeur de texte préféré, entrez ce qui suit et sauvez sous le nom generate.php.
Et voilà, c'est terminé !
( Consultez aussi la rubrique PHP du site )