La syndication

Un puissant moyen de construction collective de savoirs en réseau.

Pour ceux qui ne le savent pas, la syndication c’est, en gros, la mise à jour automatique des liens vers les derniers articles parus sur un autre site que le sien.
Enjeu : la construction collective de savoirs en réseau.

La syndicationImaginez : tous les sites d’une association en réseau syndiqués entre eux, permettant aux visiteurs d’être en temps réels au courant des dernières parutions sur tous les sites de l’association dans le monde, et de pouvoir y effectuer des recherches à partir d’un seul point d’entrée ?

Si l’outil présente un grand intérêt, il est cependant moins simple à appliquer qu’il n’y parait au premier abord et nécessite cependant un peu de réflexion.

Lorsque l’on parle de syndication, il faut d’abord distinguer clairement 3 fonctions :

 

  •  La syndication de l’hôte : C’est la production d’un ou de plusieurs fichiers de syndication de votre propre site.
  •  La syndication des site distants : C’est l’utilisation de fichiers de syndication d’autres sites en vue de les afficher sur votre propre site.
  •  La fourniture de références de syndication (essentiellement javascript)
    1. La syndication de l’hôte (production de syndication) :

    Problème principal : produire le fichier de syndication, pour sites dynamiques, mais aussi pour sites statiques

    La syndication doit offrir au moins les champs suivants : Nom du site, titres des articles (), Les liens vers le site et les articles (), les auteurs (), la description du site et des articles (). Entre parenthèses, les noms des balises XML telles que reprises par SPIP ou PHP-Nuke. Il vaudrait mieux que tout le monde s’alignent sur ces précurseurs (que je connais, mes excuses aux autres), afin de favoriser l’émergence d’un standard de structure de l’information de syndication, qui tend à se mettre en place sur le Web, norme que par définition, le XML n’offre pas.

    Pour qui ?

  •  Un fichier XML de type “backend.php” (backend.php3 pour SPIP) ou recents.xml, etc. doit être mis en place à destination des CMS (Content Managment System : SPIP, PHP-Nuke, par exple) qui gèrent la syndication.
  •  Mais on oublie trop souvent qu’il reste (et restera sans doute encore un certain temps) de nombreux sites statiques (HTML). Il est plus que souhaitable que les développeurs de CMS pensent alors à faire écrire par le système un fichier de syndication hôte javascript (nommé syndic-host-js.js, par exple), en même temps que le fichier de syndication hôte XML.
    Pour les développeurs (sinon, sautez vite au point suivant) : Ca n’est pas très difficile à faire, mais j’attire leur attention sur le soin qu’il faut apporter dans l’écriture du fichier javascript, pas seulement le traitements des tags HTML (supprimer SVP tous les tags de mise en forme !), pas seulement non plus sur le traitement des guillemets, apostrophes et autres $, mais aussi sur les ruptures de ligne (LF, asc. 12, \n) et les retours de chariot (CR, asc 13, \r) parfois placés dans les titres, par exemple, et qui plantent à coup sûr le fichier javascript. (Expérience vécue, et en PHP, un “trim()” n’avait servi à rien, il a fallu 2 “str_replace()”, un pour \n et un pour \r.)

    2. La syndication des sites distants (utilisation de syndication)

    Problème principal : La gestion de l’abondance.

    Le premier choix à faire est celui des sites que l’on va syndiquer en fonction de la correspondance entre leurs objets et les objectifs de son propre site. C’est un choix qui dépend fortement de l’analyse politique d’abord, de la qualité des sites envisagés pour la syndication, ensuite. Ce n’est pas le travail le plus simple ! Question abondance, il faudra en plus se fixer une limite en nombre, sous peine de “noyer” l’information, et donc établir des priorités.

    Ensuite, vient l’organisation de l’information syndiquée. On peut opter pour :

  •  Une “syndication globale”, c’est le plus facile, on met en ligne les X (10, 20, 30,…) derniers articles d’une série de sites tous confondus.
    Exemple : “Les derniers articles syndiqués”.
  •  Une “syndication sélective”, on met en ligne les X (10, 20, 30,…) derniers articles d’une série de sites classés par site. C’est aussi le choix le plus directement révélateur des choix politiques.
    Exemple : “Syndication par site”.
    Autre exemple de syndication globale et sélective, – ce que j’ai vu de mieux jusqu’à présent – celle réalisée par “L’autre portail”, v ; : rezo
  •  Une “syndication centralisée”, C.-à-d., par exemple, 2 fichiers de syndication (XML et javascript) sur le site du noeud central d’une association en réseau, mis à disposition des groupes locaux ou nationaux.
    Ce type de syndication peut-être hôte (le noeud central met à disposition la syndication de ses propres articles) ou distante, en reprenant par exemple les fichiers de syndication de ses noeuds locaux ou nationaux (ce dernier cas, suppose évidemment que les noeuds locaux disposent de leur propre fichier de syndication, et donc raisonnablement de sites dynamiques).
    Enfin, cette syndication peut-être permanente ou événementielle et temporaire.

    3. La fourniture de références de syndication

    Il est certainement utile de constituer une forme d’annuaire de sites intéressant à syndiquer, avec l’adresse de leur fichier de syndication.

    Mais je pense surtout dans ce point, aux services que peut rendre un site dynamique aux sites statiques, en créant, à partir de sa propre syndication – hôte ou distante – des fichiers de syndication javascript. Cela peut donner lieu à une série de possibilités intéressantes que l’on peu imaginer : Ainsi,

  •  dans le cas d’une syndication centralisée hôte, le noeud central d’une association en réseau peut mettre à disposition de ses groupes locaux ou nationaux qui n’ont pas de sites dynamiques, un fichier de syndication javascript, et leur permettre d’accéder eux-aussi à la syndication.
  •  N’importe quel noeud d’une association en réseau qui possède un site dynamique, peut mettre à disposition de tous une syndication distante sous forme de fichier javascript, que cette syndication soit événementielle ou permanente, qu’elle reprenne des sites distants extérieurs à l’association ou les fichiers de syndication des sites locaux de l’organisation disposant de leur propre fichier de syndication.

    Il s’agit finalement, une fois la technique en place, surtout de questions de choix, d’organisation et d’imagination.

    Exemples :

  •  Syndication hôte proposée sous forme XML + syndication hôte et distante proposées sous forme XML et javascript, adresses de syndication et exemple de résultat :
    “Adresses des fichiers de syndication “
  •  Syndication hôte XML et javascript du Monde Diplomatique :
    monde-diplomatique
    Personnellement, je trouve dommage que la syndication javascript comporte des codes de mise en forme, ce qui peut empêcher de “bien” l’intégrer à son propre site statique. La syndication vers le Diplo, que j’ai mise en ligne à attac (site statique) est donc reprise d’une syndication javascript produite par un site SPIP. Mais j’aurais tort de (trop) rouspéter, car cette idée de syndication javascript m’est justement venue de cette proposition du Monde Diplomatique 😉
  •  Une boucle SPIP (avec du PHP), qui construit une syndication javascript hôte et distante, à partir des syndications hôte et distante que construit SPIP :
    cassiopea .

    Voilà un premier débroussaillage pour cette technologie (au coeur du travail en réseau), et qu’il serait intéressant de promouvoir. Vous pouvez en tous cas contribuer à cette réflexion en utilisant le forum lié à cet article. Ci dessous, le lien : Forum : Répondre à cet article

 

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>