Le projet Tide vise à auditer et noter les thèmes et plugins WordPress en fonction de la qualité du code

Publié: 2017-11-23

La semaine dernière, XWP a publié un aperçu intrigant d'un nouveau projet appelé Tide qui vise à améliorer la qualité du code dans les écosystèmes de plugins et de thèmes WordPress. La société a travaillé avec le soutien de Google, Automattic et WP Engine pour créer un nouveau service qui aidera les utilisateurs à prendre de meilleures décisions concernant les plugins et aidera les développeurs à écrire un meilleur code.

Le responsable marketing de XWP, Rob Stinson, a résumé l'orientation du projet jusqu'à présent :

Tide est un service composé d'une API, d'un serveur d'audit et d'un serveur de synchronisation, travaillant en tandem pour exécuter une série de tests automatisés sur le plugin WordPress.org et les répertoires de thèmes. Grâce au plugin Tide, les résultats de ces tests sont livrés sous la forme d'un score agrégé dans l'administrateur WordPress qui représente la qualité globale du code du plugin ou du thème. Un rapport complet est généré, permettant aux développeurs de mieux comprendre comment ils peuvent améliorer la qualité de leur code.

L'annonce XWP comprenait également une capture d'écran de la manière dont ces données pourraient être présentées dans le répertoire des plugins WordPress :

XWP prévoit de dévoiler le service au WordCamp US à Nashville sur le stand Google où ils inviteront la communauté à s'impliquer. Naturellement, un projet ayant le potentiel d'avoir autant d'impact sur l'écosystème de plugins soulève de nombreuses questions sur qui est derrière la vision et quel type de métriques seront utilisées.

J'ai contacté Rob Stinson et Luke Carbis chez XWP, qui sont tous deux des contributeurs au projet, pour avoir un aperçu de la façon dont cela a commencé et où ils prévoient que cela se passera.

"Tide a été lancé chez XWP il y a environ 12 mois lorsqu'une de nos équipes de service a élaboré l'idée, suivie d'une preuve de concept, d'un outil qui a exécuté une série de tests de qualité de code par rapport à un paquet de code (plugin WordPress) et a renvoyé les résultats via une API », a déclaré Stinson. " Peu de temps après, nous avons trouvé le nom de Tide, inspiré du proverbe " Une marée montante soulève tous les bateaux ", pensant que si un outil comme celui-ci pouvait réduire la barrière d'accès à un code de bonne qualité pour suffisamment de développeurs, il pourrait améliorer la qualité de code sur l'ensemble de l'écosystème WordPress.

Stinson a déclaré que XWP avait intensifié ses efforts sur Tide au cours des derniers mois après avoir commencé à voir son potentiel et partagé la vision avec des partenaires.

"Google, Automattic et WP Engine ont également aidé le projet à fournir des ressources (fonds, infrastructure, temps de développement, conseils, etc.) récemment", a déclaré Stinson. « Leur soutien nous a vraiment aidés à créer une dynamique. Google y joue un rôle important depuis le mois d'août environ. Nous avions travaillé avec eux sur d'autres projets et lorsque nous avons partagé avec eux la vision de Tide, ils ont adoré et ont vu à quel point cela correspondait à leur vision d'un Web plus performant.

Le service Tide n'est pas actuellement actif mais une version bêta sera lancée au WordCamp US avec un plugin WordPress à suivre peu de temps après. Stinson a déclaré que l'équipe a conçu la première version pour présenter les possibilités de Tide et encourager les commentaires et la contribution de la communauté.

"Nous réalisons que Tide sera à son meilleur s'il est open source", a-t-il déclaré. "Il comporte de nombreux éléments mobiles et nous reconnaissons que plus la contribution de la communauté est importante, mieux elle représentera et répondra aux besoins de la communauté en matière de qualité du code."

A ce stade du projet, rien n'est figé. L'équipe Tide continue d'expérimenter différentes façons de rendre les données d'audit du plugin disponibles, ainsi que d'affiner la façon dont ces données sont pondérées lors de la fourniture d'un score Tide.

"Le nombre d'étoiles n'est qu'une idée avec laquelle nous avons joué", a déclaré Stinson. "Le but sera d'agréger le rapport complet produit par Tide en une métrique simple et facile à comprendre à laquelle les utilisateurs de WordPress pourront se référer lorsqu'ils prendront des décisions concernant les plugins et les thèmes. Nous savons que nous n'avons pas cette métrique et comment elle s'affiche correctement. Nous avons déjà eu d'excellents retours de la part de la communauté.

Le service n'est pas seulement conçu pour produire des scores, mais aussi pour permettre aux développeurs d'identifier facilement les faiblesses de leur code et d'apprendre à les corriger.

"Abaisser la barrière d'entrée pour écrire un bon code était l'inspiration originale de l'idée", a déclaré Stinson.

L'équipe du projet Tide prévoit d'affiner les mesures utilisées pour la note d'audit en fonction des commentaires de la communauté

Le site Web du projet Tide, wptide.org, sera lancé au WordCamp US et fournira aux développeurs des scores, y compris des détails tels que les numéros de ligne et les descriptions des reniflements échoués. Les développeurs de plugins pourront utiliser le site pour améliorer leur code et les utilisateurs de WordPress pourront vérifier rapidement la qualité d'un plugin. Le chef de produit XWP, Luke Carbis, a expliqué comment le score Tide est actuellement calculé.

"En ce moment, Tide exécute une série de reniflements de code sur un plugin / thème, prend les résultats, applique une certaine pondération (les problèmes de sécurité potentiels sont plus importants que les onglets par rapport aux espaces), puis fait la moyenne des résultats par ligne de code ", Carbis mentionné. "Le résultat est un score sur 100, ce qui est un excellent indicateur de la qualité d'un plugin ou d'un thème. L'« algorithme » qui détermine le score n'est en fait qu'une série de pondérations.

Les pondérations que le service utilise actuellement ont été sélectionnées comme point de départ, mais Carbis a déclaré que l'équipe espère que la communauté WordPress les aidera à l'affiner.

"Si cela a du sens, peut-être qu'un jour ce score pourrait apparaître dans l'administrateur WordPress (sur la page Ajouter un nouveau plugin)", a déclaré Carbis. "Ou peut-être que cela pourrait influencer les résultats de la recherche (les plugins les mieux notés sont classés en premier). Ou peut-être qu'il reste simplement sur wptide.org. C'est vraiment à la communauté de décider.

En plus d'exécuter des codesniffs, le service Tide exécutera deux autres analyses. Une analyse Lighthouse, utilisant l'outil automatisé open source de Google pour améliorer la qualité des pages Web, sera effectuée sur des thèmes, ce qui, selon Carbis, est une "énorme réalisation technologique".

"Pour chaque thème du répertoire, nous lançons une installation temporaire de WordPress et exécutons un audit Lighthouse dans une instance de chrome sans tête", a déclaré Carbis. "Cela signifie que nous obtenons un rapport détaillé sur la qualité de sortie frontale du thème, pas seulement sur le code qui l'alimente."

Le deuxième scan Tide effectuera des mesures de compatibilité PHP et s'appliquera à la fois aux plugins et aux thèmes.

"Tide peut dire avec quelles versions de PHP un plugin ou un thème fonctionnera", a déclaré Carbis. « Pour les utilisateurs, cela signifie que nous pourrions potentiellement masquer les résultats dont nous savons qu'ils ne fonctionneront pas avec leur installation WordPress (ou au moins afficher un avertissement). Pour les hôtes, cela signifie qu'ils peuvent facilement vérifier la compatibilité PHP avant de mettre à niveau une installation vers PHP 7 (nous pensons que cela entraînera la mise à niveau de beaucoup plus d'installations - l'effet net étant une augmentation notable de la vitesse, ce que nous trouvons vraiment excitant et motivant). ”

Carbis a déclaré que l'équipe travaille actuellement à court terme pour intégrer l'élément de compatibilité PHP dans l'API WordPress.org, qui, selon lui, pourrait commencer à influencer les résultats de recherche sans aucune modification du cœur de WordPress.

« Nous aimerions également commencer à dialoguer avec la communauté pour savoir si la présentation d'un score de qualité du code aux utilisateurs de WordPress est utile, et si c'est le cas, à quoi cela ressemble-t-il ? (par exemple, score sur 100, 5 étoiles, A/B/C/D, etc.) », a déclaré Carbis. "Nous publierons notre suggestion sur ce à quoi cela pourrait ressembler en tant que plugin peu de temps après WordCamp US."

Des informations plus spécifiques sur les mesures que Tide utilise actuellement et sur la manière dont elles s'appliquent aux plugins et aux thèmes seront disponibles après le lancement du service en version bêta. Si vous participez au WordCamp US et que vous avez des suggestions ou des commentaires à proposer à l'équipe, assurez-vous de vous arrêter au stand de parrainage de Google.