Synchroniser Delicious et WordPress: le cahier des charges

Second volet de notre série sur les bookmarks Delicious. N’ayant pas trouvé de plugins capables de synchroniser nos liens entre Delicious et WordPress, regardons quels outils Delicious et WordPress mettent à notre disposition pour réaliser nous même cette synchronisation. Mais il faut, au préalable définir nos besoins, le cahier des charges de la synchronisation.

Le cahier des charges

Affinons un peu notre cahier des charges avant de continuer nos recherches.
L’objectif principal est donc de synchroniser deux listes de liens: celle de Delicious et celle de WordPress.

Par synchronisation, j’entends plus précisément:

  • La création des liens existants dans Delicious, et non présents dans WordPress,
  • La mise à jour des liens, modifiés dans Delicious, et existants dans WordPress,
  • L’effacement dans WordPress, des liens n’existant pas ou plus dans Delicious

Il s’agit donc bien de modifier la blogroll de WordPress pour l’aligner sur la linkroll de Delicious.

Pourquoi pas une synchronisation complète? Parce que le rapport complexité / utilité me semble beaucoup moins intéressant. Utiliser deux outils pour saisir les bookmarks entraînerait des confusions, alors que gardez un outil de référence et le répliquer est plus reposant pour l’esprit.

Trois points à étudier: les champs à utiliser, la classification, et les modes de mise à jour.

Commençons par le plus simple: les champs

WordPress et Delicious ne proposent pas les mêmes champs pour caractériser les liens.
Le tableau ci-dessous donne la liste des champs, et la correspondance que l’on pourrait faire entre les deux outils.

WordPress Delicious
Nom title
Adresse internet url
Description Notes
Catégories Tags / Bundle
Cible
rel
Adresse de l’image
Adresse du flux RSS
Commentaires
Note

Classification

Le sujet est plus délicat que le précédent.
Delicious propose une classification par Tags. Ceux-ci peuvent éventuellement être regroupés en Bundle. Le mode de classification de WordPress est basé sur la notion de Catégorie.

Solutions possibles:

  1. Association directe (un pour un) entre Tags et Catégories,
  2. Correspondance entre liste Tags et Categories (plusieurs tags pour 1 catégorie),
  3. Association ou correspondance entre les bundle et les catégories.

La première approche est difficilement réalisable. Ces deux types d’éléments sont rarement utilisés de la même façon. Les Catégories sont, en général, beaucoup moins nombreuses que les Tags, et cette notion de tags existe déjà par ailleurs dans WordPress. Cette méthode supposerait la création d’autant de Catégorie que de Tags, et donc une adaptation de la structure du blog.

La seconde approche est plus raisonnable: nous pouvons associer plusieurs Tags à une Catégorie. Nous ne modifions, ni la structure de Delicious, ni la structure de WordPress. Il suffit de maintenir une table de correspondance entre les deux outils. L’inconvénient serait peut-être justement la maintenance de cette table. Si le nombre de Tags est élevé, les mises à jour peuvent être lourdes.

La troisième méthode est complètement similaire à la précédente, mais utilise les bundles plutôt que les Tags. Les bundles sont en général beaucoup moins nombreux que les Tags. La table de correspondance peut donc être plus facile à gérer. L’idée pourrait même d’avoir une liste de bundles Delicious strictement identiques à la liste des catégories de WordPress.

Mode de mise à jour

Les deux modes habituellement utilisés sont: synchronisation complète ou incrémentale.
La première est facile à faire: on efface tous les liens dans la base cible, et l’on « copie » les liens depuis la base source.
La seconde est en général plus compliquée, parce qu’elle suppose d’avoir deux informations supplémentaires: d’abord la liste des changements depuis la dernière synchronisation, et ensuite, un moyen d’identifier précisement les liens (notion d’identifiant).

Une synchronisation complète peut cependant poser des problèmes de performance ou de lourdeur: imaginons une base de 500 liens, avec 1 ou 2 mises à jour par semaine. Systématiser une synchronisation complète supposerait donc de mettre à jour les 500 liens, juste pour bénéficier des 1 ou 2 liens!

Inversement, la synchronisation incrémentale ne s’occuperait que des liens modifiés ou ajoutés. Mais ce genre de synchronisation est plus « risquée », car elle peut générer des problèmes d’intégrité (cohérence).

Je pense que les deux méthodes sont indissociables: la méthode complète est indispensable pour la première synchronisation. Les synchronisations suivantes pouvant se baser sur la méthode incrémentale.

Automatisation

Si nous voulions automatiser cette synchronisation, nous pourrions le faire depuis WordPress, sous forme de plugin.
Il nous faudrait pour cela,

  • de quoi lire / exporter les liens Delicious,
  • de quoi lire / exporter les tags et/ou les bundles de Delicious,
  • de quoi lister les liens existants dans WordPress,
  • les outils pour ajouter/modifier/effacer ces liens,
  • de quoi planifier l’exécution du ou des scripts de synchronisation.

Conclusion

Nous avons maintenant un cahier des charges relativement précis. Dans les prochains articles, nous allons explorer les différents outils nous permettant de réaliser cette synchronisation.

2 thoughts on “Synchroniser Delicious et WordPress: le cahier des charges”

Commentaires clos.