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

De la problématique des Shadoks qui pompaient trop

Quel est le point commun entre youtube, netflix, steam ou origin ? ils bouffent de la bande passante et c’est un vrai problème. Prenons un exemple, concret, moi. Je n’utilise pas netflix, je regarde peu de vidéo youtube, je ne downloade pas salement des bluray, je télécharge par contre quelques jeux par le biais du PSN mais pas tant que cela, sans avoir précisément une estimation du nombre de gigas que je consomme mensuellement, ce qui est certain c’est que d’autres consomment largement plus que moi, d’autres moins que moi. Dès lors quelques hypothèses. Soit le service très consommateur paye les fournisseurs d’accès internet, c’est le cas par exemple pour Netflix, et on peut imaginer que la société taxée va répercuter la facture sur l’abonné ce qui est facile car il y a un abonnement, mais comment par exemple gérer le téléchargement pirate gourmand, les gens qui regardaient des vidéos en 320×240 hier qui désormais regardent des vidéos en HD bien plus gourmandes, et bien évidemment la multiplication du nombre d’utilisateurs qui vont avoir des pratiques similaires.

La solution est trouvée depuis longtemps chez les opérateurs, il suffit de monter le prix de l’abonnement pour garantir la qualité du service. La fameuse qualité du service fait grincer des dents mais cela reste indéniable, ne s’use que si l’on s’en sert dit l’adage, il y a tout de même une logique, on a du mal à imaginer que des infrastructures peuvent supporter 2 milliards de personnes, ou 4 le lendemain sans qu’on fasse des travaux, et les travaux ça coûte cher. Monter de façon collective serait une injustice, mes beaux parents pour exemple n’ont pas le PSN, une utilisation modérée d’internet, pourquoi supporteraient-ils une augmentation du prix de leur abonnement pour quelque chose qu’ils n’utilisent que très peu en comparaison de ceux qui ont une consommation excessive. L’astuce dès lors est toute trouvée, un internet à deux vitesses qui semble être la mesure la plus juste, on continue de payer la même chose parce qu’il faut pas rigoler mais on bride les gens passés une certaine quantité.

Sans tomber dans les calculs d’apothicaires que je ne maîtrise pas, on pourrait dire que les gens qui font du Warez vont devoir lever le pied, qu’il y aura certainement une guerre très dure entre les sociétés de streaming, de vente par téléchargement etc … et le FAI. Pour avoir été par exemple un gros consommateur de Steam, avec des jeux à 30 gigas ça peut aller très vite, imaginez une limitation alors que tout passe au dématérialisé, ces industries risquent d’avoir de sérieux problèmes, on pourrait même imaginer un retour au support physique qui deviendrait alors moins cher. Ce qui est certain c’est qu’on a là chez toutes ces sociétés un moyen extraordinaire de faire monter les factures et de justifier. Les FAI vont se cacher derrière les frais d’entretien, pendant que les boîtes qui pompent trop fortement le réseau iront répercuter en plus cher bien évidemment, la facture sur le consommateur.

Nous serons par le fait perdant sur toute la ligne mais pas que d’un point de vue financier. Le 27 théoriquement, je peux passer à la VDSL2 augmentant mes débits par 10 notamment l’upload. Dès lors on peut imaginer un auto-hébergement plus conséquent, pourquoi pas héberger le blog-libre à domicile. Je regardais les stats 100 gigas par mois uniquement pour le blog libre, pas le plus gros blog du monde. Rajoutons à cela la consommation personnelle, quelques jeux sur le PSN et je pourrai me retrouver facilement dans le camp des gros pompeurs de Web.

La menace de l’internet à deux vitesses se profile, et les problèmes qu’il posera s’il est mis en place, c’est que la fameuse indépendance tant recherchée est consommatrice de ressources Web, comment dès lors envisager de s’auto-héberger dignement sans payer la classe A de l’abonnement internet. Il faut bien prendre conscience que le logiciel libre a bien un prix et que de façon générale nous passons tous à la caisse pour nous libérer quand il serait bien plus simple d’embrasser des services propriétaires qui ne vous feront rien payer mais qui font de vous le produit.

shadoks

Présentation

Cyrille m’a ordonné demandé de me présenter. Ha, ha, ha, il ne doit pas savoir à quoi il s’expose. Je vais déjà commencer par cette idée totalement saugrenue de se présenter. Et ça va déjà partir dans tous les sens.

Je suis ici parce que les gens sont intelligents. Je fais beaucoup de comparaison, chacun a son idée là-dessus, il faut effectivement parfois ne pas toujours tout comparer, vous m’en excuserez. Le billet de Damien Et si on censurait internet ? Une obsession française ? a vu apparaître des commentaires sur la qualité des commentaires sur ce blog.

Les commentaires sont bons ici, les commentaires sont argumentés, censés et c’est plus important que tout le reste ils sont intéressants et respectueux (moqueurs certes mais on ne bascule pas dans l’attaque personnelle sordide et digne de la maternelle). Est-ce que le débat qu’aurait pu susciter Damien avec son article a fait plouf à cause du mauvais niveau des commentaires ? Oui. Il a malheureusement surtout fait plouf à cause du cœur et de l’emportement qu’a mis Damien dans son article.

Je trouve cela sain que des personnes soient encore convaincus par la politique, débattent encore dessus, argumentent, s’emportent. Damien aurait dû être plus retenu dans son article car ça aurait permis un meilleur débat tout simplement. Il a écrit comme il voulait écrire avec son style et son cœur et soyons clair et franc, il n’y a que cette manière d’écrire. Pourtant une personne qui arrive et qui lit, qui n’est pas dans son délire (je n’utilise pas ce mot de manière péjorative) ne va pas recevoir le message comme il devrait l’être, parfaitement présenté càd argumenté, posé. Le message et les arguments sont mal passés déjà à cause du ton. Un ton qu’il était nécessaire de poser pour avoir un débat constructif.

Ça n’enlève rien au fait que Damien a pondu un article (des informations et des arguments) intéressant, ça n’enlève rien au fait qu’on peut publier ce qu’on veut sur le blog-libre et ça n’enlève rien au fait que quelques commentaires étaient intéressants. Maintenant comparons, vous connaissez beaucoup de blogs où le contenu est de qualité, les commentaires existants et récurrents, les participants (gens qui commentent) ont des arguments, les défendent et les présentent ? Bref, un blog où il y a des articles de qualité qui suscitent le débat, l’interaction, les idées, le partage et où on peut en débattre. J’en lis un paquet et je n’en connais pas. Je dis pas que ça n’existe pas mais déjà il n’y en pas des masses mais en plus qui traite du Libre, on tombe carrément à 1 en France.

C’est pour cela que je suis ici. Cyrille sous ses airs de bogosse absolu a su fédérer des gens qui s’entendent, ils sont en désaccord mais ils communiquent encore. Je suis d’accord avec cette citation du Grand Maître : Par le fait infléchir sur la vision du monde de l’autre quand le but n’est pas d’échanger mais d’imposer, fait que chacun campe sur ses positions. C’est majoritairement le cas sur Internet dans les forums, sur les blogs, sur les sites. On envoie une petite vacherie ou deux lignes pour démonter un article de 100 lignes. Je suis ici parce qu’on s’écoute encore et que tous les blogueurs sur le blog-libre ont encore de nombreuses choses intéressantes à dire.

Vous savez pourquoi je suis là maintenant, vous vous doutez également que j’embrasse la philosophie du Libre, que je suis sous GNU/Linux et que je vais parler de tout ça. Est-ce qu’il y a besoin de savoir autre chose ?

Je pense que non et c’est bien évidemment mon avis personnel. Je fais la nique à la demande du Grand Maître. Il faut comprendre que c’est malsain de vouloir caser une personne dans une case. Malsain pour le débat car ça commence déjà mal. On a tous des aprioris, je suis toujours fasciné quand je mets un visage ou une tête sur un nom. Je n’ai plus le même regard ensuite et c’est instantané. Dingue comment une gueule peut vous revenir ou pas. C’est un peu comme commencer un débat par : Je fais parti de la Manif pour tous, j’étais au défilé d’il y a une semaine. Boum, étiqueté. Direct, un certain pourcentage du lectorat va se barrer ou être contre cette personne. Pour autant, est-ce que cette personne n’est pas capable d’aligner une seule information importante, un seul argument digne d’être retenu ?

Il faut laisser du temps au temps, Cyrille si tu veux me connaître il faudra me lire. Un individu peut avoir des arguments valables sans qu’il soit légitime dans le sujet auquel il participe. C’est la magie d’Internet, on peut être qui on veut…