# Spécifications : Boutique ## Définition Bâtiment commercial générant des revenus passifs grâce aux visiteurs. ## Fonctionnalités - **Vente** : Vend des produits (souvenirs, nourriture, boissons) aux visiteurs. - **Attraction** : Attire les visiteurs sur sa case. - **Rétention** : Augmente la durée de visite (satisfaction besoins). ## Niveaux d'Amélioration (7 niveaux) - **Coût** : Progressif par palier. - **Effet** : Augmente le revenu par visiteur et la capacité d'accueil simultanée. - **Ratio** : 1 unité couvre 5 visiteurs simultanés max. # Annexes Techniques ## 1. Données et États ### Modèle de Données (JSON) ```json { "id": "uuid", "type": "shop", "level": "integer (1-7)", "position": { "x": "int", "y": "int" }, "stats": { "revenue_total": "integer", "visitors_served": "integer" }, "iso_x": "integer", "iso_y": "integer", "z_index": "integer" } ``` ### Caractéristiques Initiales | Caractéristique | Valeur Initiale (Niv 1) | | :--- | :--- | | Revenu / Visiteur | 15 pièces | | Capacité | 5 visiteurs | | Attractivité | 10 | ### Scores Initiaux **Stock** : 100 unités. **Popularité** : 10/100. ## 2. Cycles de Vie et Apparition ### Conditions d'Apparition Construction par le joueur sur case vide. ### Conditions de Disparition Destruction par le joueur (Remboursement 50%). ### Hérédité **Franchise** : Coût construction -10% si 5 boutiques identiques déjà posées (Économie d'échelle). ## 3. Impacts Environnementaux ### Impact Température **Canicule** : Vente Eau x3. Vente Chocolat -50%. **Froid** : Vente Chocolat x3. Vente Glaces -80%. ### Impact Milieu (Biome) **Thème** : +10% ventes si le skin boutique correspond au biome (ex: Cabane en bois en Forêt). ### Impact Saisons | Saison | Modificateur Ventes | | :--- | :--- | | Été | +20% (Boissons/Glaces) | | Hiver | +10% (Chocolat chaud/Cadeaux) | | Automne | +5% (Parapluies) | | Printemps | Standard | ### Impact Heure / Jour-Nuit | Heure | Fréquentation | | :--- | :--- | | 12h-14h | Pic (Repas - Food) | | 16h-18h | Pic (Souvenirs avant départ - Gifts) | | Nuit | Fermé (0 Ventes) | ## 4. Impacts Biologiques et Sociaux ### Impact Reproduction **Merchandising** : Vente peluche "Espèce du moment" x2 lors d'une naissance rare. ### Impact Mort **Deuil** : Ventes -20% dans les boutiques proches d'une mort récente (Ambiance triste). ### Impact Nourriture **Concurrence** : Si Stand Nourriture proche (< 3 cases), ventes Food partagées (-10% chacun). ### Impact Attractivité (Visiteurs/Animaux) | Niveau | Rayon Attraction | | :--- | :--- | | 1 | 2 cases | | 7 | 10 cases (Centre commercial) | ### Impact Valeur **Revente** : 50% de l'investissement initial + upgrades. ## 5. Impacts Logistiques et Économiques ### Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite) **Vitesse Service** : 1 visiteur / 5 secondes (Niv 1) -> 1 visiteur / 1 seconde (Niv 7 - Caisses auto). ### Dépenses (Boutiques/Visiteurs) Génère du revenu. Coût réapprovisionnement : 10% du CA (automatique). ### Trajet Visiteurs Point d'intérêt majeur pour le pathfinding (Poids 50). Arrêt obligatoire si besoin > 80. ## 6. Événements ### Événements du Jeu / Carte / Zoo / Ville / Visiteur * **Vente** : Gain de pièces. * **File d'attente** : Si Capacité atteinte, visiteurs frustrés. * **Rupture Stock** : Si stock géré, fermeture temporaire. ## 7. Progression ### Tableau des Upgrades | Niveau | Coût (Pièces) | Revenu/Visiteur | Capacité | Temps Construction | | :--- | :--- | :--- | :--- | :--- | | 1 | 100 | 15 | 5 | 0s | | 2 | 150 | 20 | 8 | 0s | | 3 | 225 | 25 | 12 | 0s | | 4 | 340 | 35 | 18 | 0s | | 5 | 510 | 50 | 25 | 0s | | 6 | 765 | 70 | 35 | 0s | | 7 | 1150 | 100 | 50 | 0s | ## 8. Logique et Interfaces ### Pseudo-code Impacts ``` function processShop(shop, visitors): queue = visitors.filter(v => v.target == shop) served = min(queue.length, shop.capacity) for i in 0..served: revenue = shop.baseRevenue * seasonMod player.addCoins(revenue) visitors[i].satisfaction += 5 visitors[i].needs.thirst = 0 ``` ### Messages d'Infos / Alerte | ID | Niveau | Message | | :--- | :--- | :--- | | `SHOP_FULL` | Warning | "Boutique pleine ! Des clients partent." | | `SHOP_PROMO` | Info | "Soldes lancées ! Affluence +20%." | ## Personnage contextuel (événements & interaction) Voir `vendeur.md`. ### Affichage Le vendeur s’affiche lorsque : - la boutique est **actionnée** (clic panneau stats, upgrade, skin de boutique) ; - un **événement** de boutique survient (vente, surcharge, promo). ### Déclencheurs (exemples) | Event | Condition | Effet UI personnage | |---|---|---| | `OPEN_SHOP` | clic boutique | portrait + stats + CTA | | `SALE_MADE` | vente | feedback “caisse” + pièce/FX | | `SHOP_FULL` | capacité atteinte | bulle “Surcharge” + CTA “Améliorer / Ajouter boutique” | | `SHOP_PROMO` | promo active | bulle “Promo” + détails (si module) | ### Skins & thèmes Uniforme et comptoir suivent `theme.md`, avec skins de boutique via `inventaire_skins.md`. # Annexes UX/UI ## 0. Direction Artistique & Vue * **Vue** : Isométrique (2.5D). * **Style** : Coloré, vivant, détails foisonnants (Réf: IMG_20260303_170253.jpg). * **Sprites** : 4 directions. * **Interactions** : * **Sélection** : Cliquer sur la base de l'élément (ou son sprite principal) pour le sélectionner. * **Feedback** : Surbrillance (outline blanc/jaune) au survol de la souris. ## 1. Expérience Utilisateur (UX) ### Vente (Passif) **Description UX** : Les visiteurs entrent dans la boutique, y restent quelques secondes, puis ressortent. Des pièces volent vers le compteur. **Description UI** : Animation de porte qui s'ouvre/ferme. Popups "+15" au-dessus du toit. **Emplacement** : Case Boutique. **Intégration** : Automatique. **Navigation** : Auto (Comportement). **Événements** : `SALE_MADE`. #### Assets - **Musiques** : Musique d'ambiance "Supermarché" (Muzak). - **Sons** : `coin_jingle.mp3` (volume bas, pas trop répétitif). - **Graphiques** : Sprite Boutique (différents skins selon type : Burger, Cadeaux). - **Images** : Icônes Produits (Burger, Peluche, Ballon). - **Vidéos** : Pub télévisée miniature sur l'écran de la boutique (détail). - **Animations** : Pièce dorée qui monte et disparaît. - **Couleurs** : Or #FFD700. - **Textes** : "+XX". - **Formes** : Bulle de dialogue rectangulaire. ### Consultation Stats (Consultation) **Description UX** : Le joueur clique pour voir combien la boutique a rapporté. **Description UI** : **Bottom Sheet** simple avec "Revenus totaux" et "Clients servis". **Emplacement** : Case Boutique. **Intégration** : Standard. **Navigation** : Clic -> Modal. **Événements** : `OPEN_SHOP`. #### Assets - **Musiques** : Jingle "Caisse" (court). - **Sons** : `ui_open.mp3` - **Graphiques** : Graphique en barres simple. - **Images** : Icône Caisse. - **Vidéos** : Graphique animé des ventes (barres qui montent). - **Animations** : Barres qui montent progressivement. - **Couleurs** : Vert (Profit). - **Textes** : Chiffres clés. - **Formes** : Rectangle arrondi. ### Construction (Action) **Description UX** : Le joueur choisit "Boutique" dans le menu construction et la place sur la grille. **Description UI** : Fantôme du bâtiment vert/rouge selon validité. **Alternative** : Tap to Select -> Tap to Place. **Emplacement** : Menu Construction -> Grille. **Intégration** : Mode construction global. **Navigation** : Clic Menu -> Drag/Click Grille. **Événements** : `BUILD_SHOP`. #### Assets - **Musiques** : Bruit de chantier (marteau, scie). - **Sons** : `construction_hammer.mp3`. - **Graphiques** : Sprite Fantôme semi-transparent. - **Images** : Plan bleu (Blueprint) au sol. - **Vidéos** : Time-lapse construction (accéléré). - **Animations** : Petit effet de poussière à la pose. - **Couleurs** : Bleu (Blueprint). - **Textes** : "Construction". - **Formes** : Grille de placement. ## Définition | Champ | Valeur | |---|---| | Concept | Bâtiment “boutique” : point de vente in-zoo (souvenirs/food/boissons) qui convertit les besoins des visiteurs en revenus. | | Rôle | Augmenter la rétention et la satisfaction via la résolution des besoins (faim/soif/cadeau), et créer des micro-flux (file, service, rupture). | | Portée | Une instance de bâtiment sur carte zoo, avec paramètres (capacité, vitesse service, catalogue, skin). | | Contrainte | Pas d’analytics ; revenus calculés à la volée à partir des interactions visiteurs ; pas de fallback silencieux (rupture/plein => message + event). | ## Fonctions (tableau détaillé) | Fonction | Déclencheur | Entrées | Sorties | Règles | Observabilité | |---|---|---|---|---|---| | Construire boutique | mode build | coord, type boutique | bâtiment créé | case vide requise | Event `BUILD_SHOP` | | Ouvrir stats | clic bâtiment | `shop_id` | UI stats | revenus totaux + clients | Event `OPEN_SHOP` | | Attirer visiteurs | besoin/curiosité | visitor, rayon | target set | poids pathfinding élevé si besoin > seuil | Event `VISITOR_TARGETS_SHOP` | | Servir visiteur | arrivée en file | visitor, stock | revenue + satisfaction | service limité par capacité + vitesse | Event `SALE_MADE` | | Gérer file | dépassement capacité | queue length | impatience | si queue > seuil -> départ + malus | Event `SHOP_FULL` | | Adapter produits au climat | temp/saison | météo, saison | mod ventes | canicule: eau + ; froid: chocolat + | Event `SHOP_DEMAND_MOD_CHANGED` | | Appliquer skin biome | skin, biome | ids | bonus | +10% ventes si match | Event `SHOP_THEME_MATCH_BONUS` | | Réapprovisionner | tick économique | CA, ratio | stock + coût | coût = 10% du CA | Event `SHOP_RESTOCKED` | | Rupture | stock=0 | - | fermeture temporaire | déclenche panneau “Rupture” | Event `SHOP_OUT_OF_STOCK` | ## Icone de base | Élément | Spécification | |---|---| | Représentation | Boutique avec enseigne (cadeau/food) | | Couleur dominante | Or (revenu) + couleur du type (rouge food, bleu boisson) | | Variantes | `shop_gift_dir_{N,E,S,W}.png`, `shop_food_dir_{N,E,S,W}.png`, `shop_drink_dir_{N,E,S,W}.png` | | États | `open`, `busy`, `full`, `out_of_stock`, `promo` | ## Interactions (tableau détaillé) | Interaction | Type | Préconditions | Étapes UI | Résultat | Erreurs / Messages | |---|---|---|---|---|---| | Placer boutique | Action | case libre | sélectionner → placer | construction | `CELL_OCCUPIED` | | Voir revenus | Consultation | boutique posée | clic | panneau stats | - | | Upgrader | Action | coins ok | panneau → améliorer | level ↑ | `NOT_ENOUGH_COINS` | | Voir file | Consultation | visiteurs proches | survol | tooltip file | - | | Activer promo | Action (event) | condition event | clic toggle | affluence + | `PROMO_NOT_AVAILABLE` | ## Annexes Techniques ### 1. Données et États (tableau détaillé) | Donnée / État | Type | Exemple | Source | Contraintes | |---|---|---|---|---| | `id` | uuid_v4 | `uuid_v4` | DB | - | | `type` | string | `shop` | DB | constant | | `subtype` | string | `gift` | DB/config | `gift/food/drink` | | `level` | int | 2 | DB | 1..7 | | `position.x` | int | 10 | DB | grid | | `position.y` | int | 12 | DB | grid | | `stats.revenue_total` | int | 12500 | DB | cumul | | `stats.visitors_served` | int | 840 | DB | cumul | | `stock.units` | int | 100 | DB | >=0 | | `popularity` | int | 10 | calcul/DB | 0..100 | | `capacity` | int | 5 | config | visitors simultanés | | `service_seconds_per_visitor` | float | 5.0 | config | 1..10 | | `attractiveness` | int | 10 | config | poids target | | `skin_id` | string | `shop_wood_forest` | DB | cosmétique | | `iso_x` | int | 120 | DB/calcul | rendu | | `iso_y` | int | 88 | DB/calcul | rendu | | `z_index` | int | 12088 | calcul | profondeur | #### Caractéristiques Initiales (tableau détaillé) | Caractéristique | Valeur initiale | Unité | Notes | |---|---:|---|---| | Revenu / visiteur | 15 | coins | level 1 | | Capacité | 5 | visiteurs | level 1 | | Vitesse service | 5 | s/visiteur | level 1 | | Rayon attraction | 2 | cases | level 1 | #### Scores Initiaux (tableau détaillé) | Score | Valeur initiale | Plage | Impact | |---|---:|---|---| | Stock | 100 | 0..∞ | rupture possible | | Popularité | 10 | 0..100 | mod conversion | ### 2. Cycles de Vie et Apparition (tableau détaillé) | Phase | Déclencheur | Entrées | Sorties | Invariants | |---|---|---|---|---| | Construction | joueur | coins + coord | bâtiment | case occupée | | Service | visiteurs | besoins | revenus | capacité respectée | | Réappro | tick | CA | stock + | coût 10% CA | | Rupture | stock=0 | - | fermeture | observable | | Upgrade | action | coins | level ↑ | monotone | #### Conditions d'Apparition (tableau détaillé) | Condition | Seuil | Opérateur | Résultat | |---|---:|---|---| | Construction | true | est | boutique posée | #### Conditions de Disparition (tableau détaillé) | Condition | Seuil | Opérateur | Résultat | |---|---:|---|---| | Destruction | true | est | remboursement 50% | #### Hérédité (tableau détaillé) | Élément | Hérité | Règle | |---|---|---| | Franchise | Oui | coût -10% si 5 identiques | | Stats | Oui | cumul | ### 3. Impacts Environnementaux #### Impact Température (tableau détaillé) | Condition | Effet boutique | Notes | |---|---|---| | > 30°C | eau +200% | canicule | | < 5°C | chocolat +200% | froid | #### Impact Milieu (Biome) (tableau détaillé) | Biome | Effet | Notes | |---|---|---| | forêt + skin bois | ventes +10% | thème match | | désert + skin oasis | ventes +10% | thème match | #### Impact Saisons (tableau détaillé) | Saison | Effet | Notes | |---|---|---| | Été | ventes boisson +20% | règle | | Hiver | ventes cadeaux +10% | règle | #### Impact Heure / Jour-Nuit (tableau détaillé) | Période | Effet | Notes | |---|---|---| | 12h-14h | demande food ++ | pic | | Nuit | fermé | 0 ventes | ### 4. Impacts Biologiques et Sociaux #### Impact Reproduction (tableau détaillé) | Facteur | Effet sur taux | Condition | |---|---|---| | Naissance rare | ventes peluche x2 | “espèce du moment” | #### Impact Mort (tableau détaillé) | Cas | Effet | Condition | |---|---|---| | Mort récente proche | ventes -20% | ambiance | #### Impact Nourriture (tableau détaillé) | Ressource | Effet | Condition | |---|---|---| | Concurrence < 3 cases | ventes food -10% | partage | #### Impact Attractivité(Visiteurs (tableau détaillé) | Action/État | Gain | Rayon | Notes | |---|---:|---:|---| | Boutique level 7 | + | 10 cases | centre commercial | | Rupture stock | - | 6 cases | frustration | #### Impact Attractivité Animaux) (tableau détaillé) | Action/État | Effet animaux | Condition | |---|---|---| | Odeurs food | stress + | espèces sensibles | #### Impact Valeur (tableau détaillé) | Facteur | Variation | Condition | |---|---:|---| | Revente | 50% + upgrades | destruction | ### 5. Impacts Logistiques et Économiques #### Vitesse (Camion) (tableau détaillé) | Paramètre | Effet | Condition | |---|---|---| | Livraison stock | stock + | si feature livraison | #### Vitesse (Nurserie) (tableau détaillé) | Paramètre | Effet | Condition | |---|---|---| | Peluches bébé | ventes + | bébés visibles | #### Vitesse (Accueil) (tableau détaillé) | Paramètre | Effet | Condition | |---|---|---| | Nouvel animal rare | promo | event | #### Vitesse (Recherche) (tableau détaillé) | Paramètre | Effet | Condition | |---|---|---| | Tech caisse auto | service 1s | level 7 | #### Vitesse (Labo) (tableau détaillé) | Paramètre | Effet | Condition | |---|---|---| | Produit “science” | panier moyen + | zone labo | #### Vitesse (Visite) (tableau détaillé) | Paramètre | Effet | Condition | |---|---|---| | File d’attente | temps boutique + | capacité limitée | #### Dépenses (Billeterie) (tableau détaillé) | Poste | Coût | Unité | Condition | |---|---:|---|---| | - | 1 | coins | signalétique (conservée) | #### Dépenses (Boutiques) (tableau détaillé) | Poste | Coût | Unité | Condition | |---|---:|---|---| | Réappro | 10% CA | coins | automatique | #### Dépenses (Visiteurs) (tableau détaillé) | Poste | Coût | Unité | Condition | |---|---:|---|---| | Temps perdu file | satisfaction - | points | queue | #### Dépenses (Employés) (tableau détaillé) | Poste | Coût | Unité | Condition | |---|---:|---|---| | Caissier (lore) | 1800 | $/mois | level < 7 | #### Dépenses (Boutiques) (tableau détaillé) | Poste | Coût | Unité | Condition | |---|---:|---|---| | Section dupliquée | 1 | coins | conservée | #### Dépenses (Nurseries) (tableau détaillé) | Poste | Coût | Unité | Condition | |---|---:|---|---| | Peluche naissance | 2 | coins | production | #### Dépenses (Nourriture) (tableau détaillé) | Poste | Coût | Unité | Condition | |---|---:|---|---| | Matières food | 2 | coins/vente | marge | #### Dépenses (Acceuil des animaux) (tableau détaillé) | Poste | Coût | Unité | Condition | |---|---:|---|---| | Cadeau “nouvel arrivant” | 1 | coins | souvenir | #### Dépenses (Camion) (tableau détaillé) | Poste | Coût | Unité | Condition | |---|---:|---|---| | Livraison premium | 5 | coins | option | #### Trajet Visiteurs ##### Trajet Visiteurs vers/depuis la ville (tableau détaillé) | Source | Destination | Déclencheur | Effet | |---|---|---|---| | Ville | Zoo | entrée | besoins init 0 | ##### Trajet Visiteurs vers/depuis les animaux (tableau détaillé) | Source | Destination | Déclencheur | Effet | |---|---|---|---| | Enclos | Boutique | faim/soif > 80 | target | ##### Trajet Visiteurs vers/depuis les boutiques (tableau détaillé) | Source | Destination | Déclencheur | Effet | |---|---|---|---| | Boutique | Enclos | besoins résolus | continue visite | ##### Trajet Visiteurs vers/depuis la billeterie (entrées/sorties du zoo) (tableau détaillé) | Source | Destination | Déclencheur | Effet | |---|---|---|---| | Boutique | Sortie | budget 0 | départ | ### 6. Événements #### Événements du Jeu (tableau détaillé) | Event | Déclencheur | Payload | Effet | |---|---|---|---| | `SALE_MADE` | service | revenue | coins + | | `SHOP_FULL` | queue | length | départs | | `SHOP_OUT_OF_STOCK` | stock | units | fermeture | | `SHOP_RESTOCKED` | tick | cost | stock + | #### Événements du Carte (tableau détaillé) | Event | Déclencheur | Effet | |---|---|---| | `FOCUS_SHOP` | clic | caméra | #### Événements du Zoo (tableau détaillé) | Event | Déclencheur | Effet | |---|---|---| | `VISITOR_BUYS_ITEM` | transaction | satisfaction + | #### Événements du Ville / Visiteur (tableau détaillé) | Event | Déclencheur | Effet | |---|---|---| | `WEATHER_HEATWAVE` | météo | eau ++ | #### Événements du Visiteur (tableau détaillé) | Event | Déclencheur | Effet | |---|---|---| | `VISITOR_LEAVES_SHOP_QUEUE` | impatience | satisfaction - | #### Événements du Joueur (tableau détaillé) | Event | Déclencheur | Effet | |---|---|---| | `PLAYER_UPGRADES_SHOP` | UI | params + | ### 7. Progression #### Tableau des Upgrades (tableau détaillé) | Niveau | Coût | Effet | Débloque | |---|---:|---|---| | 4 | 340 | capacité 18 + service plus rapide | file réduite | | 7 | 1150 | 50 capacité + caisses auto | 1s/visiteur | ### 8. Logique et Interfaces #### Pseudo-code Impacts (tableau détaillé) | Fonction | Entrées | Sorties | Notes | |---|---|---|---| | `computeSeasonDemandMod` | season, temp | float | eau/glaces/chocolat | | `serveVisitor` | shop, visitor | revenue | résout besoins | | `restockIfNeeded` | shop, CA | shop | coût 10% CA | #### Messages d'Infos / Alerte (tableau détaillé) | ID | Niveau | Message | Condition | |---|---|---|---| | `SHOP_FULL` | Warning | "Boutique pleine." | queue > cap | | `SHOP_OUT_OF_STOCK` | Warning | "Rupture de stock." | stock=0 | | `SALE_MADE` | Info | "Vente effectuée." | service | ## Annexes UX/UI ### 1. Expérience Utilisateur (UX) #### Description UX (tableau détaillé) | Parcours | But | Friction | Réduction clics | |---|---|---|---| | Construire | générer revenus | placement | mode construction direct | | Lire stats | décider upgrade | menus | clic bâtiment | #### Description UI (tableau détaillé) | Composant | Contenu | États | |---|---|---| | Popup coins | +XX | burst | feedback | | Panneau stats | total + served | open/closed | | Badge rupture | icône | visible | #### Emplacement (tableau détaillé) | Zone UI | Position | Notes | |---|---|---| | Carte zoo | sur case | sélection base sprite | | HUD | compteur | pièces volantes | #### Intégration (tableau détaillé) | Intégration | Contrat | Notes | |---|---|---| | `visiteur.md` | besoins | faim/soif | | `chemin.md` | pathfinding | poids boutique | #### Navigation (tableau détaillé) | Action | Chemin | Résultat | |---|---|---| | Ouvrir stats | clic | panneau | | Upgrader | panneau → CTA | level ↑ | #### Événements (tableau détaillé) | Event UI | Déclencheur | Effet | |---|---|---| | `OPEN_SHOP` | clic | panneau | | `BUILD_SHOP` | build | placement | #### Assets Skinables ##### Musiques (tableau détaillé) | Asset | Usage | Durée | Notes | |---|---|---:|---| | `shop_muzak_loop.mp3` | proximité boutique | loop | discret | ##### Sons (tableau détaillé) | Asset | Usage | Volume | |---|---|---| | `cash_register.mp3` | vente | bas | | `coin_jingle.mp3` | revenue | bas | | `ui_open.mp3` | panneau | bas | ##### Graphiques (tableau détaillé) | Asset | Usage | Contraintes | |---|---|---| | `shop_coin_popup.png` | popup | lisible | | `shop_queue_badge.png` | queue | contraste | | `shop_out_of_stock_badge.png` | rupture | rouge | ##### Images (tableau détaillé) | Asset | Usage | |---|---| | `shop_blueprint.png` | construction | | `shop_product_icons.png` | UI | ##### Vidéos (tableau détaillé) | Asset | Usage | Durée | |---|---|---:| | `shop_sales_bars.webm` | stats | 1.0s | ##### Animations (tableau détaillé) | Animation | Déclencheur | Notes | |---|---|---| | pièce monte | vente | 0.6s | | porte ouvre/ferme | visiteur | 0.4s | ##### Couleurs (tableau détaillé) | Token | Valeur | Usage | |---|---|---| | `shop_gold` | #FFD700 | revenus | | `shop_profit_green` | #2E7D32 | stats | | `shop_alert_red` | #D32F2F | rupture | ##### Textes (tableau détaillé) | Clé | FR | EN | |---|---|---| | `shop.title` | Boutique | Shop | | `shop.revenue` | Revenus | Revenue | | `shop.out_of_stock` | Rupture de stock | Out of stock | ##### Formes (tableau détaillé) | Élément | Forme | Notes | |---|---|---| | Popup | rectangle arrondi | lisible | | Badge | rond | constant |