La Coop est une constellation de blogs WordPress sur lesquels vous pouvez envoyer vos articles destinés à la promotion d’un produit, d’une page, etc. Les articles sont propagés doucement d’un blog à l’autre sans l’intervention d’un webmaster. Il faut souvent plusieurs jours pour qu’un article soit visible sur toute la Coop. Le système fonctionne par partenariat. Quelqu’un écrit un article qui est ensuite automatiquement envoyé à un partenaire qui l’envoie à son tour à un autre partenaire et ainsi de suite.
La Coop fonctionne en peer-to-peer: il n’y a aucun serveur qui pilote l’ensemble du système, chacun de ses acteurs est un nœud complétement autonome. Si l’un des nœud disparait, alors la Coop continue de fonctionner. Afin d’éviter les désagréments du duplicate-content, le système supporte les articles pivotables. Depuis la version 1.8, le plugin est capable de gérer le multisite.
La Coop fonctionne au moyen d’un simple plugin WordPress.
Pré-requis:
- WordPress 2.7+ (La version 3.0 est conseillée)
- PHP 5 avec possibilité de fopen(URL) – Voir avec votre fournisseur si celui-ci l’accepte.
- 2 ou 3 partenaires
- Curl
Installation:
Avant tout, il y a quelques petites opérations à faire dans votre WordPress.
- Vous devez d’abord vous assurer que votre blog utilise le jeu de caractères UTF-8. Allez dans Settings (Paramétrage) – Reading (Lecture) et vérifier le champs Encoding for pages and feeds (Encodage pour les pages et les flux RSS). Celui-ci doit contenir UTF-8. Si vous n’utilisez pas l’UTF-8, vous risquez de propager toute une série de caractères cabalistiques sur l’ensemble de la Coop.
- Activez ensuite la publication à distance: allez dans Settings (Paramétrage) – Writing (Ecriture) et cochez l’option XML-RPC. Si vous ne le faites pas, vous ne recevrez jamais d’article en provenance de vos partenaires.
- Pour des raisons internes, vous devez afficher un article dans sa globalité et non pas un résumé. Allez dans Settings (Paramétrage) – Reading (Lecture) et cochez dans l’option For each article in a feed show Full text (Pour chaque article, fournir le texte complet). Certains thèmes forcent l’utilisation du résumé. Modifier alors le paramétrage du thème.
- Je vous conseille d’installer le plugin Cron View qui vous donnera un peu plus de visibilité sur les opérations planifiées (cron de WordPress). Cette étape est néanmoins optionnelle.
- Téléchargez le plugin coop, décompressez-le et installez le dans le répertoire plugin de votre WordPress. Ceci fait, activez le plugin. Pour une mise à jour, commencez par désactiver le plugin, remplacer les fichiers, puis réactivez le plugin.
Exploitation du plugin
Le paramétrage du plugin s’effectue dans l’onglet Settings – Coop (Réglages – coop). Vous y trouvez plusieurs tableaux:
Le tableau des partenaires
Ce tableau reprend la liste de vos partenaires avec quelques informations et actions possible comme la modification, la suppression et le test de communication.
Le tableau d’ajout des partenaires
Ce tableau permet d’ajouter un partenaire vers lequel le plugin transmettra automatiquement les articles. Vous devez y indiquer le nom de votre partenaire, son URL, l’URL XML-RPC, son email et finalement le login et le mot de passe que votre partenaire doit vous communiquer (voir plus bas). Un partenaire fixe n’est pas assujetti au mécanisme Keepalive (voir plus bas). A noter que la partenariat automatique se charge pour vous d’aller chercher des partenaires si vous le désirez.
Le tableau du paramétrage de la Coop
Le troisième tableau vous permet de personnaliser le paramétrage de la Coop. On y distingue deux parties: le paramétrage et les suppressions et purges.
Le paramétrage
- Le renvoi permet de ré-émettre régulièrement un article dont vous êtes l’auteur. Indiquez-y simplement le nombre de jours souhaités entre deux ré-émissions. Le renvoi est nécessaire pour que les nouveaux arrivants sur la Coop puissent obtenir les anciens articles. Vous pouvez néanmoins désactiver ce dispositif si vous le souhaitez. (Déconseillé)
- Le partenariat automatique est un dispositif qui va chercher pour vous un partenaire sur la Coop sans aucune intervention de votre part. Indiquez-y le nombre de partenaires que vous souhaitez, sachant qu’un maximum de cinq partenaires est recommandé. Cette fonction est utile lorsque vous venez de vous inscrire sur la Coop, et que vous n’avez aucun partenaire. Si vous activez le partenariat automatique, vous avez le choix entre plusieurs réseaux. Depuis la version 1.7, les réseaux sont entièrement dynamiques; c’est à dire qu’il est possible d’en créer d’autres à la volée. Dans le sous-menu réseau, vous pouvez créer par vous-même votre propre réseau. Il existe deux types de réseau: le public et le privé. Le premier est ouvert à tout participant. Le second demande une autorisation pour participer. Le maître, celui qui a crée le réseau, doit alors accepter ou refuser le participant de joindre le réseau. Par la suite, le maître peut également choisir de révoquer un des participants. Attention: lorsque vous changez de réseau, le système efface automatiquement tous vos partenaires, y compris les partenaires fixes. Un article envoyé sur un réseau ne peut transiter sur un autre réseau: le système l’en empêche, canalisant ainsi les articles en fonction de leur nature et de leur langue (FR/US). Si un maître change de réseau alors il choisit de détruire son propre réseau, le rendant ainsi inexploitable.
- Le nombre de forwards à afficher est utilisé pour définir la quantité d’évènements à afficher dans le tableau des forwards (Voir plus bas)
- Le nombre de balise précise le nombre de liens à afficher dans le tableau des balises (Voir plus bas)
- L’option « Retenir mes articles » indiquent que tous vos nouveaux articles seront soumis à une validation. Ceci évite que des articles non désirés se propagent sur toute la Coop. Les articles ne vous appartenant pas ne sont jamais soumis à une validation. Attention, cette option est activée par défaut. N’oubliez pas de la décocher si vous ne souhaitez pas de validation.
- « Rejeter le contenu dupliqué » supprimera tout article non pivotable qui arrive sur votre nœud. Vos propres articles sont bien entendu conservés et publiés mais non transmis à vos voisins.
- Le Keepalive est un mécanisme testant les communications avec vos partenaires. Le plugin envoi régulièrement des messages à ses voisins qui doivent répondre dans les temps. Si l’un des nœuds ne répond pas alors il est automatiquement supprimé du partenariat. Ce dispositif est pratique pour éliminer les nœuds qui disparaissent ou qui ne répondent pas dans les temps. Les partenaires fixes ne sont pas concernés par ce dispositif. Si vous ne voulez jamais voir l’un de vos partenaires disparaitre par le biais du Keepalive, fixez le.
- « Activer la balise » est utilisé pour activer ou désactiver la balise (voir plus bas).
- « Ne pas tagger les anciens articles » est une option essentiellement réservée au Coop qui ont beaucoup d’articles. Si vous installez le plugin sur un blog qui contient déjà des articles publiés, le programme va les lire un par un et les traiter tout comme il le fait pour les brouillons. Le problème est que parfois il peut déjà en exister des centaines, voir des milliers et si vous ne souhaitez pas que ces articles soient propagés sur la Coop, il est inutile que le plugin tente de les gérer. Si vous activez cette option, cela signifie que le plugin va ignorer tous les articles qui ont déjà été publiés.
Suppressions et purges
Viennent ensuite les fonctions de suppression des informations. Il faut ici distinguer deux types d’action: la suppression consiste à supprimer un article ou un brouillon tout en conservant une trace de son passage. La purge est la suppression totale d’un élément. Si vous choisissez d’effacer un article et que celui-ci re-transite sur votre nœud, le plugin considèrera que l’article a déjà été traité et en conséquence, il ne sera pas re-publié dans votre blog. En revanche, si vous choisissez de purger un article, celui-ci sera définitivement effacé du système, mais il sera susceptible de réapparaitre lors du renvoi en provenance de la source de l’article. Pour résumer, choisissez « purger » pour une suppression temporaire d’un article et choisissez « effacer » pour une suppression définitive d’un article.
L’archivage ne concerne que les auteurs des articles. Lorsqu’un article est crée et correctement transmis aux partenaires, une copie est conservée dans le système pour pouvoir être renvoyé par la suite. Ceci est fait uniquement sur le nœud à l’origine de la publication de l’article. L’action de purger l’archive supprime donc la copie de l’article et interdit toute forme de renvoi de l’article original. Si vous ne créez pas d’article et que vous vous contentez de transmettre les informations, vous n’êtes pas concerné par l’archivage.
L’option « Restauration des archives » permet de reconstruire vos articles à partir d’un dump SQL. Voir le chapitre concernant la sécurité pour plus de détails.
Le tableau de version et de tests
Ce tableau affiche le numéro de version du plugin avec éventuellement une mise à jour proposée. En appuyant sur le bouton « Tests« , vous pouvez vérifier le bon fonctionnement de votre plugin et éventuellement déclencher une demande de support.
Le tableau des forwards
Ce tableau est le récapitulatif des opérations de forward du plugin. Le forward correspond à la transmission d’un article en provenance ou en direction d’un partenaire. Dans ce tableau, vous pouvez voir l’article reçu, son origine qui correspond au partenaire qui vous l’a envoyé (parfois ce sera vous-même si vous êtes l’auteur de l’article), le partenaire vers qui vous l’envoyez (la direction) ainsi que la source de l’article, à savoir la personne qui a crée l’article (encore une fois, cela peut être vous). Finalement l’état est la situation dans lequel se trouve le forward:
- L’état « Transmis » indique que le message a été envoyé au partenaire, mais que l’on n’a aucune nouvelle du bon déroulement de l’opération.
- L’état « Acquitté » indique que le plugin a détecté que le message a bien été publié chez l’un des partenaires.
- L’état « Terminé » indique que tous les partenaires ont acquitté l’article.
- L’état « Supprimé » indique que l’article a été supprimé.
- L’état « Reprise 1/2 » indique une première tentative de reprise: si l’un des partenaires n’a pas acquitté l’article, le plugin fera une première tentative de transmission. Ceci se déroule une semaine après la publication originale.
- L’état « Reprise 2/2 » indique une seconde tentative de reprise. Ceci se fait une semaine après la première tentative.
- L’état « Echec » indique que toutes les tentatives ont échoué et que la transmission ne fonctionne pas. Ceci se fait une semaine après la dernière tentative de reprise. Dans ce cas ci, il est conseillé de faire un test de connexion avec le partenaire présentant le problème.
- L’état « Tenu » indique que le plugin attend une validation pour envoyer l’article. Pour le valider, appuyez simplement sur « Lâcher ».
Vous avez aussi la possibilité de renvoyer manuellement l’article et aussi de le supprimer. Vous ne pouvez renvoyer un article que si vous êtes l’auteur de l’article.
Vous pouvez aussi rappeler un article: si vous souhaitez supprimer un article sur l’ensemble de la Coop, utilisez cette action. Le plugin va alors chercher sur tous les nœuds de la Coop l’article en question et le supprimer automatiquement. Vous ne pouvez rappeler un article que si vous en êtes l’auteur.
Le tableau des transits
Ce tableau affiche le transit. Celui-correspond aux articles déjà publiés sur votre blog mais qui grâce au renvoi repasse sur ce dernier. Ils sont alors transmis automatiquement à vos voisins. Ceci permet d’améliorer la visibilité sur l’ensemble du trafic géré par le plugin.
Le tableau de la balise
Ce tableau affiche les éléments de la balise. La balise reprend l’ensemble des articles qui circulent sur la Coop. Vous avez alors une vue sur tout ce qui voyage sur la Coop, avec notamment les URL des articles. Le DC correspond à un calcul effectué sur l’article. Il indique ainsi si l’un des articles est dupliqué. Triez la balise par DC pour identifier les articles dupliqués.
Le tableau des blacklist
Ce tableau propose un dispositif de blacklist. Si pour une raison ou une autre vous ne souhaitez pas faire transiter les articles d’un site par votre nœud, indiquez-y simplement l’URL du nœud à blacklister. Le fait de blacklister un nœud implique que vos partenaires ne recevront jamais de votre part un article en provenance du nœud blacklisté.
Les tâches de fond
Le plugin fait plusieurs opérations en tâche de fond et à intervalles réguliers. Si vous souhaitez connaitre l’heure à laquelle se déclenche le forward, utilisez le plugin Cron View, affichez les entrées du cron de WordPress (Onglet What’s in Cron ?) et cherchez le hook coop_fwd_hook, c’est lui qui s’occupe du forward. A gauche, vous verrez l’heure de son exécution.
Les partenaires
Les partenaires sont les sites avec lesquels le plugin va communiquer. Pour une communication optimale dans la Coop, vous devez avoir un minimum de deux partenaires: vous recevez des articles d’un côté et vous les transmettez de l’autre. Si vous n’avez qu’un seul partenaire, vous êtes dans un cul de sac: vous ne faites que recevoir et à moins de générer beaucoup d’articles, votre participation à la Coop ne présente que peu d’intérêt. L’idéal est d’avoir trois partenaires afin de palier à toute défaillance de l’un de vos partenaires.
Un partenaire se crée en deux temps. Tout d’abord sur le WordPress, créer un utilisateur et donner lui le droit » auteur « : il doit être capable d’écrire un article. Vous êtes désormais en possession d’un login et d’un mot de passe que vous communiquez à votre partenaire. Celui-ci va alors utiliser ses données pour ajouter le partenaire directement dans le plugin via les réglages. Ceci est donc la deuxième étape.
Un forward entre partenaire peut être mono-directionnel:
Partenaire A —-> Partenaire B
Ou bi-directionnel:
Partenaire A <—-> Partenaire B
Pour une meilleure distribution des articles, il est plutôt recommandé d’utiliser un forward bi-directionnel.
Pour mettre en place un forward bi-directionnel, les deux partenaires doivent créer un AUTEUR WordPress sur chacun de leur blog; ils s’envoient ensuite les logins et mot de passe WordPress et avec ses informations, ils créent l’utilisateur dans le panneau d’administration de la Coop.
Bien entendu, cette fastidieuse opération n’est pas utile si vous utilisez le partenariat automatique.
Les articles
Tout d’abord il est nécessaire de bien comprendre une chose de vital:
Tout ce que vous publiez sur votre blog est propagé à toute la coop.
Vous devez donc être absolument certain de ce que vous faites si vous ne souhaitez pas voir l’une de vos bêtises se répandre. Dans le doute, laissez l’option « Retenir mes articles » et valider manuellement vos propres articles. N’oubliez pas d’effacer le premier article de WordPress, celui qui est crée automatiquement lors de l’installation du logiciel. Si vous souhaitez qu’un de vos articles ne soit pas envoyé à vos partenaires et qu’il demeure uniquement sur votre blog, vous pouvez l’indiquer au plugin en insérant dans le corps l’étiquette HTML suivante:
<!— coop_no —>
Il y deux tirets à gauche et à droite de coop_no, ces deux tirets sont suivis d’un espace. Faites très attention avec vos copier/coller. Bien entendu, cette étiquette doit être insérée dans l’onglet HTML de votre article. Vous ne voulez pas polluer votre article avec un signe incompréhensible pour vos lecteurs.
Le plugin supporte parfaitement les articles pivotables, avec un niveau illimité d’imbrications; le corps d’un article ainsi que le titre peuvent être pivotés. Pour rappel, voici la syntaxe à utiliser:
Je bois du {vin|Bordeaux|Côte du Rhône} {de temps en temps|régulièrement|souvent}.
Vérifiez toujours que votre texte pivotable est cohérent et qu’il ne comporte pas un nombre impaire d’accolades. Vous pouvez le vérifier en ligne ici. Le plugin fait lui-même les vérifications et en cas de problème l’indique directement dans le titre de votre article. Celui-ci est alors bloqué et le tag <!– coop_no –> est automatiquement inséré dans le corps de votre article pour bloquer sa diffusion. Corriger le problème, la plupart du temps une accolade manquante, et n’oubliez pas d’effacer le <!– coop_no –> pour permettre la propagation de l’article.
Le plugin propage les catégories ainsi que les tags et les crée automatiquement sur votre blog. Le plugin est aussi capable de gérer les sous-catégories.
Il n’est pas nécessaire de publier votre article, le plugin s’en charge lui même. Vous devez simplement enregistrer votre article sous forme de brouillon (Draft). Si vous publiez, l’article sera propagé tel quel. Donc si vous publiez un article sous forme de contenu pivotable, celui-ci ne sera pas pivoté. Je répète:
Ne publiez pas l’article, enregistrez simplement un brouillon.
Évitez aussi d’écrire votre article au moment du forward (Cf plugin Cron View). Au mieux, arrêtez le plugin lorsque vous rédigez.
Sécurité et problèmes
Le plugin stock un certain nombre d’informations intéressante dans le fichier debug.log situé dans le répertoire du plugin. En cas de problème, n’hésitez pas à consulter ce fichier. Ce dernier conserve l’historique des activités du plugin durant un mois. Vous pouvez aussi demander de l’assistance en appuyant sur le bouton « Tests » situé juste en dessus de l’affichage de la version du plugin.
Depuis la version 1.6, le plugin dispose d’un processus de sauvegarde des articles. En cas de crash ou de réinstallation du blog, le plugin est capable de reconstruire entièrement les articles. Ceci ne concerne uniquement que les articles que vous avez vous-même crée. Les articles des autres personnes étant périodiquement renvoyés sur l’ensemble du réseau, il est inutile de les sauvegarder.
Pour sauvegarder vos articles, il existe deux façon de faire. La première consiste à faire une sauvegarde de votre base MySQL, et plus particulièrement de la table wp_coop_arc via un dump ou plus facilement via un plugin de sauvegarde.
Pour restaurer votre système, importer le dump SQL de la table wp_coop_arc dans la base de données de WordPress et dans le tableau d’administration, cliquez sur « Restauration des archives » puis sur Modifier.
La seconde méthode est beaucoup plus facile. A chaque fois que le plugin va insérer l’un de vos articles dans le blog, il va créer un fichier de sauvegarde dans le répertoire du plugin. Ces fichiers portent l’extension « .bak ». N’oubliez pas de sauvegarder ces fichiers hors de votre serveur. Pour effectuer une restauration, copiez simplement le contenu de ce fichier dans un brouillon sur votre blog, le plugin se chargera automatiquement du reste. N’indiquez pas de titre à ce brouillon.
Le plugin est assez gourmand en mémoire et peut dans certains cas ne pas fonctionner correctement en environnements mutualisés: ces derniers ont l’habitude de beaucoup restreindre les ressources. Le sous-menu Tests va tout de suite identifier si le plugin est capable de fonctionner sur votre plateforme. Si tel n’est pas le cas, vous avez vraisemblablement un souci soit avec l’ouverture d’URL à distance (fopen(URL) en PHP) qui doit être bridé. Sinon, il est possible que le plugin consomme trop de mémoire et vous devez alors ajuster sa consommation. Pour ce faire, éditer le fichier coop.conf et changer le paramètre coop_prefs_buffer. Commencez par y remplacer 100 par 50 pour voir si cela fonctionne mieux. Si tel n’est pas le cas, diminuez la valeur de 10 jusqu’à ce que cela fonctionne. Assurez-vous de bien redémarrer le plugin à chaque modification du fichier coop.conf.
Dernières remarques
Soyez patient, il faut parfois du temps pour obtenir des articles surtout si celui qui les envoi se trouve à 20 partenaires de vous. N’oubliez pas non plus que c’est le cron de WordPress qui fait la majorité du travail, et que son activité dépend en grande partie du trafic qui arrive sur votre blog. Si vous n’avez pratiquement pas de visiteurs, le cron ne s’exécutera que très rarement.
Vous allez recevoir de vos partenaires des brouillons qui n’auront aucune signification. Ne vous étonnez pas, ils contiennent une enveloppe nécessaire au forward ou d’autres messages système utilisés par la Coop pour son fonctionnement. Ne tentez surtout pas de les modifier.
N’oubliez pas qu’il ne faut pas publier vos articles mais simplement les sauvegarder sous forme de brouillon. J’insiste beaucoup car c’est un réflexe que de publier.
Pour un meilleur maillage du réseau, échangez avec cinq partenaires.
Laissez le renvoi à 20 jours minimum.
Essayez de mixer vos partenariat dans la mesure du possible: un partenaire fixe et au moins deux partenaires automatiques.
Ne vous inquiétez pas si l’un de vos partenaires venait à disparaitre, le partenariat automatique vous en trouvera un autre en quelques heures.
N’hésitez pas à poser des questions. Je ne refuserai jamais d’y répondre.
Historique:
4 mars 2013: Version 1.81, amélioration de la gestion de la congestion, optimisation pour les environnements mutualisés et meilleure gestion de la mémoire utilisée.
4 février 2013: Version 1.8, ajout du support multisite et de la gestion des réseaux privés et publics, installation d’un mécanisme anti-congestion.
21 février 2012: Version 1.7, ajout des tests, du support, de la rotation des logs, les réseaux sont désormais dynamiques, quelques bugs corrigés.
27 novembre 2011: Version 1.6, amélioration et optimisation du processus de renvoi ainsi que du protocole de partenariat automatique, quelques bugs corrigés, ré-écriture totale de la publication locale et installation des processus de backup.
11 septembre 2011: Version 1.52, modification du protocole de partenariat automatique, quelques tests internes ajoutés.
08 aout 2011: Version 1.51, gros bug sur les réseaux qui supprime intempestivement les articles.
22 juillet 2011: Version 1.5, ré-écriture totale du partenariat automatique (plus besoin d’accès à au moins un nœud pour entrer sur la Coop), ajout des réseaux de coop (BH/WH, FR/US), ajout du keepalive (vérification des communications avec les voisins), ajout de la gestion du duplicate-content, ajout de la balise, ajout du dispositif de rappel, installation d’un dispositif anti-congestion, ajout de l’anti-taggage des articles.
8 février 2011: Version 1.4, ajout du tri sur la date dans le tableau des forwards, quelques bugs fonctionnels corrigés, le renvoi automatique est désormais optionnel, ajout du dispositif de validation des articles, de la purge des articles supprimés et des sous-catégories.
6 janvier 2011: Version 1.35, bug fonctionnel corrigé: certains brouillons provoquaient une inondation qui congestionnait la Coop. Tous les messages systèmes sont désormais intitulés « *** Coop System Message ».
15 décembre 2010: Version 1.3, ajout de la suppression et des purges, ajout du partenariat automatique, ajout des blacklists, modification du processus d’archivage, nombreuses modifications internes, plusieurs bugs corrigés.
2 novembre 2010: Version 1.2, ajout des tests entre partenaires. Ré-écriture totale des communications XML-RPC qui peuvent poser problème chez certains hébergeurs.
29 octobre 2010: Version 1.1, ajout des renvois manuels et automatiques des articles.
24 octobre 2010: Version 1.0