Boilerplate WordPress avec architecture Bedrock, gestion des dépendances via Composer, templating Timber/Twig et stack front-end moderne (Vite + SCSS).
| Couche | Technologie |
|---|---|
| CMS | WordPress (via roots/wordpress) |
| Architecture | Bedrock |
| Dépendances PHP | Composer |
| Templating | Timber / Twig |
| Build front-end | Vite |
| CSS | SCSS → LightningCSS + Autoprefixer + PurgeCSS |
| JS | ES Modules natifs |
| CLI WordPress | WP-CLI |
git clone <repo-url> && cd wordpress-boilerplate-woocommerce
composer installcp .env.example .envRenseigner les variables dans .env :
DB_NAME=your_db
DB_USER=your_user
DB_PASSWORD=your_password
DB_HOST=localhost
WP_ENV=development
WP_HOME=http://localhost:8080
WP_SITEURL=${WP_HOME}/wpcd web/app/themes/default
npm installDepuis la racine du projet :
php -S localhost:8000 -t webOu via WP-CLI (utilise la config wp-cli.yml) :
wp serverWordPress est accessible sur http://localhost:8080 L'admin est sur http://localhost:8080/wp/wp-admin
Dans web/app/themes/default/ :
npm run devVite démarre sur http://localhost:1337 avec hot-reload sur les fichiers
.phpet.twig.
npm run buildLes assets compilés sont générés dans web/app/themes/default/dist/.
| Plugin | Description |
|---|---|
| WooCommerce | E-commerce |
| WooCommerce Gateway Stripe | Paiement Stripe |
| Secure Custom Fields (SCF/ACF) | Champs personnalisés |
| Extended CPTs | Custom post types simplifiés |
| Extended ACF | API orientée objet pour ACF |
| Query Monitor | Débogage (dev) |
| Bedrock Autoloader | Autoload mu-plugins |
| Bedrock Disallow Indexing | Bloque l'indexation hors production |
| Package | Description |
|---|---|
| Timber | Templating Twig pour WordPress |
| Extended Template Parts | Template parts avancés |
| johnbillion/args | Arguments typés pour WP |
| vinkla/headache | Nettoyage du front WordPress |
├── composer.json
├── config/
│ ├── application.php # Config WordPress principale
│ └── environments/ # Surcharges dev / staging / production
├── web/
│ ├── app/
│ │ ├── mu-plugins/ # Must-use plugins
│ │ ├── plugins/ # Plugins Composer
│ │ ├── themes/
│ │ │ └── default/ # Thème principal
│ │ │ ├── assets/
│ │ │ │ ├── js/
│ │ │ │ └── scss/
│ │ │ ├── views/ # Templates Twig
│ │ │ ├── src/ # Classes PHP du thème (PSR-4 Theme\)
│ │ │ ├── vite.config.js
│ │ │ └── package.json
│ │ └── uploads/
│ ├── wp/ # Core WordPress (géré par Composer)
│ └── index.php
└── wp-cli.ymlLe fichier wp-cli.yml pointe automatiquement vers web/wp. Toutes les commandes WP-CLI peuvent donc être lancées depuis la racine :
wp plugin list
wp user create admin admin@example.com --role=administrator
wp search-replace 'http://old-url.com' 'http://localhost:8000'