← Tous les articles
Sam. 9 mai 2026 · 4 min de lecture

🌙 Lunar : un e-commerce Laravel qui ne ressemble pas à un fork de Magento

Lunar

📚 Introduction

CĂŽtĂ© Symfony, on a Sylius qui rĂ©pond Ă  la question “comment je fais du e-commerce sur-mesure sans repartir d’un Magento”. CĂŽtĂ© Laravel, la rĂ©ponse a longtemps Ă©tĂ© : “tu prends Spark ou Cashier et tu codes le catalogue Ă  la main”. Pas idĂ©al.

Lunar change ça. C’est un package e-commerce headless pour Laravel, sous licence MIT, qui pose les bonnes fondations sans imposer un univers parallĂšle. Pas de templates Twig Ă  la Sylius, pas de DSL custom Ă  la Magento. Du Eloquent, des migrations, un admin Filament. Si tu Ă©cris du Laravel tous les jours, Lunar te parle.

Dans ce post, j’explique pourquoi Lunar mĂ©rite d’entrer dans la short-list 2026 pour un projet e-commerce Laravel, et oĂč il atteint ses limites.

đŸ§± La promesse : Laravel partout

L’angle de Lunar est radicalement diffĂ©rent de celui de Sylius ou Magento. Pas de bundle, pas d’extension point sur-conçu. Juste des modĂšles Eloquent que tu utilises comme n’importe quel modĂšle Laravel :

use Lunar\Models\Product;
use Lunar\Models\ProductVariant;
 
$product = Product::create([
	'attribute_data' => collect([
		'name' => new \Lunar\FieldTypes\TranslatedText(['fr' => 'T-shirt']),
		'description' => new \Lunar\FieldTypes\TranslatedText(['fr' => 'Coton bio']),
	]),
	'status' => 'published',
	'brand_id' => $brand->id,
]);
 
ProductVariant::create([
	'product_id' => $product->id,
	'sku' => 'TS-001-M',
	'stock' => 100,
]);

Tu peux Ă©tendre ces modĂšles, Ă©couter leurs events, crĂ©er des observers — comme n’importe quel modĂšle Eloquent. C’est ce qui rend la courbe d’apprentissage tellement plus douce qu’avec un Magento.

🚀 Installation

L’install standard est un Composer + une commande artisan :

composer require lunarphp/lunar
php artisan lunar:install
php artisan migrate

Lunar installe son admin Filament, ses migrations, et ses seeders. Si tu connais dĂ©jĂ  Filament, tu te retrouves en terrain familier : Resources, Pages, Widgets, tout y est. L’admin est immĂ©diatement utilisable, sans tuning.

La derniĂšre version stable au moment oĂč j’écris ces lignes est Lunar 1.3 (janvier 2026), compatible Laravel 11 et 12, PHP 8.2+.

🧰 Ce qui est dans la boüte

Lunar livre la couche métier complÚte :

  • Catalogue : produits, variantes, collections, attributs typĂ©s (text, number, file, translated text).
  • Pricing : multi-currency natif, tax zones, tiered pricing pour le B2B.
  • Carts & Orders : pipeline-based, donc chaque Ă©tape (taxe, shipping, discount, total) est un step que tu peux remplacer.
  • Customers : groupes, profils, B2B-ready.
  • Stock & Shipping : inventaire multi-warehouse, mĂ©thodes de livraison configurables.
  • Discounts : moteur de promotions Ă  conditions composables.
  • Scout integration : la recherche produit utilise Laravel Scout dĂšs le dĂ©part.

Ce qui me plaĂźt : tout est lazy. Tu peux dĂ©sactiver multi-currency si tu n’en as pas besoin, idem pour le multi-warehouse. Tu n’hĂ©rites pas d’une complexitĂ© que tu ne consommes pas.

🔌 Headless et frontend

Lunar ne livre pas de storefront prĂȘt Ă  l’emploi (contrairement Ă  Sylius qui propose un shop Twig). C’est volontaire : la vision officielle est que tu construis ton storefront avec le framework que tu veux. Inertia + React, Inertia + Vue, Livewire, Astro consommant l’API REST, Next.js — tu choisis.

Pour exposer Lunar en API, le pattern recommandĂ© est de monter une API REST custom au-dessus des modĂšles Eloquent. La couche Eloquent Ă©tant standard Laravel, tu branches API Resources, Sanctum et un router classique, ou tu passes par un kit comme lunarphp/livewire-starter-kit cĂŽtĂ© storefront full-stack. C’est moins out-of-the-box que Sylius + API Platform, mais ça force une frontiĂšre nette entre Core mĂ©tier et API publique.

🎯 Quand choisir Lunar

  • Tu as une Ă©quipe Laravel et tu veux capitaliser sur cette compĂ©tence.
  • Tu veux un admin moderne dĂšs l’install sans devoir customiser un back-office obscur.
  • Tu fais du B2B (groupes clients, prix par paliers, multi-warehouse) sans vouloir un Magento.
  • Tu construis un headless storefront consommant l’API depuis un framework SPA / SSR moderne.
  • Tu utilises dĂ©jĂ  Filament pour d’autres admin internes — tout sera homogĂšne.

🆚 Lunar vs Sylius

Les deux jouent dans la mĂȘme catĂ©gorie. Le choix dĂ©pend de ta stack.

CritĂšreLunar (Laravel)Sylius (Symfony)
Framework hĂŽteLaravel 11+Symfony 7+
Couche d’adminFilament (Livewire)Twig + Bootstrap
API headlessÀ assembler (Laravel custom)API Platform natif
Maturité B2BBonne, en progressionTrÚs bonne (workflows mûrs)
Tests / BDDPestBehat (gros set)
LicenceMITMIT
Écosystùme pluginsNaissantTrùs large

Lunar est plus jeune mais plus agréable à hacker pour un dev Laravel. Sylius est plus mature et structuré pour le B2B complexe.

⚠ Quelques prĂ©cautions

  • Storefront Ă  construire : ce n’est pas un Shopify. Compte un sprint de mise en place du frontend.
  • Couche API : Lunar ne livre pas d’API REST officielle prĂȘte Ă  l’emploi. Tu l’assembles avec API Resources et Sanctum, ou tu adoptes un starter kit communautaire. VĂ©rifie la maturitĂ© du choix avant de t’engager.
  • Migration de version : 1.x est en Ă©volution active, lis le changelog avant les majeures. Les migrations Eloquent peuvent toucher des tables avec beaucoup de donnĂ©es.
  • Multi-currency : trĂšs bien fait mais pense au taux de change dynamique. Lunar gĂšre la structure, pas la mise Ă  jour du taux. Tu branches une source.

🎉 Conclusion

Lunar est la meilleure proposition Laravel pour du e-commerce sĂ©rieux en 2026. La trajectoire est claire, la communautĂ© grandit, et l’approche “du Eloquent pur” rend le code agrĂ©able Ă  maintenir. Si tu construis un nouveau projet e-commerce avec une Ă©quipe Laravel, c’est l’option Ă  Ă©tudier en prioritĂ©.

Reste un grand absent par rapport Ă  Sylius : la profondeur des plugins mĂ©tier prĂȘts Ă  l’emploi. Si tu as besoin de fonctionnalitĂ©s trĂšs spĂ©cifiques out-of-the-box (multi-vendor marketplace mature, pricing rules trĂšs avancĂ©es), Sylius garde une longueur d’avance. Sur les fondations, Lunar joue dĂ©jĂ  dans la mĂȘme cour.

🔗 Liens utiles