BMR <bmr <at> ediweb.org> writes:
Salut,
L'inconvénient d'une fonction php c'est qu'elle ne pourra pas bénéficier
du cache spip. N'y a-t-il pas moyen de faire autrement pour récupérer
les publications (p.ex. fil RSS) ?
Je ne sais pas comment adapter le fil RSS du gestionnaire de bibliographie
(wikindx), pour faire ce que je veux (et je ne suis pas sûr que ce soit très
simple). Le gestionnaire de bibliographie est sur un autre ordinateur. J'ai
vaguement bidouillé wikindx pour pouvoir appeler une page avec comme argument
auteur, groupe et années recherchées et qui en échange renvoie un fichier
html contenant la bibliographie associée. Mon script php fait essentiellement
un appel vers wget, puis une inclusion du fichier téléchargé.
Par contre, j'ai mis le php dans un plugin (à la réflexion, j'aurais sans
doute dû utiliser un modèle).
Par souci de clarté sur ce que je veux réaliser, même si c'est un peu long,
voici un exemple de ce que j'ai déjà fait (et qui marche). J'ai créé une
rubrique pour chacun des trois groupes. Ensuite, j'ai adopté le squelette suivant
(mis dans rubrique-4.html et dérivé du kit SPIP CNRS):
«
<?php $type_page='rubrique'; ?>
<INCLURE{fond=entete}{id_rubrique}{lang}>
<BOUCLE_rubrique_principal(RUBRIQUES){id_rubrique}>
<INCLURE{fond=rubrique_corps}{id_rubrique}{lang}>
<!-- Liste des articles eventuels de la rubrique
<BOUCLE_articles(ARTICLES){lang ?}{id_rubrique}{doublons}{par num titre}>
<div class="resume">
[<span class="vignette">(#LOGO_ARTICLE)</span>]
<h3><a href="#URL_ARTICLE">[(#TITRE|supprimer_numero)]</a></h3>
[<p class="soustitre">(#SOUSTITRE)</p>]
<p>[(#INTRODUCTION)]</p>
<p class="suite"><a href="#URL_ARTICLE"><:lire_la_suite:></a></p>
</div>
</BOUCLE_articles>
-->
<!-- Liste des sous-rubriques eventuelles de la rubrique -->
<B_sous_rubriques>
<div class="autres">
<p><:sous_rubriques:> :</p>
<ul class="liste-liens">
<BOUCLE_sous_rubriques(RUBRIQUES){id_parent}{par num titre}>
<li><a href="#URL_RUBRIQUE">[(#TITRE|supprimer_numero)]</a></li>
</BOUCLE_sous_rubriques>
</ul>
</div>
</B_sous_rubriques>
</BOUCLE_rubrique_principal>
<p><:aucune_rubrique:></p>
<//B_rubrique_principal>
[(#TITRE|Affiche_Bibliographie{#ID_RUBRIQUE})]
<INCLURE{fond=pied}{lang}>
»
Le rendu donne quelque chose du genre
Bibliographie du groupe xxx
Année 2006
référence 1
référence 2
référence 3
..
Année 2005
...
Je pensais qu'en procédant de la sorte le système de cache de SPIP pouvait
intervenir. Mais bon, s'il faut, je peux toujours faire mon propre système de
cache, ça fait partie des choses que je sais faire.
Sinon au niveau conception je ferais autrement. Il existe un statut
visiteur pour les auteurs. Le visiteur ne peut pas accéder à l'espace
privé de Spip. Donc tu pourrais faire de chaque personne un
auteur-visiteur.
Dans ta rubrique "pages persos", tu peux créer une page par personne,
dont l'auteur serait le visiteur correspondant. Ce qui te permettra
d'afficher la page perso à l'aide d'une boucle auteurs.
De plus tu pourras créer un squelette publications.html, qui afficherait
les publications d'un auteur. Et donc afficher la page des publications
avec le lien #URL_PAGE{publications, id_auteur=#ID_AUTEUR}
J'aurais sans doute préféré une solution plus automatisée, mais ça devrait
faire l'affaire. Il faudra juste que je vérifie ce qui se passe lorsque la page
perso d'une personne n'est pas écrite par cette personne (on a quelques
personnes qui ne rempliront jamais leur page elle mêmes). En tous cas, merci
beaucoup pour ton aide.