Apparence
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.