Projet Niveau 5 (capstone) — wpr-books Pro : produit freemium
⏱️ TL;DR — Le capstone : transformer
wpr-booksen un produit distribuable et monétisable. Vous durcissez le code (sécurité, i18n, tests, CI), vous préparez la soumission wp.org (version gratuite), vous découpez free/Pro et branchez une licence (Freemius), et vous produisez le paquet + la page produit. Objectif : boucler la chaîne complète code → qualité → distribution → revenu récurrent de la Partie 13. C’est ici que tout le parcours devient un actif.
🎯 Niveau & objectifs
- Niveau : 5 (capstone). Prérequis : Niveaux 2–4 (
wpr-bookscomplet : CPT, bloc, REST). Idéalement le front Niveau 4 comme argument commercial. - Durée indicative : 15–30 h (c’est un vrai mini-produit).
- Vous allez pratiquer :
readme.txtwp.org, Plugin Check, WPCS/PHPCS, PHPUnit + Playwright, CI, i18n complète, hardening, découpage freemium, licensing (Freemius/EDD), (option) extension WooCommerce.
📋 Cahier des charges
Contexte — wpr-books marche sur votre machine. Pour qu’il rapporte, il doit quitter votre machine : être publiable sur wp.org (gratuit, acquisition) et vendre une version Pro (récurrent). Vous choisissez une des deux pistes ci-dessous.
Objectif — Un plugin prêt pour la distribution : conforme, testé, internationalisé, avec un modèle free/Pro fonctionnel et une page produit.
Piste A — Plugin freemium (recommandée)
Périmètre inclus
- Durcissement : audit sécurité complet (nonces, capabilities,
sanitize/esc,$wpdb->prepare), passage WPCS/PHPCS propre, PHPStan si possible. readme.txtconforme wp.org (en-tête,Stable tag,Tested up to, sections, captures) validé par le readme validator et le Plugin Check.- i18n complète :
.potgénéré (wp i18n make-pot), toutes chaînes traduisibles, textdomain cohérent. - Tests : quelques PHPUnit (activation, enregistrement CPT, REST) + un parcours Playwright (créer un livre, insérer le bloc).
- CI (GitHub Actions) : lint + tests à chaque push.
- Découpage free/Pro clair (tableau) : gratuit = catalogue + bloc de base ; Pro = import CSV/ISBN, blocs avancés, endpoint headless enrichi, support.
- Licence Pro branchée (SDK Freemius en sandbox, ou EDD Software Licensing) avec upgrade in-app et mises à jour Pro.
- Page produit (peut être le front Niveau 4) : démo, comparatif free/Pro, appel à l’action.
Piste B — Extension WooCommerce
Périmètre inclus (à la place de 6–8 ci-dessus) 6b. Transformer les livres en produits WooCommerce (ou synchroniser), avec un type de produit ou des métadonnées dédiées. 7b. Un hook de personnalisation (ex. affichage ISBN sur la fiche produit, filtre de prix) et un usage de la Store API. 8b. Packaging identique (readme, tests, licence) pour vente sur un marketplace ou en direct.
Périmètre exclu (les deux pistes) — Pas de vraie mise en vente publique (sandbox/local), pas de traitement de paiements réels, pas de support client réel. On construit la chaîne, on ne lance pas commercialement (ça, c’est après).
Contraintes
- Zéro avertissement bloquant du Plugin Check.
- Aucune régression : le gratuit reste pleinement fonctionnel sans licence.
- Les fonctions Pro dégradent proprement si la licence est absente (pas d’erreur fatale).
- Respect GPL (voir Partie 13.3).
Livrables
- Le paquet gratuit prêt pour soumission (zip conforme +
readme.txtvalidé). - Le module Pro (ou l’extension Woo) avec licence de test fonctionnelle.
- Un
GO-TO-MARKET.md: découpage free/Pro, prix envisagé, plan de lancement 90 jours (repris de Partie 13.4).
✅ Critères de réussite
- Plugin Check ne remonte aucune erreur bloquante ; PHPCS/WPCS passe.
- Le
readme.txtest validé et le zip s’installe sur une instance vierge sans erreur. - Les tests (PHPUnit + Playwright) passent en CI.
- Sans licence : la version gratuite fonctionne à 100 %. Avec licence de test : les fonctions Pro s’activent.
- Retirer la licence désactive proprement le Pro (aucune fatale).
- Le
GO-TO-MARKET.mdexplique clairement qui paie et pourquoi.
🗺️ Endroits à visiter
| Endroit | Où | Pourquoi y aller |
|---|---|---|
| Plugin Check | plugin officiel | Le juge automatique des standards wp.org — installez-le |
readme.txt validator | wordpress.org/plugins/developers/readme-validator | Vérifier le format avant soumission |
| Directory Guidelines | developer.wordpress.org/plugins/wordpress-org/ | Les règles de publication (dont GPL) |
| WPCS / PHPCS | terminal | phpcs --standard=WordPress : le linter de référence |
wp i18n make-pot | WP-CLI | Générer le .pot, base de la traduction |
| Freemius Developer Dashboard | freemius.com | SDK freemium + licences + upgrade in-app (sandbox) |
| EDD + Software Licensing | easydigitaldownloads.com | L’alternative « votre propre boutique » |
| WooCommerce hooks / Store API (piste B) | woocommerce.com/document/ | Points d’extension e-commerce |
💡 Pour un dev React — Ce niveau est le passage projet → produit. Freemius est votre Stripe + licensing + freemium clé en main : plans, essais, webhooks, MRR — des notions que vous connaissez déjà côté SaaS. La CI, les tests, le lint : votre hygiène habituelle, transposée à PHP/WordPress. La vraie compétence rare que vous démontrez ici : livrer un plugin aux standards wp.org ET une UI moderne (le bloc React, le front Next.js) — la combinaison qui justifie un prix premium.
⚠️ Piège — le découpage free/Pro. Trop généreux → personne ne paie ; trop pauvre → personne n’adopte (mauvaises notes, pas de bouche-à-oreille). Le curseur juste : le gratuit résout le cas individuel/simple (catalogue + bloc), le Pro résout le cas organisation (import en masse, UI riche, support). On paie en passant de « je bricole » à « je m’appuie dessus » — relisez Partie 13.4.
🚀 Étapes suggérées
- Audit sécurité + passage WPCS/PHPCS ; corriger.
- i18n :
make-pot, vérifier toutes les chaînes. - Écrire quelques tests PHPUnit + un parcours Playwright ; brancher la CI.
- Rédiger
readme.txt; passer Plugin Check jusqu’au vert. - Définir le découpage free/Pro (tableau) ; isoler le code Pro.
- Brancher Freemius (sandbox) : plans, gating, upgrade in-app, dégradation propre.
- Monter la page produit (réutiliser le front Niveau 4) +
GO-TO-MARKET.md. - Test final : install vierge, gratuit OK, licence test → Pro OK, retrait licence → propre.
🎁 Bonus
- Ajoutez un canal de mise à jour Pro hors wp.org (Freemius/EDD gèrent l’auth des updates).
- Écrivez une étude de cas à partir du front Niveau 4 (« catalogue headless avec Next.js »).
- Faites l’autre piste (A ou B) pour couvrir freemium et WooCommerce.
🔗 Chapitres du cours liés
- Partie 10 — WooCommerce (piste B)
- Partie 11 — Niveau expert (sécu, tests, CI, publier)
- Partie 13 — Monétiser (freelance & plugins)
🎓 Fin du parcours WordPress. Vous êtes passé de « je clique dans l’admin » à « je distribue un produit freemium avec un front Next.js ». Les six projets, mis bout à bout, forment un portfolio complet — exactement les preuves qui décrochent missions et clients (Partie 13). Retour à la vue d’ensemble.