Votre avis sur un générateur de flux rss et sitemap xml

WRInaute passionné
Bonjour,

Pour des besoins perso et pour apprendre un peut mieux le php/sql/css je me suis créé un générateur de flux rss et sitemap xml. J'aimerais avoir vos avis sur celui-ci pour voir mes erreurs de "débutant" , amélioration, si le flux rss et xml générés sont codés correctement et suffisant en l'état ...etc.
L'adresse: http://reflink.fr/generateur-de-flux-rss/
login:admin1
pass:admin
Vous pouvez tout tester/supprimer/ajouter ...
Merci
 
WRInaute passionné
Excellent !

Par contre il va falloir faire des contrôles !
Car suite à une insertion de test débile, le flux RSS n'est plus valide :
Code:
http://validator.w3.org/feed/check.cgi?url=http%3A%2F%2Freflink.fr%2Fgenerateur-de-flux-rss%2Frss.xml

Un strip_tags serait bien vu pour éviter les balises html
Petite astuce pour l'url afin de rendre le -http:// facultatif :
$url=preg_replace("!^http://!","",$url);
Ensuite, je suppose que tu as compris... :D

Pour la date je vois que tu as fait le nécessaire !

Sinon, chapeau ça va en intéresser plus d'un !
 
WRInaute passionné
david96 a dit:
Sa me surprend de lire ce mot :D mais sa fait vachement plaisir.
Merci pour l'astuce de l'url, je vais l'appliquer demain et il est vrai que je n'ai pas encore mis en place de réelle contrôle, juste quelques visuelles sur la partie admin et pour tout dire, je finis par m'y perdre un peut ^^.

Sinon, la possibilité d' insertion de balises html dans la description est voulut, c'est pour sa que j'ai mis des <![CDATA[...]]> en place.

Merci de t'être attardé sur ce poste :wink:
 
WRInaute passionné
Pour l'emploi du CDATA je subodorais qu'il s'agissait de ça ! :)
Pour utiliser du HTML tout en étant valide, l'astuce est de transformer les conteneurs en entité :
Code:
< : &lt;
> : &gt;
Exemple pour la balise <strong> :
Code:
&lt;strong&gt;
Ensuite tu autorises avec la fonction strip_tags() les attributs HTML que tu désires, par exemple pour les plus communs :
Code:
strip_tags($description,'<acronym><i><em><b><strong>');
Et ensuite place aux regex de folie ! :P
 
WRInaute passionné
Pour le "regex de folie", sa va attendre .. je n'ai pas encore le niveau :wink: .
J'ai modifié tout les champs url afin que si l'url entré commence par www ou sans -http://, celui ci soit ajouté automatiquement lors de l'enregistrement/modification.
J'ai également ajouté des "visuelles ou messages d'erreur" dans la partie admin.

Par contre je n'ai pas comprit le sens de ta phrase :"Pour l'emploi du CDATA je subodorais qu'il s'agissait de ça !" ?

Vue que j'autorise l'emploie du html dans la description, j'ai simplement ajouté dans le fichier rss.xml les balises CDATA pour que celui-ci soit valide.
 
WRInaute passionné
Je viens de faire d'autres tests :
Apparemment la date ne prend plus en compte le format à la Française jj/mm/aaaa qui se transformerait automatiquement en aaaa/mm/jj, à mettre avant le checkdate
Code:
$formatF=preg_match('!^[0-9]{2}/[0-9]{2}/[0-9]{4}$!',$daate);
if($formatF)
{
   // Si le format de la date est à la française, on le met à l'anglaise
   $daate=preg_replace('!^([0-9]{2})/([0-9]{2})/([0-9]{4})$!','$3-$2-$1',$daate);
}

Pour l'uploade d'image, il serait bon de limiter sa taille (octets et mesures), car j'ai put en mettre une de 1024/800, ce qui est énorme :D
Pour la taille en octets :
Code:
$taille=$_FILES["iamage"]['size'];
if($taille>10240)
{
echo "<p><strong>Votre image dépasse la capacité autorisé.</p>";
exit()
}
Pour ses mesures :
Code:
	list($width, $height) = getimagesize($chemindelimage);
if($width<"150" && $height<"150")
{
		echo "<p>Les dimensions de votre image ne sont pas bonnes.</p>";
	exit();
}

Comme tu autorises le html à 100%, j'ai put mettre des liens douteux, attention grosse faille de sécurité à ce niveau ! :?

Pour le titre, je mettrais un <input="text" name="taitre" maxlength="100" tabindex="1" /> avec une limite de caractères et non un textaera, ça éviterait, même si tu as fais une regex pour supprimer les retours à la ligne de tenter le diable. De plus, ça optimiserai la base de données.

Voili, voilou ! :P
 
WRInaute passionné
Merci de tes testes :D .

J'aurais peut être du préciser que ce "script" sera sans doute destiné à être utilisé sur son propre site et non depuis le mien!

Pour la date, c'est normal. Elle a toujours été affiché ainsi aaaa/mm/jj et non l'inverse. En cherchant un peut sur le net, j'ai vue à plusieurs reprise que la date était affiché de cette façon. D'autre par sous mysql je suis en type "DATE" pour ce champ et si j'interviens directement dans ma bd pour changer la date manuellement, celle ci s'affiche de la même façon ... je me suis dit que c'était donc bon comme cela! .. je me suis planté ?

Pour l'affichage des images, c'est également volontaire car théoriquement la personne administrant son propre flux depuis son site, sait par avance que l'image ne doit pas être énorme et au pire, les sites qui diffusent des flux rss tiers diminuent la taille des images de leurs cotés pour l'adapter à leurs sites.

Idem pour les "titres", je part du principe qu'un webmaster qui s'intéresse un peut au flux rss sait ce qu'il doit ou ne doit pas faire ... idem du coté des "diffuseurs" qui savent tronquer un titre trop long.
..mais je prend tout en compte quand même :D .
 
WRInaute passionné
david96 a dit:
Si c'est du côté admin, tout va bien alors ! :D
Tu me rassure :wink: !

Ceci dit, il m'est bien passé en tête l'idée de pouvoir autoriser directement depuis mon site la création/gestion de flux rss mais ce n'ai pas de mon petit niveau pour le moment et je ne sais pas comment faire ... on verra plus tard ^^.

Sinon, les pages sont "protégées" par session .. est ce suffisant ?

J'ai également un doute sur le fichier sitemap.xml généré, à savoir si les balises de bases sont suffisantes:
Code:
<urlset>
	<url>
<loc>http://...</loc>
<lastmod>2008-02-20</lastmod>
</url>
	<url>
<loc>http://....</loc>
<lastmod>2008-02-20</lastmod>
</url>
</urlset>
Merci :D
 
WRInaute passionné
Je viens de relever un "hic" dans mon générateur pour la partie sitemap.xml ... J'ai crus comprendre que Google prenait en compte que les url du répertoire ou le fichier se trouve ... ais je bien comprit ?
Merci
 
Discussions similaires
Haut