Un script d'affichage de fils Atom : VBRAtom

Mammouth du PHP | 2937 Messages

24 avr. 2008, 17:44

Salut à tous !

Il s'agit d'une classe codée en PHP 5 qui se base sur SimpleXML et permet une mise en cache du(des) fil(s) Atom pour une durée paramétrable (par défaut, 4 heures).

On trouvera quelques exemples sur le site support (avec une démo).

Une documentation de VBRAtom est également disponible en ligne.

VBRAtom est téléchargeable sous deux formats : zip et tar.gz et est sous licence GNU GPL.

Version actuelle : 2.0.1
Modifié en dernier par Victor BRITO le 25 oct. 2009, 18:26, modifié 12 fois.

Mammouth du PHP | 2937 Messages

02 août 2008, 03:46

Attention ! la version 1.1 apporte d'importantes modifications.

Les paramètres facultatifs de la méthode entree () sont désormais regroupés en un seul paramètre (facultatif également), qui est un tableau qui comporte, par défaut, les couples clé / valeur suivants :
array (
  'titre' => '',
  'extrait' => false,
  'nofollow' => false,
  'date' => false,
  'date_format' => '%d-%m-%Y',
  'date_locale' => 'fr_FR',
  'nombre_entrees' => 0
)
Autrement dit,
//Instanciation de la classe
require ('vbratom.php');
$vbratom = new VBRAtom;

// Application des paramètres facultatifs par défaut
$vbratom -> entree ('http://exemple.com/fil-atom', 'fil-atom');

// Modification de ces paramètres
$parametres = array (
  'titre' => 'Titre personnalisé',
  'extrait' => true,
  'nofollow' => true,
  'date' => true,
  'date_format' => 'on %A, %B %e %Y, at %H:%M',
  'date_locale' => 'en_EN',
  'nombre_entrees' => 2
)
$vbratom -> entree ('http://exemple.com/fil-atom', 'fil-atom', $parametres);
Comme vous l'aurez remarqué, la version 1.1 apporte la possibilité d'afficher la date de mise à jour des entrées (à côté de leur intitulé) et de la formater selon strftime() couplé à setlocale(), ainsi que de n'afficher qu'un nombre restreint d'entrées par fil (si le nombre est fixé à 0, toutes les entrées disponibles dans le fil seront affichées).

Mammouth du PHP | 2937 Messages

03 août 2008, 19:54

Avec la version 1.1.1 (disponible depuis aujourd'hui), lorsqu'on ne modifie que partiellement les paramètres facultatifs de la méthode entree (), on n'est plus obligé de déclarer les clés associatives dont on ne modifie pas la valeur par défaut. Autrement dit, le code suivant
//Instanciation de la classe
require ('vbratom.php');
$vbratom = new VBRAtom;

// Modification des paramètres concernant le titre et l'affichage de la date
$parametres = array (
  'titre' => 'Titre personnalisé',
  'date' => true
)
$vbratom -> entree ('http://exemple.com/fil-atom', 'fil-atom', $parametres);
ne générera pas d'erreur (les autres paramètres restent à leur valeur par défaut : pas d'affichage d'extraits, pas de rel="nofollow", pas de restriction du nombre d'entrées et date au format jj-mm-aaaa avec un setlocale() à fr_FR pour son second argument).

Mammouth du PHP | 2937 Messages

04 août 2008, 10:06

Attention ! un bug dans une expression régulière (en gros, l'oubli d'un échappement qui faisait échouer tout affichage de fil) a été corrigé. Il est donc recommandé de passer à la version 1.1.2.

Mammouth du PHP | 2937 Messages

23 août 2008, 23:57

La version 1.2.0 est disponible depuis quelques heures. Elle introduit la fonctionnalité suivante (qui fera certainement plaisir à HyWaN ;) ) : la possibilité de personnaliser le balisage HTML employé pour afficher les différentes parties récupérées du fil Atom :
  • pour l'intitulé du fil, les éléments HTML utilisables sont les éléments h1 à h6 (par défaut, h2) ;
  • pour l'intitulé des entrées, les éléments HTML utilisables sont les mêmes que ci-dessus, plus ol et ul (par défaut, ul, et non plus h3 comme c'était le cas jusqu'ici) ;
  • pour les extraits des entrées, il y a la possibilité de les enrober dans l'élément HTML blockquote (par défaut, pas de blockquote ajouté).
Pour personnaliser tout cela, trois nouvelles clés sont ajoutées au tableau des paramètres du dernier argument (facultatif) de la méthode entree () : balise_titre (valeur par défaut : 'h2'), balise_entree (valeur par défaut : 'ul'), citation_extrait (valeur par défaut : false).
//Instanciation de la classe 
require ('vbratom.php'); 
$vbratom = new VBRAtom; 

// Modification des paramètres concernant le balisage 
$parametres = array ( 
  'extrait' => true,
  'balise_titre' => 'h1', 
  'balise_entree' => 'h2',
  'citation_extrait' => true
) 
$vbratom -> entree ('http://exemple.com/fil-atom', 'fil-atom', $parametres);
Ce code générera quelque chose de ce genre :

Code : Tout sélectionner

<h1><a href="http://exemple.com">Intitulé du fil Atom</a></h1> <h2><a href="http://exemple.com/1.html">Intitulé de l'entrée</a></h2> <blockquote cite="http://exemple.com/1.html"> <p>Extrait de l'entrée.</p> </blockquote>

Mammouth du PHP | 2937 Messages

09 sept. 2008, 14:34

Du nouveau sur le site support de VBRAtom : désormais, il y a une documentation en ligne. :)
Modifié en dernier par Victor BRITO le 25 oct. 2009, 18:31, modifié 1 fois.

Mammouth du PHP | 2937 Messages

31 oct. 2008, 23:31

La version 1.2.1 permet d'utiliser dl comme élément pour le balisage des entrées.

Exemple :
//Instanciation de la classe 
require ('vbratom.php'); 
$vbratom = new VBRAtom; 

// Modification des paramètres concernant le balisage 
$parametres = array ( 
  'extrait' => true,
  'balise_titre' => 'h1', 
  'balise_entree' => 'dl'
) 
$vbratom -> entree ('http://exemple.com/fil-atom', 'fil-atom', $parametres);
Ce code générera quelque chose de ce genre :

Code : Tout sélectionner

<h1><a href="http://exemple.com">Intitulé du fil Atom</a></h1> <dl> <dt><a href="http://exemple.com/1.html">Intitulé de l'entrée</a></dt> <dd> <p>Extrait de l'entrée.</p> </dd> </dl>

Mammouth du PHP | 2937 Messages

10 nov. 2008, 22:25

La version 1.2.2 améliore la résolution des URLs relatives en tenant compte des protocoles FTP, Gopher et mailto, et ce pour éviter que les URLs commençant par ces trois schémas soient transformées en URLs absolues qui en feraient des liens morts.

Mammouth du PHP | 2937 Messages

07 déc. 2008, 17:22

La version 1.3.0 apporte les possibilités suivantes :
  • faire que l'intitulé du fil Atom ne soit pas un lien,
  • modifier l'URL vers laquelle pointe le lien dudit intitulé, si on le laisse comme lien.
Prenons un exemple : nous souhaitons afficher le fil Atom d'un tag d'un blog. Il se trouve que le fil Atom indique comme URL accompagnant son intitulé celle de la page d'accueil du blog et non celle du tag en question. Or, nous voulons que l'intitulé du fil Atom soit affiché sous forme de lien pointant vers l'URL la plus pertinente (celle du tag). Voici la solution :
// On appelle le fichier qui constitue le script
require ('vbratom.php');

// Instanciation
$vbratom = new VBRAtom;

// Le paramètre permettant de modifier l'URL concernant l'intitulé du fil Atom
$parametres = array ('titre_url', 'http://exemple.com/blog/tag/mon-tag');

// Affichage du fil Atom en question
$vbratom -> entree ('http://exemple.com/blog/tag/mon-tag/feed/atom', 'identifiant-du-fil', $parametres);
Ainsi, le lien de l'intitulé du fil Atom pointera vers http://exemple.com/blog/tag/mon-tag et non vers http://exemple.com/blog/.

En outre, la version 1.3.0 améliore l'affichage de la notification d'échec de chargement du fil Atom, en indiquant l'URL du fil Atom incriminé.

Mammouth du PHP | 2937 Messages

08 mars 2009, 19:41

La version 1.4.0 offre la possibilité d'afficher l'auteur (ou les auteurs) de chaque entrée, ainsi que son URL, et ce grâce à deux nouveaux paramètres : auteurs_entree et auteurs_entree_url (plus de détails dans la documentation de VBRAtom).
Modifié en dernier par Victor BRITO le 25 oct. 2009, 18:30, modifié 1 fois.

Mammouth du PHP | 2937 Messages

25 oct. 2009, 18:28

Le code a été complètement réécrit, tout en s'ouvrant à l'internationalisation et à la localisation, ce qui explique le changement de version majeure. À peine VBRAtom 2 est-il sorti qu'un bug a été vite décelé et corrigé, c'est pourquoi je vous parle directement de la version 2.0.1. Autre détail important : la version minimale de PHP requise est, désormais, la 5.2.

ViPHP
ViPHP | 4674 Messages

27 oct. 2009, 11:17

Hey :-),

Force la 5.2.3 ou la 5.2.4 pour la version mineure. Moins de bugs.
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).