1---2name: design-pwa-system3description: Intelligence de design UI/UX pour PWA mobiles Agence Bulles — direction artistique anti-générique, recherche de références (palettes, styles, typographies, responsive), persistance d'un design system (MASTER.md + overrides) et checklist qualité mobile/PWA. Charger pour concevoir, construire ou revoir toute interface (landing + SaaS).4license: MIT5---67# design-pwa-system89## Ce que je fais10- Fusionne les anciennes skills design-pwa, design-pwa-direction, design-pwa-data et responsive-design.11- Fixe une direction esthétique distinctive (anti-générique) et la persiste en design system.12- En amont du design visuel : définir le parcours UX avec `design-ux-flow` (10 étapes).1314## 1. Direction artistique (avant de coder)15- **Couleur** : palette ancrée dans le contexte réel de l'app (pas Bootstrap/Material par défaut). Stack Agence Bulles : `#D81B60` (rose framboise) · `#1A1A1A` · `#FFFFFF` · `#C2E8E8` · `#134242` — adapter par projet.16- **Typographie** : police d'affichage caractérielle (avec retenue) + police de texte lisible. Référence : Product Sans (titres) + Open Sans (corps).17- **Layout** : structure qui hiérarchise l'information ; élément « signature » unique (un seul risque esthétique justifié).18- **Critique anti-générique** : « Ce design pourrait-il appartenir à n'importe quelle autre app ? » → si oui, recommencer.1920## 2. Méthode en 2 passes211. **Plan** : mini-système de tokens — 4-6 couleurs nommées (hex), 2+ familles typo (affichage/texte/utilitaire), concept de layout, élément signature.222. **Critique** : réviser ce qui ressemble au défaut générique, expliquer pourquoi, puis coder en dérivant chaque choix du plan.2324## 3. Recherche de références25- Assets : `assets/data/palettes.json` (96 palettes) et `assets/data/styles.json` (67 styles) pour trouver des références concrètes avant de figer les choix.26- Typos : 57 font pairings référencés ; choisir une paire puis la figer dans le design system.27- Bibliothèque DESIGN.md : `assets/reference/design-md-library.md` — 15 références de sites réels (Stripe, Linear, Supabase…) à récupérer via `getdesign.md/<slug>` ; ne pas copier dans le repo, référencer par lien.28- Brief inference : `assets/reference/brief-inference.md` — lire le contexte (type de page, audience, contraintes) et déclarer un Design Read 1 ligne avant de coder.29- Dials : `assets/reference/dials.md` — fixer VARIANCE / MOTION / DENSITY après le Design Read ; chaque décision layout/motion/densité en découle.3031## 4. Persistance (MASTER + overrides)32- Écrire le design system validé dans `design-system/MASTER.md` (source de vérité : couleurs, typo, espacements, effets, états).33- Page spécifique → `design-system/pages/<page>.md` qui surcharge le MASTER.34- Avant de construire une page : lire l'override de la page s'il existe, sinon appliquer le MASTER exclusivement.35- Template : `assets/templates/DESIGN_SYSTEM.md`.3637## 5. Layout Signature PWA (mobile-first, adaptatif desktop)38- **Top App Bar** : 56px max, titre contextuel, bouton retour auto en sous-page, actions à droite.39- **Bottom Navigation** : ancrée en bas, 3-5 onglets max, `padding-bottom: env(safe-area-inset-bottom, 16px)`, sidebar ≥ 768px.40- **FAB** : action créatrice centrale, bas droite au-dessus de la nav.41- **Bottom Sheets** : panneaux coulissants au lieu de modales centrées sur mobile.42- **Cards** : `border-neutral-200 dark:border-neutral-800`, `rounded-xl/2xl`, `p-4` mobile / `p-6` desktop ; empty states + skeletons soignés.43- CSS de référence : `assets/configs/layout-signature.css`.4445## 6. Responsive design46- Grid/Flexbox, Container Queries, typographie fluide, images adaptatives.47- Mobile-first ; breakpoints `min-width` ; jamais de scroll horizontal.48- Ergonomie tactile : cibles ≥ 48×48px, feedback au tap < 100 ms.49- Ne pas désactiver le zoom ; `viewport-fit=cover` ; `min-h-dvh`.5051## 7. Checklist qualité mobile/PWA (grille de revue)52- Accessibilité : contraste texte ≥ 4.5:1, focus visible, jamais d'info par couleur seule, labels sur icônes.53- Tactile : cibles ≥ 44×44px, espacement ≥ 8px, pas de dépendance au survol.54- CLS : images dimensionnées, lazy-loading, CLS < 0.1, skeletons.55- Safe areas : notch, Dynamic Island, barre de gestes.56- Mouvement : 150-300 ms, animer transform/opacity, `prefers-reduced-motion`.57- Hors-ligne : message d'état + fonctionnalités de base.58- Icônes : SVG (Lucide/Heroicons), jamais d'emoji structurel, trait cohérent.59- Mode sombre : variantes conçues ensemble, contraste testé séparément.60- Checklist : `assets/checklists/mobile-pwa.md`.6162## Règles63- Toujours charger `shared-eco-tokens` en parallèle.64- Harmonie absolue landing + SaaS : mêmes couleurs, polices, icônes.65- Une seule bibliothèque d'icônes : Lucide, Tabler, Phosphor, React Icons ou Remix.66- Aucun emoji dans l'interface sauf demande explicite.6768## Assets69- `assets/templates/DESIGN_SYSTEM.md`70- `assets/configs/layout-signature.css`71- `assets/checklists/mobile-pwa.md`72- `assets/data/palettes.json`73- `assets/data/styles.json`74- `assets/reference/brief-inference.md`75- `assets/reference/dials.md`76- `assets/reference/design-md-library.md`