Modélisation des données : produits, catégories et commandes
Créez les modèles de données pour les produits, catégories, commandes et lignes de commande dans Strapi.
Contexte et objectifs
Dans un projet e-commerce moderne, la structure des données est cruciale pour garantir la fiabilité, la maintenabilité et la performance de votre application. Ce module vous guide pas à pas dans la modélisation des entités clés de votre back-office Strapi 5 : produits, catégories, commandes et lignes de commande. Vous allez découvrir comment tirer parti du système de Content Types de Strapi pour définir des schémas clairs et évolutifs, tout en préparant votre API à s’intégrer parfaitement avec votre frontend Remix.
Pourquoi bien modéliser vos données ?
- Cohérence des informations
Une bonne modélisation évite les redondances et les incohérences (prix obsolète, stock mal géré, etc.). - Évolutivité
Vos besoins métier changeront : nouvelles remises, options produit, statuts de commande… Un schéma flexible vous fera gagner un temps précieux. - Performance et requêtes optimisées
Les relations bien définies (one-to-many, many-to-many…) facilitent les requêtes GraphQL/REST et réduisent la charge sur la base de données. - Sécurité et permissions
En isolant clairement chaque collection, vous pouvez affiner les rôles et permissions via Users & Permissions de Strapi.
Plan du module
1. Définir la collection “Produit”
- Attributs essentiels : nom, description, prix, image, slug
- Gestion du stock et intégration Stripe (
devStripeProductId,stripeProductId) - Relation many-to-many vers “Catégorie de produit”
2. Créer la collection “Catégorie de produit”
- Champ
namepour l’intitulé - Relation bidirectionnelle avec la collection “Produit”
3. Mettre en place les commandes
- Collection “Commande” avec le total, l’utilisateur (via plugin::users-permissions.user) et le statut (
en attente de paiementvspayé) - Relation one-to-many vers “Ligne de commande”
4. Structurer les lignes de commande
- Liaison one-to-one vers “Produit”
- Quantité et prix unitaire
- Publication en mode draft & publish
Outils et références
- Strapi 5 – Modélisation et relations
- Remix – Data loading API
- React Router – Gestion des routes côté client
- Stripe – Synchronisation des produits et prix via l’API
- Git & GitHub – Versionnez vos schémas et migrations
Tip
Avant de commencer, assurez-vous d’avoir configuré votre projet Strapi 5 localement et créé la connexion à votre base de données (SQLite, PostgreSQL, MySQL…).
Dans les sections suivantes, nous détaillerons chaque Content Type avec des extraits JSON,
vous verrez comment personnaliser les options draftAndPublish, définir des énumérations pour le statut de commande
et paramétrer correctement les relations afin de générer une API REST et GraphQL cohérente et prête à l’emploi.