L'équipe WordPress Performance déploie un proposition pour développer un outil de vérification de plug-in similaire au plugin de vérification de thème , qui garantit que les thèmes répondent aux dernières normes et meilleures pratiques.
En 2021, l'équipe WordPress Meta a créé un scanner de code qui détecte les risques de sécurité potentiels, tels que les requêtes SQL non échappées dans le code du plug-in, dans le but de réduire la charge sur l'équipe du plug-in grâce à l'automatisation. Cet outil particulier n'a pas été développé pour encourager les meilleures pratiques, mais plutôt pour s'assurer que les plug-ins qui entrent dans l'annuaire répondent aux normes minimales requises pour la sécurité.
L'équipe Performance propose la création d'un autre type de plug-in qui signale toute violation des exigences de développement de plug-in et suggère les meilleures pratiques avec des erreurs ou des avertissements.
"Il doit couvrir divers aspects du développement de plug-ins, des exigences de base telles que l'utilisation correcte des fonctionnalités d'internationalisation aux meilleures pratiques d'accessibilité, de performances et de sécurité.», a déclaré Felix Arntz, un contributeur sponsorisé par Google. Il a identifié trois objectifs principaux pour le plugin :
- Fournissez aux développeurs de plug-ins des commentaires sur les exigences et les meilleures pratiques pendant le développement.
- Fournir à l'équipe de révision du plugin wordpress.org un outil automatisé supplémentaire pour identifier certains problèmes ou faiblesses dans un plugin avant une révision manuelle.
- Fournissez aux propriétaires de sites techniques un outil pour évaluer les plug-ins en fonction de ces exigences et des meilleures pratiques.
L'équipe de performance recommande que le plug-in fonctionne également à partir de la ligne de commande (à l'aide de WP-CLI) et qu'il aille au-delà de l'analyse du code statique pour inclure les contrôles d'exécution qui exécutent le code.
La proposition a reçu des commentaires mitigés jusqu'à présent. Plusieurs participants à la discussion saluent le développement d'un tel outil et seraient impatients de l'utiliser avec leurs propres plugins. D'autres craignent que les contrôles deviennent trop lourds et aient un impact négatif sur l'écosystème des plugins.
"Avoir un plug-in pour automatiser ces vérifications est génial" dit Développeur WordPress Michael Nelson. "Je crains cependant que cela signifie finalement que les développeurs des auteurs du plugin WP devront également adopter le style de code de WP, ce qui serait assez ennuyeux. »
Développeur WordPress Josh Pollock dit pour partager ces préoccupations et s'inquiète de la manière dont ces normes peuvent être appliquées aux plug-ins qui n'ont pas été conçus pour prendre en charge PHP5, utiliser composer pour la gestion et l'automatisation des dépendances et partager le code PHP avec d'autres frameworks.
"Si ce plugin AIDE les développeurs, c'est bien, mais s'il est utilisé comme une arme pour insister sur les normes, je soupçonne que ce sera un clou dans le cercueil de WP." il a dit développeur de plugins Robin W.
"Mais celui qui dit simplement "vous n'échappez pas correctement à votre code" et amène ensuite le développeur du plugin à essayer de trouver ce qui ne va pas et où il ne fera que conduire à moins d'innovation." .
L'équipe Performance demande des commentaires à la communauté, en particulier aux développeurs de plug-ins, aux réviseurs de plug-ins et à la méta-équipe. S'ils parviennent à un consensus, Arntz a déclaré que la prochaine étape consiste à concevoir l'infrastructure de contrôle des plugins dans un référentiel GitHub.
"L'équipe de performance serait ravie de prendre la tête de ce projet, mais il est essentiel que des contributeurs supplémentaires d'autres équipes aident à son développement, en particulier lorsqu'il s'agit de définir et de mettre en œuvre les différents contrôles", a déclaré Arntz.
"C'est certainement un projet ambitieux et ce n'est pas la première fois qu'un vérificateur de plugins est introduit. Il convient également de préciser qu'il faudra probablement au moins quelques mois pour arriver à une première version. Cependant, nous sommes optimistes sur le fait qu'avec une base solide et une collaboration dès le départ, nous pouvons créer un outil qui répond aux exigences de vérifications automatiques fiables des plug-ins. »