Hello Richard,
Je recopie un bout des explications qu'avait données Arno.
A noter que chaque syndication est associée à une rubrique,
il faut donc "naviguer" dans une rubrique (pas la racine)
et être en mode "interface complète".
a+
Antoine.
Arno:
"
- Ajouter ces "liens" dans SPIP. Très facile: dans la colonne de
gauche, lorsque vous "naviguez" dans les rubriques, apparaît un
encadré "Sites syndiqués". Il y a un formulaire d'une seule case:
dans cette case vous indiquez l'URL de la page de syndication du site
visé (par exemple: http://www.vakooler.com/backend.php3). Ca vous
mène à une page qui vous permet de vérifier que ça fonctionne: si ça
fonctionne, la liste des nouveautés ainsi que le titre du site visé
apparaissent. Juste en dessous, un second formulaire est déjà rempli
automatiquement à partir des infos récupérées: le titre du site visé,
l'URL de sa page d'accueil et son descriptif; vous pouvez si
nécessaire modifier ces informations (surtout si le webmestre de ce
site a mal configuré son fichier backend). Validez, ça revient à la
page de la rubrique SPIP, et le site apparaît dans la colonne de
gauche (vous pouvez le supprimer d'un clic).
Pour les boucles, faudra l'ajouter à la documentation, mais en voici
une très simple à recopier dans un squelette de rubrique:
<BOUCLE_syndic(SYNDICATION){id_rubrique}>
<LI><B><A HREF="#URL_SITE">#NOM_SITE</A></B>
<BR>#DESCRIPTIF
<UL>
<BOUCLE_syndic_articles(SYNDIC_ARTICLES){id_syndic}{0,5}{par date}{inverse}>
<LI><A HREF='#URL'>#TITRE</A> [par (#LESAUTEURS), ] [(#DATE|affdate)]
</BOUCLE_syndic_articles>
</UL>
</BOUCLE_syndic>
La boucle "BOUCLE_syndic" est d'un type nouveau: SYNDICATION. Une
telle boucle affiche la liste des sites liés. Ici, la sélection se
fait selon l'id_rubrique de la rubrique dans laquelle on se trouve.
On peut aussi mettre "id_secteur" (récupérer toutes les syndications
de ce secteur), ou "tout" (pour toutes les syndications du site). On
peut bien entendu mettre un classement (par nom_site), et une limite
d'affichage {0,5}. Notez bien: la boucle SYNDICATION récupère le nom,
l'URL et la description des sites syndiqués, et non de leurs brèves.
Pour récupérer la liste des "brèves" (items du "quoi de neuf" de ces
sites), il faut une seconde boucle, cette fois du type
SYNDIC_ARTICLES. Cette boucle récupère la liste des articles
eux-mêmes, et non plus le nom des sites syndiqués. Ici, on l'a
installée à l'intérieure de la première boucle, ce qui permet une
présentation selon les sites syndiqués (on affiche le nom d'un site,
puis la liste de ses nouveautés, puis on recommence avec un autre
site syndiqué). D'où la sélection par {id_syndic}. On pourrait se
passer de la première boucle, et attaquer directement avec la liste
des brèves, en sélectionnant ainsi:
<BOUCLE_nouveautes(SYNDIC_ARTICLES){id_rubrique}{0,5}{par date}{inverse}>
(comprendre: sélectionner les 5 brèves les plus récentes des sites
liés à cette rubrique). Par rapport à la première méthode en deux
boucles imbriquées, ici on récupère une seule liste dans laquelle les
brèves de plusieurs sites sont mélangées).
ATTENTION: le fonctionnement de la syndication implique que votre
site fasse des appels à d'autres sites. Cela peut s'avérer impossible
sur certains serveurs (protection). On a déjà choisi une méthode qui
permet de contourner la limitation la plus répandue sur les serveurs
grand public, mais on ne peut garantir que ça fonctionne partout. Et
là, on n'y peut vraiment rien. Mais bon, ça ne doit pas bloquer le
fonctionnement de votre site: au pire, vous ne pourrez simplement pas
ajouter de sites syndiqués dans votre machin.
ATTENTION 2: qui dit appels vers l'extérieur dit: "vous dépendez de
l'extérieur". Si un serveur syndiqué déconne, ça peut poser des
problèmes (pages difficiles à calculer?). Bon, à priori, avec la
méthode qu'on a choisie, ce genre de gel desvrait être limité,
m'enfin faut en être conscient: si vous appelez 200 sites sur toutes
les pages de votre site, ça risque de ne pas très bien se passer.
Ah oui, autre chose: par rapport à phpNuke, le système de syndication
de SPIP intègre la date de publication et le nom des auteurs. Si un
site sans date de publication est syndiqué (phpNuke), votre site
ajoutera aux articles récupérés la date à laquel il les a récupérés
pour la première fois. Du coup, au moment de la mise en route d'une
syndication, ces dates seront "fausses", c'est-à-dire fixées toutes
au jour de cette syndication; mais au fur et à mesure, ça redeviendra
cohérent (puisque les articles suivants seront datés du moment de
leur apparition en ligne). De plus, SPIP conserve dans sa base toutes
les références des articles syndiqués: vous n'êtes donc pas limités
aux 10 ou 15 articles affichés "en ce moment" dans le fichier backend
du site syndiqué, vous pouvez afficher ceux que vous avez stockés sur
votre site (si au bout d'un an, vous voulez afficher 500 liens "quoi
de neuf", libre à vous...).
Dernière chose: les fichiers backend sont récupérés à chaque mise à
jour des pages (quand SPIP va chercher une page en cache, rien n'est
recalculé). Donc si vous faites une page rubrique remise à jour
toutes les 2 semaines, un site syndiqué ayant des mise à jour toutes
les heures ne sera pas correctement référencé! A l'inverse, si vous
fixer un délais du cache très court (genre 10 secondes comme le
préconisait Richard), vous faites un appel vers les sites syndiqués
toutes les 10 secondes: votre site risque de ramer sévère.
"
wild medito wrote: