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
- Suppresion de fichiers :
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...



Vos commentaires
# Le 8 décembre 2008 à 11:43, par Draikhin
En réponse à : Trackbacks pour SPIP
Est-ce qu’une mise à jour en plugin est prévue pour SPIP 2.0 RC1 ?
Répondre à ce message
# Le 22 mars 2007 à 15:07, par vivavie
En réponse à : Trackbacks pour SPIP
excusez-moi, mon francais —
ou est le ’controle_trackbacks.php3’, je ne trouve pas dans le spip-contrib fichier ?
Merci,
D27
Répondre à ce message
# Le 19 décembre 2006 à 04:01, par Loiseau2nuit
En réponse à : Trackbacks pour SPIP
Hello !
Et aujourd’hui, qu’en est-il des trackbacks pour la v1.9.1 ?
Concernant cette contrib, J’hésite actuellement entre la v1 qui ne nécessite visiblement que peu de grosses modifs, alors que la v2, probablement plus au point, certes, implique déja plus de fichiers modifiés et des tables MySQL à créer en plus... Pas idéal dans le cas d’un portage d’une version locale vers une version online et aussi lors d’une upgrade de version.
Quelqu’un a une idée pour moi SVP ?
Sinon, est-il toujours question que cela intègre le noyau de SPIP v2 ? (peut être attendre un peu moi du cou...)
# Le 19 décembre 2006 à 08:41, par James
En réponse à : Trackbacks pour SPIP
On parle parfois de son adaptation en plugin avec Franz... Mais on ne prend pas vraiment le temps, ni la motivation.
Cette adaptation serait grandement facilitée aujourd’hui, mais il faudrait d’abord aller plus loin sur l’ergonomie et l’interface graphique de gestion des tb. Pour ça, il faudrait associé le developpement de la fonction trackbacks au plugin checklink, qui historise l’état les liens sortants ...
Tout ça mériterait d’être discuté sur la liste spip-zone, je trouve.
Répondre à ce message
# Le 14 octobre 2005 à 11:38, par François Schreuer
En réponse à : Personnaliser #URL_TRACKBACK
Un truc qu’il serait utile de faire (je le note ici pour mémoire), c’est de pouvoir personnaliser
#URL_TRACKBACK(idélement en créant une fonctiongenerer_url_trackbackdansinc_urls.php3) pour pouvoir avoir (en utilisant RewriteMod) une url de tb plus courte, utile dans certaines mises en pages, comme ici.François
# Le 14 octobre 2005 à 18:35, par James
En réponse à : Personnaliser #URL_TRACKBACK
cette fonction existe. elle se trouve dans inc-trackback.php où sont rassemblées les fonctions destinées à compléter le compilo.
Répondre à ce message
# Le 13 octobre 2005 à 23:01, par François Schreuer
En réponse à : Trackbacks pour SPIP
Y’a pas mal de problèmes avec utf-8 : voir par exemple cette page que j’ai pingée à partir de celle-ci.
Franz
# Le 14 octobre 2005 à 16:42, par ?
En réponse à : Trackbacks pour SPIP
Une suggestion : envoyer tous les caractères sous la forme totalement portable
& #1234 ;; c’est ce que font déjà les backends de SPIP avec le filtre|texte_backend.Répondre à ce message
# Le 14 octobre 2005 à 11:50, par François Schreuer
En réponse à : Message d’avertissement
Encore un truc à mettre dans la TODO : modifier le message d’avertissement qu’on reçoit lorsqu’on demande à recevoir les messages de forums postés en dessous de ses articles. Là on reçoit ceci :
Il faudrait recevoir un truc ressemblant à ceci :
(et il faudra aussi se préoccuper du machin le jour où un système de notification sera mis en place)
François
Répondre à ce message
# Le 13 octobre 2005 à 21:55, par François Schreuer
En réponse à : Trackbacks pour SPIP
Salut,
Je viens de faire quelques essais avec les Trackbacks. J’ai pour ce faire installé un SPIP 1.8.2.d surchargé des fichiers donne sur la zone et d’autre part j’ai installé une version de Dotclear.
Ca marche bien. Tant pour envoyer des trackbacks (pinger depuis spip vers dotclear) comme pour en recevoir (l’inverse), aucun problème.
Voici quelques remarques à toutes fins utiles :
- Si je désactive complètement les trackbacks (désactiver et « appliquer à tous sans exceptions »), ils continuent à s’afficher sur les pages publiques mais il n’est plus possible d’en faire de nouveaux. Autrement dit,
#URL_TRACKBACKet#PARAMETRES_TRACKBACKsont désactivés mais les boucles forums avec critères{trackback}continuent à renvoyer du contenu.Je me demande s’il ne faudrait avoir une config ternaire et non pas binaire (et ceci vaut d’ailleurs aussi pour les forums, mais c’est une autre histoire) :
— Trackbacks ouverts (a priori ou a posteriori)
— Trackbacks fermés (on ne reçoit plus rien) mais toujours affichés sur le site public
— Trackbacks totalement désactivés (plus rien ne s’affiche sur le site public).
Ce serait d’autant mieux que les forums réagissent différement : quand on désactive les forums, ils ne s’affichent plus du tout sur le site public.
- Autre problème du même genre : pas moyen de faire disparaître toute allusion aux trackbacks dans l’interface privée : même si je désactive ce qui est désactivable dans la config, je continue à avoir les boutons de gestion des tb qui s’affichent. C’est sans doute parce que la config ne concerne que le fait de recevoir des trackbacks, mais je pense qu’il serait utile de disposer aussi d’une option dans la config permettant de désactiver l’envoi de tb (et donc faire disparaître tous les boutons). Vu le caractère quand même hyper-spécifique de cet outil, c’est sans doute indispensable de disposer de la possibilibilité de le désactiver complètement s’il doit être intégré à la version officielle de SPIP (ce que je trouve souhaitable).
- Je ne suis pas convaincu par la gestion des trackbacks avec l’infrastructure des forums. En particuliers, je trouve un peu déroutant d’avoir des trackbacks et des posts de forums mélangés dans l’interface de suivi des forums. Je me demande s’il ne serait pas préférable de gérer les tb séparément, avec leur propre interface, leur propre table dans la base de données, leur propre boucle dans le langage spip,... (enfin, c’est juste une première réaction après une heure d’utilisation).
Autres petits trucs :
- Une option très intéressante serait de pouvoir activer une option qui programme la fermeture automatique des trackbacks x jours après la publication d’un article. C’est vrai qu’on peut faire ça avec des squelettes, mais je pense que ce serait mieux de l’avoir dans l’interface privée.
- Sur la page servant à pinger d’autres sites (
/ecrire/envoi_trackback.php?id_article=2), ce serait peut-être mieux que les deux champs texte ne s’affichent pas quand on reçoit les résultats d’un ping.- Est-ce qu’il ne serait pas souhaitable de promouvoir le terme « rétrolien » plutôt que le très anglophone « trackback » ?
Voilà, voilà,
FS
Répondre à ce message
# Le 17 août 2005 à 16:54, par Nicolas Hoizey
En réponse à : > Trackbacks pour SPIP
Gastero Prod tourne maintenant sur SPIP 1.8.2 pr2, donc je vais enfin pouvoir regarder de plus prêt les trackbacks.
Quels conseils pour commencer et ne pas se lancer dans des choses irréversibles ?
Serait-il possible de proposer des diffs entre la version normale et la version trackbacks des scripts de « ecrire », en plus des scripts complets ?
# Le 17 août 2005 à 18:37, par James
En réponse à : > Trackbacks pour SPIP
à priori, tu seras le deuxième :) Je n’ai pas rencontré d’écueils (mais des écureuils, plein) particuliers. Donc, tu vas en rencontrer plein, selon la loi de murphy ;-)
Plus sérieusement, si tu pars d’une version cvs « propre », écrase simplement les fichiers, mets à jour la base à la main... que tu n’oublies pas d’inclure le fichiers de définition des balises et des critères...
Il faut suivre l’évolution du cvs et signaler, voire corriger soi-même les fichiers sur la zone...
Si tu en tiens la maintenance, c’est bienvenu... sinon, tu as l’interface graphique de trac sur la zone, permettant de voir les diff... et pour les trackbacks, c’est le lien suivant : http://zone.spip.org/trac/spip-zone.... on doit pouvoir aussi faire des diff directement avec un client svn, mais je n’ai pas essayé.
# Le 18 août 2005 à 02:15, par Nicolas Hoizey
En réponse à : > Trackbacks pour SPIP
L’idée était d’avoir un diff par rapport à la version 1.8.2 pr2 CVS du jour, alors que la version actuelle des trackbacks est si je ne m’abuse destinée à la version 1.8.1
Bien entendu, si j’adopte les trackbacks, je veux bien participer à leur maintenance dans SVN, en attendant leur adoption dans core... ;)
# Le 18 août 2005 à 09:31, par James
En réponse à : > Trackbacks pour SPIP
Oui, tu t’abuses :), la v2 (présentée ici) est basée sur la version cvs. L’ancienne version (v1 dans l’arborescence svn) doit être compatible avec les deux versions que tu cites.
Répondre à ce message