Skip to content

XSAF Cross Site Autoblog Farming

Arthur edited this page Jul 20, 2013 · 4 revisions

Le XSAF (Cross Site Autoblog Farming) est un langage d'échange de références entre fermes d'autoblogs, en vue de synchroniser les ajouts d'autoblogs.

Exemple concret: vous opérez 2 fermes d'autoblogs (ou plus) et souhaitez qu'elles aient toutes l'ensemble des autoblogs, mais vous ne voulez pas devoir ajouter manuellement les autoblogs à chaque fois. Ainsi, ajouter l'autoblog sur 1 ferme est suffisant pour l'avoir sur l'ensemble de vos fermes.

Et vous pouvez bien sûr utiliser XSAF pour récupérer sur votre ferme d'autoblogs tous les autoblogs d'une autre ferme "amie".

Principe général

  • chaque ferme doit fournir la liste des autoblogs qu'elle héberge
  • chaque ferme peut refuser la récupération de la base de données et/ou des médias (refus qui peut mais ne devrait pas être outrepassé)
  • XSAF peut servir aussi bien pour la création de nouveaux autoblogs que pour la consultation et indexation des autoblogs disponibles

Formatage des données

Il existe différentes versions de XSAF, dont voici les spécifications:

version 1: CSV

(déprécié) A été utilisée avec explode()

"SITE_TITLE","SITE_URL","FEED_URL"
"le hollandais volant","http://lehollandaisvolant.net/","http://lehollandaisvolant.net/rss.php?full"

version 2: JSON

(déprécié) Pour éviter des doublons

{
    "sha1(SITE_URL_sans_protocole)": [
        "SITE_TITLE",
        "SITE_URL",
        "FEED_URL"
    ]
}
{
    "10dc615145d5d8fff00aa08b72016a729195fb52": [
        "le hollandais volant",
        "http://lehollandaisvolant.net/",
        "http://lehollandaisvolant.net/rss.php?full"
    ]
}

version 3: JSON

(actuel) Dynamique et versatile

{
    "meta": {
        "xsaf-version": "VERSION_XSAF",
        "xsaf-db_transfer": "transfert base de données autorisé: TRUE/FALSE",
        "xsaf-media_transfer": "transfert des fichiers média autorisé: TRUE/FALSE"
    },
    "autoblogs": {
        "(SITE_URL nettoyé)_(FEED_URL sans protocole)": {
            "SITE_TYPE": "SITE_TYPE",
            "SITE_TITLE": "SITE_TITLE",
            "SITE_URL": "SITE_URL",
            "FEED_URL": "FEED_URL"
        }
    }
}
{
    "meta": {
        "xsaf-version": "3",
        "xsaf-db_transfer": "true",
        "xsaf-media_transfer": "false"
    },
    "autoblogs": {
        "lehollandaisvolantnet_f9e3899f52053c0dd7253d25ca504c7b4265953e": {
            "SITE_TYPE": "generic",
            "SITE_TITLE": "le hollandais volant",
            "SITE_URL": "http://lehollandaisvolant.net/",
            "FEED_URL": "http://lehollandaisvolant.net/rss.php?full"
        }
    }
}

Pour la version 3, certains paramètres subissent une transformation:

  • SITE_URL nettoyé: SITE_URL sans protocole -> lowercase -> limité à 80 caractères alphanumériques
  • FEED_URL sans protocole -> hash SHA1

L'outil traitant les entrées XSAF peut ignorer certains paramètres tels que le nom de dossier. La reconnaissance et la détection de doublons est à charge de l'outil traitant et peut se baser sur le nom de dossier et/ou le titre du site et/ou l'URL du site et/ou l'URL du flux. L'URL du site est favorisé pour détecter les doublons.

Fréquence de synchronisation

Bien qu'aucune règle encadre la fréquence des synchronisations, il est recommandé d'observer un délai de 2 heures entre chaque requête XSAF vers une ferme d'autoblogs.

Par défaut, une ferme n'effectuera pas plus d'une requête XSAF toutes les 2 heures, grâce au fichier .xsaflock.

Premier démarrage d'une ferme d'autoblogs (bootstrap XSAF)

En vue de lancer le fonctionnement d'une ferme d'autoblogs et d'en vérifier le bon fonctionnement, le Projet Autoblog inclut par défaut la requête XSAF vers https://github.com/mitsukarenai/xsaf-bootstrap.

Ajouter/Modifier/Supprimer des requêtes XSAF à la ferme d'autoblogs

Voir config.php

La variable $friends_autoblog_farm est un tableau associatif qui, pour chaque valeur, fournit l'URL d'une source XSAF externe. Exemple:

$friends_autoblog_farm = array(
    'https://raw.github.com/mitsukarenai/xsaf-bootstrap/master/3.json',
    'https://www.ecirtam.net/autoblogs/?export',
    'http://autoblog.suumitsu.eu/?export',
    'http://streisand.hoa.ro/?export',
);

(dans cette configuration, la ferme d'autoblogs récupèrera les références, bases et médias de l'ensemble des 4 sources listées, ce qui correspond en ce moment à plus de 250 autoblogs)