WordPress Plugin Starter
Crédit : Photo de Ferenc Almasi sur Unsplash
Développer une extension WordPress from scratch, c’est souvent repartir de zéro sur la même infrastructure : structure de fichiers, outils de qualité de code, environnement de test, pipeline de release… Autant de tâches répétitives qui n’ont pas de valeur métier.
WordPress Plugin Starter est un boilerplate open source conçu pour éliminer cette friction et vous permettre de vous concentrer sur ce qui compte : la logique de votre extension.
Ce que le starter embarque d’emblée
Dès le premier composer install et npm install, vous disposez d’un environnement de développement complet :
- Architecture PHP moderne — classes namespaces PSR-4, autoloading Composer, pattern Singleton pour la classe principale
- Moteur de templates Twig — fini le mélange PHP/HTML dans les vues d’administration, les templates
.twigsont propres, lisibles et échappent automatiquement les variables - Qualité de code automatisée — ESLint et Prettier pour le JavaScript, PHPCS avec les WordPress Coding Standards pour le PHP, le tout exécuté automatiquement à chaque commit via Husky
- SCSS compilé — les styles d’administration sont écrits en SCSS et compilés en CSS minifié pour la production
- Tests PHPUnit — une configuration prête à l’emploi pour écrire des tests unitaires dès le premier jour
- Intégration continue — un workflow GitHub Actions (compatible Forgejo/Codeberg) qui vérifie le lint et les tests à chaque push
- Release automatisée — une commande unique pour incrémenter la version, compiler les assets et générer un ZIP prêt à installer dans WordPress
Prise en main en quatre étapes
Le starter repose sur un système de placeholders à remplacer une seule fois pour adapter l’ensemble du projet à votre extension :
- Rechercher/remplacer les placeholders (
my-plugin,MyPlugin,Vendor\MyPlugin, etc.) dans tous les fichiers, - Renommer le fichier principal
my-plugin.php, - Installer les dépendances :
composer install && npm install, - Connecter le dossier à votre environnement WordPress local et activer l’extension.
Pourquoi Twig dans un plugin WordPress ?
WordPress n’impose aucune couche de templating — la plupart des extensions mélangent PHP et HTML dans leurs vues d’administration, ce qui complique la lisibilité et la maintenance. Twig apporte la séparation des responsabilités : la logique reste dans les classes PHP, la présentation dans les fichiers .twig. Les helpers WordPress les plus courants (__(), esc_html, esc_url, wp_nonce_field…) sont disponibles nativement dans les templates.
Open source, GPL-2.0
Le dépôt est publié sous licence GPL-2.0-or-later, compatible avec les exigences de WordPress.org. Si vous l’utilisez comme base pour votre propre extension, une mention dans votre README est appréciée.
Le code source est disponible sur Github. Contributions et retours bienvenus.
Une question ou un projet ?
Je suis disponible pour en discuter.