Diaspora* est-il un poisson bleu ?

Il y a quelques années de cela, j’ai voulu faire la présentation d’un logiciel libre permettant d’accéder à un réseau sous le réseau, un réseau anonyme, crypté et clandestin où la confidentialité des échanges est garantie. J’étais revenu sur cette décision, en accord avec mon ami Jean-Claude, co-fondateur du site "Linux On The Root". À la réflexion, nous n’étions pas convaincus que notre site, à l’époque, avait pour vocation de promouvoir quelque logiciel, même libre, permettant d’outrepasser la loi. "Linux On The Root" était un site d’entraide qui s’adressait d’abord et avant tout au débutant (sous *Linux) et non un site qui devait inciter, de quelque manière que ce soit, l’utilisateur à contourner certaines restrictions légales du pays où notre site était hébergé et où, accessoirement, nous habitions l’un et l’autre.

Il y a quelques temps de cela, une discussion à propos de Diaspora* — la fameuse affaire de propagande djihadiste — m’a fait prendre conscience de la nécessité de reprendre et de pousser un peu plus loin la réflexion, quitte à en poser tout autrement les termes. Les citations ci-dessous sont extraites des commentaires sous l’article.

Le diable n’est pas dans les données, ni dans le réseau, mais au-dehors.

Ce que l’un des administrateurs du nœud diaspora-fr.org, Fla, traduisait comme suit :

Je rappelle au passage que Diaspora* est d’abord un logiciel.

Robert Biloute expliquait de manière un peu plus précise :

C’est comme ça, le réseau est prévu comme ça, pour permettre à tout le monde de faire ce qu’il veut, donc pour moi y a rien à voiler et y a pas d’impuissance, ou autant que “l’impuissance à contrôler internet ou le téléphone”.

Remarquons d’abord que, ce que l’on soutient pour le téléphone ou un réseau social comme Diaspora* est d’extension limitée. Ce qui vaut pour l’un, le téléphone, est-il nécessairement vrai pour l’autre, une technologie de réseautage social ? — Non. Ou alors, CQFD. On induit seulement un rapprochement entre deux technologies, pour opérer une généralisation sans démonstration aucune. Mais, dans le fond, il s’agit, ni plus ni moins, que d’un argument de type ad rem, un argument dont la valeur (ou vérité) est donnée ou présentée comme objective. C’est comme ça, le ciel est bleu ou les poissons nagent… On ne dit rien d’autre. Un peu court, non ? Et l’on voit, dès lors, poindre à nouveau l’un des défauts majeurs du logiciel libre : ses difficultés à convaincre.

Pareil argument présente, si l’on peut dire, la qualité de son défaut : une absence de définition propre. Ce qui est présenté comme vrai pour le téléphone ou le ciel ne l’est, vrai, en réalité, que pour le téléphone ou le ciel, dans certaines conditions, non pour l’ensemble des technologies. De fait, la conclusion que l’on en tire est aisément réfutable. Il suffit d’y opposer un contre exemple pour voir la démonstration s’effondrer : certaines technologies sont contrôlées strictement. Serait-il, en effet, raisonnable de libérer totalement (entendez : sans contrôle ou sans limite à priorique) une technologie aussi délicate que le génie génétique qui réveille les vieux démons eugéniques ? — On comprend pourquoi, dès lors, un tel argument est intenable.

Mais faisons tout de même un effort supplémentaire. On nous dit : le logiciel, en lui-même, au regard de la morale, n’est ni bon ni mauvais. Postulat que l’on doit comprendre de cette manière : intrinsèquement, cette technologie n’aurait rien à voir avec la morale. Et, dans la foulée, on affirme que l’on ne peut nullement condamner quelque technologie que ce soit parce qu’il se trouve des individus malveillants pour l’utiliser de manière inadéquate, inappropriée ou condamnable (légalement). D’un côté l’objet (ou la technologie) et de l’autre son utilisation. Comme si raisonner sur l’objet, en lui-même ou pour lui-même, cela avait un sens indépendamment de l’usage auquel on le destine (voire même des conditions de production, comme on essaie si souvent de nous le faire croire). Comme on sépare le bon grain de l’ivraie. En soi, le moteur à explosion est-il responsable des (trop) nombreux accidents de la route ? On serait tenté de répondre que non. Mais peut-on seulement réduire le problème de manière aussi simpliste ? Restons dans le champ qui nous concerne où toute la problématique que soulève cette question est comprise entre la transmission et le sens de l’information échangée. Et qui songerait, comme l’ont avancé certains administrateurs de Diaspora*, quand les djihadistes ont pris d’assaut le réseau pour y diffuser leur propagande, qui donc songerait à interdire le téléphone parce que les pires canailles s’en servent pour la mise en œuvre des projets les plus effroyables ? — Intenable, vous dites… Soutenir ce postulat, c’est affirmer que le qui échange quoi et comment, finalement, importerait assez peu. Accepter ce postulat reviendrait aussi à affirmer que certaines activités humaines doivent échapper, par nature, à toute forme de moralisation ou de contrôle. Mais pourquoi ? Au-delà de son évidence ou de son caractère (presque) implacable, les implications de ce postulat sont plus pernicieuses qu’il n’y paraît. — Et l’actualité crépite de l’urgence qu’il y à poser clairement cette problématique. Mais il est possible que je me trompe : Diaspora* n’est peut-être qu’un poisson bleu…

Hara-kilibre épisode 1 – Ello Goodbye

En partenariat avec Odysseus libre qu’on a payé douze milliards d’euros, un dessin de temps en temps qui traite de l’actualité du libre ou indirectement de l’actualité informatique. On a beaucoup buzzé il y a une quinzaine de jours autour du réseau social Ello, ben effectivement aujourd’hui c’est plutôt goodbye. Preuve une fois de plus qu’il faut se méfier des buzz orchestrés par la presse informatique qui soit dit en passant nous aura permis de ressortir diaspora* des placards. ello-goodbye

Polices Google : un plugin pour WordPress

Il y a quelques jours, j’expliquais comment se passer des polices Google sans s’en passer et Gilles nous indiquait que WordPress intégrait depuis quelques mois un appel vers les polices Google depuis son interface d’administration et proposait un plugin pour désactiver l’appel à ces serveurs.

Pour rappel, la technique que j’indiquais consistait à modifier manuellement les feuilles de styles afin de faire référence à nos propres fichiers de polices hébergés sur notre serveur et non plus directement à ceux fournis par Google.

Je vous propose exactement d’automatiser ces modifications au sein de WordPress.

Vous trouverez le plugin en archive à la fin de ce billet et vous invite à lire le code source largement commenté du seul fichier présent dans cette dernière.

Cahier des charges du plugin :

Ce dernier doit :

  • Fonctionner en permanence et de façon transparente
  • Fonctionner pour tous les thèmes livrés par défaut et les futurs thèmes utilisés
  • Permettre de modifier les feuilles de styles à la volée et télécharger les polices nécessaires le cas échéant

Travaillons avec classe :

Le code source de WordPress est constitué de plusieurs fonctions définies dans plusieurs fichiers. Afin de ne pas nommer accidentellement nos propres fonctions avec un nom identique à une fonction de WordPress, nous allons regrouper ces dernières au sein d’une classe. Nos fonctions (dans le cas d’une classe, on parle de méthode) ne seront accessibles que depuis notre classe et nous auront la liberté de les nommées comme bon nous semble. Vous voudrez bien vous renseigner sur internet si ces notions ne vous sont pas familières.

Je vous invite, dès à présent, à suivre le deuxième lien dans les références données à la fin de ce billet.

Fonctionnement du plugin :

Tout le principe du présent plugin consiste à utiliser le filtre ‘style_loader_src‘.

A chaque fois qu’une feuille de styles est chargée dans une page de WordPress, le lien vers cette feuille de styles peut être passé à une fonction de rappel (callback en anglais) pour traitement. Dans le code source, c’est le constructeur de la classe qui s’occupe de brancher le filtre ‘style_loader_src‘ (et uniquement ce dernier) à une méthode qui effectue un traitement si le lien de la feuille de styles pointe vers les serveurs de Google, cette méthode retourne le lien inchangé dans le cas contraire.

Voici le traitement non détaillé du plugin :

  1. Quand la feuille de style est liée à Google, on analyse son lien pour déterminer le nom de la police liée
  2. On vérifie si on n’a pas déjà traité cette feuille de style, si c’est le cas on passe à l’étape n°6
  3. Sinon, on crée un sous-dossier dans le dossier ‘fonts‘ du nom trouvé à l’étape n°1
  4. On télécharge et stocke les fichiers de polices dans ce sous-dossier avec leur nom correct
  5. On modifie la feuille de styles de Google et l’on enregistre dans le dossier ‘css‘ sous le nom trouvé à l’étape n°1
  6. On retourne le lien vers notre feuille de styles

Vous aurez donc compris que l’on passe forcément une seule fois par les serveurs de Google pour télécharger les polices en cas de nécessité, vous le faisiez déjà à chacune de vos connexions à la partie administration de WordPress.

Convention d’écriture et standards :

Ici, même pour ce premier plugin, j’ai choisi de préfixer le nom de l’archive par bl pour Blog Libre, c’est une méthode que je vous conseille d’adopter si vous souhaitez vous lancer dans le développement de plugins avec votre propre préfixe et souhaitez par la suite les proposer sur le site officiel de WordPress.

Le nom de la classe débute également par bl pour la même raison. Enfin, le regroupement d’un traitement par classes vous permettra de gérer plus facilement leur nom et leur nombre et vous aidera à vous y retrouver.

Cet exemple ne respecte peut-être pas les standards d’écriture attendus par l’équipe officielle pour la validation et l’hébergement de plugins, vous veillerez donc à les respecter et je vous renvoie à la documentation officielle pour de plus explications.

Références diverses :

bl-google-fonts