j.foucher 6f62082dc4 feat(child-theme): scaffold asterion-bricks v0.1.0
Initial child theme structure inheriting from Bricks parent. Token-driven,
RGPD-native, mobile-first foundation ready for component and template work.

What's in this commit
- style.css: WP theme metadata (Template: bricks, v0.1.0)
- functions.php: enqueue cascade tokens -> utilities -> components,
  defer-loaded main.js, font preload, theme support, image sizes
  (av-hero 2400x1350, av-card 800x600, av-thumb 400x300), Gutenberg
  default styles dequeued
- theme.json: Gutenberg color/typo palette mirroring tokens
- assets/css/tokens.css: full design system per Design Handoff section 2
  (brand colors, neutrals, semantics, type scale + line-heights, 8pt
  spacing, radii, shadows, z-index, motion, prefers-reduced-motion)
- assets/css/utilities.css: modern reset + .av-container, .av-skip-link,
  .av-sr-only, .av-stack, .av-section helpers, opinionated heading scale
- assets/css/components.css: index of planned components + buttons
  (5 variants x 4 sizes per Design Handoff section 3.1) and links
- assets/js/main.js: vanilla skeleton with header scroll, IntersectionObserver
  reveal, count-up, mobile drawer; respects prefers-reduced-motion
- inc/cpt.php: register_post_type case_study (slug /customers/) + scenario
  (slug /scenarios/) + shared 'industry' taxonomy
- inc/seo.php: Organization JSON-LD on home; placeholders for Product,
  Article, FAQPage, BreadcrumbList
- assets/fonts/: Inter Variable + Italic WOFF2 self-hosted (RGPD; no
  Google Fonts CDN). Inter Display @font-face commented — Inter 4+ uses
  opsz axis from the same file.

Out of scope (intentionally deferred)
- Component fills: cards, forms, navigation, alerts, modals, tabs (placeholders)
- Page templates: home and beyond
- Bricks JSON template exports
- Schema.org Product / Article / FAQPage / BreadcrumbList implementations

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-09 11:49:10 +02:00

Asterion VR — Refonte du site web 2026

Repo de la refonte d'asterionvr.com : nouveau site institutionnel B2B/B2G de la plateforme XR PROSERVE pour les forces de sécurité européennes (police, special forces, military, firefighters).

Stack : WordPress 6.x + Bricks Builder (parent) + child theme custom asterion-bricks + WPML. Cible : Lighthouse 90+, WCAG 2.1 AA, mobile-first, RGPD-natif, hébergement français.


Documents de référence

À lire dans cet ordre avant tout travail technique :

  1. BRIEF-Claude-Code.md — brief de démarrage projet (13 sections, contraintes, conventions).
  2. Asterion-VR_Refonte-2026_Strategie-et-Contenu.pdf — livrable 1 (84 p) : diagnostic, stratégie, sitemap, copy EN prête de toutes les pages.
  3. Asterion-VR_Refonte-2026_Design-Handoff-Specification.pdf — livrable 2 (31 p) : tokens, composants UI, wireframes des 7 templates, motion, a11y.

Les .txt extraits des PDF sont gitignorés. Pour les régénérer :

pdftotext -layout "Asterion-VR_Refonte-2026_Design-Handoff-Specification.pdf" "design-handoff.txt"
pdftotext -layout "Asterion-VR_Refonte-2026_Strategie-et-Contenu.pdf" "strategie-et-contenu.txt"

(pdftotext est inclus dans Git for Windows : C:\Program Files\Git\mingw64\bin\pdftotext.exe.)


1. Pré-requis

  • LocalWP (https://localwp.com) configuré en mode localhost (Preferences → Advanced → Router Mode = localhost) pour cohabiter avec d'autres stacks locales (XAMPP, etc.).
  • Site LocalWP créé : nom Asterion 2026, dossier C:\Users\j_foucher\Local Sites\asterion-2026\.
  • ZIP des plugins commerciaux (chacun doit fournir les siens, depuis son propre compte) :

2. Installer Bricks parent

  1. Décompresser ThirdParty/bricks.X.Y.Z.zip dans <LocalWP site>/app/public/wp-content/themes/.
  2. Activer Bricks dans WP Admin → Apparence → Thèmes.
  3. Renseigner la license dans Bricks → License (depuis ton compte bricksbuilder.io).

3. Installer WPML

  1. Dans WP Admin → Extensions → Ajouter → Téléverser, charger ThirdParty/sitepress-multilingual-cms.X.Y.Z.zip.
  2. Activer le plugin et entrer la clé de license depuis ton compte wpml.org.

Depuis une PowerShell admin :

New-Item -ItemType SymbolicLink `
  -Path "C:\Users\j_foucher\Local Sites\asterion-2026\app\public\wp-content\themes\asterion-bricks" `
  -Target "C:\ASTERION\GIT\WP2026\wp-content\themes\asterion-bricks"

Puis dans WP Admin → Apparence → Thèmes, activer Asterion Bricks (le child theme).


Structure du repo

WP2026/
├── BRIEF-Claude-Code.md          # brief projet (lecture obligatoire)
├── README.md                     # ce fichier
├── MISSING-ASSETS.md             # tracking des visuels/medias manquants
├── *.pdf                         # 2 livrables stratégie + design (sources de vérité)
├── ThirdParty/                   # gitignored — ZIP plugins commerciaux à déposer manuellement
│   ├── bricks.*.zip
│   └── sitepress-multilingual-cms.*.zip
└── wp-content/
    └── themes/
        └── asterion-bricks/      # le child theme — coeur du travail
            ├── style.css         # en-tête WP + import tokens
            ├── functions.php     # hooks, registers, queries
            ├── theme.json        # tokens globaux (Gutenberg + Bricks)
            ├── assets/
            │   ├── css/          # tokens.css, components.css, utilities.css
            │   ├── js/           # vanilla JS, defer
            │   ├── fonts/        # Inter + Inter Display self-hosted (RGPD)
            │   └── img/
            ├── templates/        # exports Bricks JSON (versionnés)
            ├── inc/              # CPT, ACF field groups, SEO schema
            └── README.md

Conventions

  • CSS : préfixe av- (asterion-vr), nommage BEM-light, zéro hardcode (tout via tokens).
  • JS : vanilla, defer, modules ES6 si nécessaire.
  • Images : AVIF + WebP + JPG fallback, lazy-loading natif sauf hero.
  • Vidéos : MP4 H.264 + WebM VP9, autoplay muted plays-inline loop, poster image.
  • Commits : Conventional Commits (feat:, fix:, chore:, style:, refactor:, test:, docs:).
  • Branches : main = stable, feat/<scope> = work in progress, merge après validation.

Hors scope phase actuelle

Production (OVH/O2switch + Cloudflare), migration depuis Avada, plan 301, traduction FR (linguiste interne), création articles blog éditoriaux (post-launch).


Contact

Description
No description provided
Readme 1.1 MiB
Languages
PHP 97.6%
CSS 2.4%