Skip to content

Introduction

Slab est un framework e-commerce bâti sur Laravel (12 / PHP 8.4). Il fournit un cœur métier complet — catalogue, panier, commande, taxe, pricing, back-office — pensé dès le départ pour être étendu sans être modifié.

La philosophie : open-core

Slab suit un modèle open-core. Le cœur, slab/framework, est un vendor que l'on installe et que l'on n'édite jamais. On ne le fork pas : on l'étend par les points d'extension qu'il publie. Cette discipline garantit que les mises à jour du cœur n'entrent jamais en conflit avec votre code.

Toute la valeur ajoutée — la vôtre comme celle des features officielles — vit à côté du cœur :

  • dans des packages Composer (une promotion, un transporteur, un mode de paiement…) ;
  • dans la couche applicative de votre projet, pour le sur-mesure d'un client ;
  • dans un thème front, pour la présentation.

La promesse : tout s'étend, avec peu de mécaniques

Slab ne vous demande pas d'apprendre des dizaines de cas particuliers. Il repose sur une poignée de mécaniques génériques que vous retrouvez partout :

  • des pipelines qui transforment une valeur (le prix, les totaux) ;
  • des registres où l'on contribue un élément (menu, route, étape, option) ;
  • des résolveurs qui décident d'un contexte (panier, devise, zone) ;
  • des hooks pour greffer du contenu dans les vues ;
  • des événements pour réagir au domaine ;
  • le conteneur pour remplacer ou décorer n'importe quelle implémentation.

Comprises une fois, ces mécaniques s'appliquent à tout Slab. C'est l'objet de la section Étendre Slab.

Un seul sens de dépendance

Le cœur n'expose que des contrats. Les features les implémentent, le frontend les consomme ; personne ne dépend de personne d'autre que du cœur. Concrètement : ajouter un transporteur packagé le fait apparaître dans le checkout, sans toucher une ligne du front ni du cœur.

Pour qui ?

  • Intégrateurs qui montent une boutique vite, puis l'étendent au fil des besoins.
  • Développeurs de packages qui ajoutent une capacité réutilisable (paiement, transport, fidélité…).
  • Créateurs de thèmes qui refondent la présentation sans toucher au métier.

La suite

  • Démarrage — créer un projet et le configurer.
  • Architecture — la pile de packages et le sens des dépendances.
  • Étendre Slab — les mécaniques, le cœur de votre travail de développeur.