J'ai réalisé cette classe PHP5 dans le but de pouvoir générer des flux Atom de manière simple et rapide.
Pour y arriver, je me suis basé sur la documentation officielle du format XML Atom ainsi que sur un livre dédié à la syndication Atom et RSS.
Cette classe offre la possibilité de générer un flux basique ou plus complexe. De plus, il est possible de choisir entre un affichage direct du flux dans le navigateur (ou aggrégateur) ou bien une sauvegarde du code dans un fichier XML.
Pourquoi Atom et pas RSS ?
J'ai choisi de m'orienter sur Atom pour plusieurs raisons :
* Je n'ai pas trouvé de classe existante permettant de générer des flux Atom. On n'en trouve en revanche un nombre suffisamment conséquent pour des flux RSS, qu'elles soient écrites en PHP4 ou PHP5
* RSS et Atom sont tous les deux des formats XML. Néanmoins, Atom est bien plus structuré que sont concurrent
* Atom est en phase de devenir le standard des formats de syndication par le W3C
* Atom corrige aussi des faiblesses reprochées au format RSS
* Il est ouvert ouvert et simple
* Il redonne plus de place et de sens au contenu
* Je souhaitais me lancer un défi de programmation orientée objet
* Faire de cette classe, une application réutilisable et implémentable facilement
Pour information, j'ai décidé de ne pas utiliser la DOM Document API de PHP pour générer le flux car cela aurait causé trop de surchage pour le serveur. Une simple concaténation dans une variable locale suffit pour générer le code XML du flux. Pourquoi faire compliquer alors que la simplicité nous tend la perche ^^