[spip-dev] Pagination (Was: Proposition d'évolution de SPIP)

En effet, les articles sont, d'une part, très longs et, d'autre part,
abondamment illustrés. J'ai parcouru la doc de SPIP mais il me semble
bien que l'article est indivisible.

Une solution consiste à diviser tes articles en plusieurs articles et
d'ajouter un lien de type [page suivante->artX] en bas de chaque section.

Confronté au même problème, j'ai pour ma part renoncé à cette logique.
Cela nécessite trop de conventions spécifiques dans les squelettes et de reglages finalement pas très pratiques lors de la rédaction des articles.

J'ai opté pour la solution qui exploite le principe du filtre publié dans "spip-contrib". Mais légèrement modifié pour correspondre au résultat souhaité.

Je voulais quelque choses qui reste compatible avec un squelette standard, mais qui puisse être exploité par les squelettes spécifiques qui veulent tirer parti de cette possibilité.

Le filtre est très simple.
Il recherche une balise <PAGE> dans le corps du texte et s'en sert pour effectuer la césure de page. La variable "nopage" est recherchée dans l'url. En son absence le filtre restitue tout l'article amputé de ses balises <PAGE>. Si presente, le filtre resitue le texte correspondant à la "nopage" ieme occurence de la balise.

Si le filtre n'est pas utilisé, le texte contientiendra <PAGE> mais ne sera pas interprété comme une balise HTML valable par le navigateur, et ne sera donc ni affichée ni traitée.

Enfin le filtre génère quelques variables PHP qui donnent les informations utiles pour construire l'URL des pages suivantes et précédentes.

Pour le moment ce principe suffit, mais j'envisage déjà quelque extentions au système pour permettre l'ajout facultatif d'attributs à la balise <PAGE> pour, par exemple permettre la gestion de menu de pagination.

A titre d'exemple:
http://www.vtt.org/vttml/VA.cfm?File=www/2003/dhnet2002.vttml&Pg=01
et le code avec ses balises <PAGE>
http://www.vtt.org/2003/dhnet2002.vttml
qui n'est pas du Spip, ni même du PHP mais cela ullistre le comportement que je souhaite reconstituer en PHP/Spip

Jean-Marc Delforge
VTTnet - www.vtt.org
jm.delforge@vtt.org