Quand les choses deviennent un peu techniques : comment nous avons concrétisé notre version du mappage de shortcodes

Écrit par

dans

,

How-We-Made-Our-Version-Of-Shortcode-Mapping-Happen-2Dans l’article précédent, nous avons abordé les bases du mappage de shortcodes et comment vous pouvez profiter de ses précieux avantages. Nous avons décidé de scinder l’article présentant la version du mappage de shortcodes selon Page Builder Sandwich, car le texte qui suit pourrait devenir un peu plus technique.

Vous trouverez ci-dessous des descriptions plus approfondies du fonctionnement interne de notre fonctionnalité de mappage de shortcodes, et de la façon dont nous l’avons fait fonctionner.

Un processus automatisé

Afin de déterminer quels plugins inclure dans le mappeur de shortcodes, nous avons développé un script automatisé qui rassemble les meilleurs plugins du répertoire d’extensions WordPress selon les critères suivants :

  • Parmi les 1 000 plugins populaires, les mieux notés et mis à jour, avec au moins 4 000 installations actives,
  • Avec au moins 4 000 installations actives,
  • Avec au moins 20 évaluations, et ;
  • Avec une note moyenne d’au moins 3 étoiles

Nous exécutons cette requête quotidiennement sur le répertoire d’extensions WordPress. Ces filtres garantissent l’obtention d’une liste de plugins de bonne qualité utilisés par de nombreuses personnes. Au moment où ces lignes ont été écrites, ces critères ont permis de sélectionner 800 plugins. C’est beaucoup. Vraiment beaucoup.

Certains des plugins les plus populaires détectés pour le mappage de shortcodes.
Certains des plugins les plus populaires détectés pour le mappage de shortcodes.

Nous effectuons ensuite une série de vérifications automatisées sur le code source de chaque plugin pour déterminer s’il contient des shortcodes, puis nous tentons d’identifier tous ces shortcodes, y compris l’ensemble de leurs attributs. En traitant les données, cela a permis d’obtenir plus de 2 000 shortcodes. Double waouh. Les shortcodes détectés sont ensuite enregistrés dans la base de données de mappage de shortcodes pour une inspection manuelle.

À la fin de ce processus, nous nous retrouvons avec une immense liste de plugins et de leurs shortcodes potentiels. Il ne reste plus qu’à nettoyer ces données pour s’assurer que tout est correct.

Un processus manuel

C’est probablement la partie la plus difficile de tout le système de mappage. Le code des plugins se présente sous différentes formes et structures, et tous les shortcodes ne sont pas automatiquement détectés par nos scripts. Même si le Codex WordPress recommande d’utiliser la fonction `shortcode_atts` pour filtrer les attributs d’un shortcode, il ne s’agit que d’une recommandation et tout le monde ne l’applique pas. Il n’existe pas non plus de méthode infaillible pour vérifier les rouages internes d’un shortcode lorsqu’un plugin est installé.

Pour nous assurer d’obtenir correctement tous les shortcodes et leurs attributs, nous avons créé une interface front-end dédiée à la modification des shortcodes et des attributs, développée avec AngularJS et Bootstrap.

Interface Bootstrap & AngularJS pour corriger tous les shortcodes mappés.
Interface Bootstrap & AngularJS pour corriger tous les shortcodes mappés.

Nous devons passer manuellement en revue chaque plugin, vérifier la documentation de ses shortcodes et nous assurer que toutes les données dont nous disposons sont exactes.

Même si cela s’avère particulièrement fastidieux, disposer d’un processus automatisé comporte quelques avantages :

  • D’après nos premières statistiques, seul environ 1 plugin sur 2 possède des shortcodes.
  • La moitié des shortcodes détectés n’ont aucun attribut (bien qu’une partie puisse être des faux positifs)
  • En ne sélectionnant que des plugins de bonne qualité, il est très probable qu’ils disposent d’une documentation pour leurs shortcodes

Ce n’est qu’une fois que tous les shortcodes d’un plugin ont été vérifiés que le serveur commence à distribuer les correspondances de shortcodes de ce plugin aux utilisateurs.

Un appel à l’API REST

La dernière pièce du puzzle est le plugin lui-même. Le concept est simple ici : identifier quels plugins sont actifs, quel thème le site utilise et quels shortcodes sont disponibles, puis demander à la base de données de mappage de shortcodes si elle dispose de correspondances. Pour cela, nous avons créé un point de terminaison WP REST API personnalisé que tous les clients interrogent pour obtenir leurs derniers mappages de shortcodes.

L’avenir : le crowdsourcing

Vérifier manuellement chaque plugin demande beaucoup de temps et d’efforts. Dès que la plateforme de mappage de shortcodes sera stable, nous prévoyons de l’ouvrir à tous. Cela signifie que chacun pourra contribuer à l’ajout de shortcodes.

Vous vous demandez peut-être : « Pourquoi devrais-je aider à mapper des shortcodes ? Qu’est-ce que j’y gagne ? » Eh bien, plusieurs raisons expliquent pourquoi les gens pourraient vouloir apporter leur aide :

  1. Si vous avez créé un plugin et que nous ne l’avons pas encore repéré en raison des critères ci-dessus (et qu’il figure dans le répertoire d’extensions WordPress), vous pouvez alors ajouter les correspondances vous-même. Votre plugin sera ainsi entièrement pris en charge par PBS !
  2. Comme nous ne traiterons que les plugins du répertoire d’extensions WordPress dans le cadre du processus automatisé, les auteurs de plugins et thèmes premium ne seront pas inclus. Si vous en proposez un, vous pouvez donc également ajouter vos mappages de shortcodes pour celui-ci.
  3. Et pour ceux qui ne développent pas de plugins, nous pouvons récompenser les personnes qui prêtent main-forte. Pour faire du mappage de shortcodes une initiative attrayante, nous pouvons récompenser nos précieux contributeurs avec une licence personnelle, ou une mise à niveau vers une licence premium de PBS !

Inscrivez-vous à notre newsletter

La fonctionnalité de mappage de shortcodes sera provisoirement mise à la disposition de nos clients le 12 août  15 août  16 août 2016. Tous les shortcodes ne seront pas mappés d’ici là (nous estimons pouvoir en couvrir environ 100 plugins), mais le mappage continuera de façon permanente et les clients les recevront au fur et à mesure de leur déploiement.

Inscrivez-vous à notre newsletter pour recevoir des actualités sur le mappage de shortcodes, sa date de lancement et le moment où nous l’ouvrirons au public !