Mise à jour : Franz, 14/10
De quoi on parle
Les trackbacks servent à signaler à un site distant qu’on fait un lien vers celui-ci sur son propre site. Autrement dit, quand on fait référence à une page sur Internet dans un article SPIP, on cherchera à faire savoir au site distant que cette référence existe.
Cela demande de respecter un certain formalisme, tant sur notre site que sur le site distant :
http://www.movabletype.org/trackbac...
http://fr.wikipedia.org/wiki/Trackback
http://climbtothestars.org/archives...
Installation pour SPIP
- Les choix techniques
Contrairement à la version précedente, cette ’bidouille’ modifie le code de spip et altère la base de données.
Récuperer sur la zone les fichiers suivants
- ajouter la ligne :
include_local("inc-trackback.php"); dans le fichier mes_fonctions.php3
- fichiers ajoutés
| nom | fonction |
|---|---|
spip_tb.php |
reception des trackbacks |
inc-trackback.php |
éléments de squelette |
ecrire/inc_trackback.php |
fonctions de trackbacks |
ecrire/envoi_trackback.php |
envoi des trackbacks vers d’autre sites (par article) |
ecrire/controle_trackbacks.php3 |
gestion des trackbacks reçus |
ecrire/lang/trackbacks_fr.php3 |
fichier de langue |
ecrire/lang/trackbacks_en.php3 |
fichier de langue |
ecrire/img-pack/trackback-24.png |
icône |
- fichiers modifiés
| nom | modification |
|---|---|
ecrire/articles.php3 |
lien vers formulaire d’envoi & paramétrage unitaire |
ecrire/breves_voir.php3 |
lien vers formulaire d’envoi |
ecrire/config-contenu.php3 |
Paramétrage global |
ecrire/controle_forum.php3 |
Ajout d’un critère pour ne pas prendre en compte les trackbacks dans cette page |
ecrire/inc_config.php3 |
Valeurs par défaut |
ecrire/inc_forum.php3 |
Mention de [TRACKBACK] |
ecrire/inc_presentation.php3 |
Mention de [TRACKBACK], ajout d’un lien dans le menu vers la page controle_trackbacks.php3 |
ecrire/inc_sites.php3 |
POST dans recuperer_page() |
- requêtes SQL à effectuer
ALTER TABLE `spip_forum` ADD `trackback` VARCHAR( 3 ) DEFAULT 'non' NOT NULL ;
ALTER TABLE `spip_forum` ADD INDEX ( `trackback` ) ;
ALTER TABLE `spip_articles` ADD `accepter_trackback` VARCHAR( 3 ) NOT NULL ;
- Mise à jour si vous avez déjà essayé l’ancienne version
- SQL :
UPDATE `spip_forum` SET `statut`='publie', `trackback`='oui' WHERE `statut`='tbpublie' ;
UPDATE `spip_forum` SET `statut`='prop', `trackback`='oui' WHERE `statut`='tbprop' ;
UPDATE `spip_forum` SET `statut`='off', `trackback`='oui' WHERE `statut`='tboff' ;
- SQL :
- Suppresion de fichiers :
ecrire/articles_trackback.php
ecrire/trackback_envoi.php
Vous devez aussi supprimer le code de ecrire/mes_options.php3 concernant le champ extra "accepter_trackbacks"
Eléments de squelette
Les trackbacks reçus sont stockés dans la même table que les messages publics. On les récupère donc avec une boucle FORUMS.
- Boucle & Critère
La boucle FORUMS est modifiée pour que le critère
{trackback}sépare les messages publics en deux. En l’absence de ce critère, les messages affichés sont les commentaires classiques saisis à partir des formulaires de SPIP. Quand ce critère est présent, la boucle affichera les messages reçus via l’interface de trackback. - Balises On définit deux balises supplémentaires à placer dans une boucle BREVES ou ARTICLES :
- #URL_TRACKBACK : Adresse absolue qu’un site distant doit contacter pour effectuer un ’ping’.
- #PARAMETRES_TRACKBACK : bien que n’affichant aucun paramètre, cette balise fonctionne comme son homologue de forums. Si les trackbacks sont acceptés, un espace sera affiché et permettra d’afficher du code. Si les trackbacks sont désactivés, rien ne s’affiche. (Note:On pourrait se passer d’une des deux balises si #URL_TRACKBACK était aussi conçus pour jouer le rôle de test.)
- Codes d’exemple :
Voici le code à produire dans l’entête d’une page html pour permettre la découverte automatique de l’adresse de trackback :
<head> ...
... </head>
Voici celui qui permettra d’afficher l’adresse dans la page pour un trackback ’manuel’ :
<p>[Pour faire un trackback sur cet article :(#PARAMETRES_TRACKBACK|sinon{Les trackbacks sont fermés pour cet article})#URL_TRACKBACK]</p>Alternativement :
<a href="#URL_TRACKBACK" rel="trackback">trackback</a>
La boucle suivante listera les trackbacks d’un article
Tous ces exemples peuvent être adaptés aux Brèves.
Suivi & Envoi
- Le suivi des trackbacks reçus se fait dans les mêmes pages que les forums (puisque ce sont des forums avec une mention particulière) et ils se gèrent/modèrent de la même manière que des messages publics classiques
- Pour envoyer des trackbacks, il faut être, au minimum, administrateur restreint de la rubrique dans laquelle l’article ou la brève a été publié. Dans le cadre contenant le lien "Voir en ligne", apparaît un lien pointant vers le formulaire d’envoi. Il contiendra la liste des URLs de trackbacks découvertes par SPIP et un résumé par défaut basé sur le contenu de la balise #INTRODUCTION. Vous pouvez modifier les deux contenus avant d’envoyer. Une fois fait, les résultats des "pings" effectués s’affichent en bas. Ces résultats ne sont pas historisés dans cette version.
Paramétrage
- Global : Configuration/Interactivité. Suivant le modèle des forums, on désactive globalement les trackbacks ou on les active avec une modération à postériori (défaut) ou à priori.
- Unitaire : Sur la page d’un article, dans le cadre Forum & Pétition (qu’il faudra renommer Forum, Trackback & Pétition). Par défaut, c’est la valeur du paramètre global. On peut définir l’activation et la modération d’un article individuellement.
Développement à faire et/ou à venir
-
Fichiers de langues à finaliserFranz l’a fait ! :) - Amélioration de la gestion de la conversion des données échangées via une meilleure prise en compte des charsets locaux et distants (prise en charge utf8)
- Dans la config, créer une option permettant de désactiver totalement les tb (tous les boutons disparaissent alors des différents menus). Il est fait, mais il ne fonctionne pas.
- Point de vue ergonomie : mieux distinguer les deux aspects des tb : réception de pings venant d’autres sites et envois de ping vers d’autres sites. Les options ne sont pas les mêmes pour chacun de ces deux fonctionnalités et il n’est pas évident pour quelqu’un qui ne connaît pas de comprendre immédiatement le fonctionner du bazar
- Créer un fil RSS (sur la page
controle_trackbacks.php3) permettant de suivre les trackbacks reçus - Ecrire l’aide en ligne relative aux tb et créer les liens qui vont biens
- Dans la config, modifier l’intitulé de l’option permettant de s’abonner aux forums (ajouter "et aux trackbacks")
- Modifier le message d’avertissement envoyé aux auteurs qui ont choisi de s’abonner aux forums quand c’est un trackback qui est envoyé
- Historisation des pings réalisés
- Les Pingbacks (et leur mystère n’en sera plus un)
- Automatisation des envois
- Suivre la version de dévelopement de spip...

