Files
AsterionWP2026/README.md
j.foucher fba223004f chore: phase 1 reset — minimalist child theme + content-source extraction
Resets the child theme to its Bricks-first minimalist form (per RESTART-PLAN.md
phases 1a-1d) and extracts the textual copy into a runtime-independent
/content-source/ directory.

Child theme files removed
- header.php, footer.php, page.php, index.php, front-page.php
- template-parts/{solution,industry,conversion-form}.php
- templates/page-*.php (10 Custom Page Templates)
- inc/render-blocks.php, render-blocks-native.php, render-bricks.php
- inc/shortcodes.php, i18n.php, form-handler.php, seo.php
- assets/css/components.css, assets/js/main.js

Reasoning: Bricks Templates (Header / Footer / Single — Page) and Bricks-edited
pages now drive every screen. Anything emitted from the child theme would
fight Bricks' own rendering and waste CSS specificity battles.

Child theme now contains only
- style.css, functions.php (simplified to ~60 lines), theme.json
- inc/cpt.php (case_study + scenario + industry taxonomy)
- assets/css/tokens.css (untouched — design system source of truth)
- assets/css/utilities.css (trimmed to skip-link + sr-only + focus-visible
  + reduced motion — everything else handled by Bricks)
- assets/fonts/Inter-Variable*.woff2 (RGPD self-hosted)
- README.md spelling out the Bricks-first contract

Content moved to /content-source/
- solutions-data.php, industries-data.php, technology-data.php,
  editorial-data.php, forms-data.php — git mv preserves history
- README.md explaining their dual role: copy reference while building
  in Bricks, and source for programmatic page generation when we
  replicate an archetype across its variants.

Root README.md updated with the new repo layout + a pointer to
RESTART-PLAN.md and the archive/session-2-php-templates branch.

Memory file project_asterion_status.md updated for next-session resume.

What's preserved as before
- /BRIEF-Claude-Code.md, both PDFs, all .txt extracts
- /MISSING-ASSETS.md
- /ThirdParty/ (Bricks + WPML ZIPs, gitignored)
- LocalWP site at localhost:10004, Bricks v2.3.4 + WPML 4.9.3 active
- WPML EN/FR with directory URL strategy
- All Git history, both main and archive/session-2-php-templates branches

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

130 lines
5.7 KiB
Markdown

# 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 :
```bash
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`.)
---
## Setup local (LocalWP + symlink Git)
### 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) :
- `bricks.X.Y.Z.zip` — depuis https://bricksbuilder.io
- `sitepress-multilingual-cms.X.Y.Z.zip` — depuis https://wpml.org
- À déposer dans `ThirdParty/` (gitignored).
### 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.
### 4. Symlink le child theme depuis ce repo vers LocalWP
Depuis une **PowerShell admin** :
```powershell
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).
---
## Approche
**Bricks-first, child theme minimaliste.** Le rendu de chaque page est piloté par Bricks Builder (Templates pour header/footer/archives + pages éditées dans le builder). Le child theme se contente d'apporter le design system (tokens CSS), Inter self-hosté (RGPD) et les Custom Post Types. Voir `wp-content/themes/asterion-bricks/README.md` pour le détail.
Une session de PHP-rendering plus traditionnelle a été archivée dans la branche Git `archive/session-2-php-templates` ainsi que dans `RESTART-PLAN.md` à la racine. Ne pas réintroduire ce pattern sans relire ces deux sources.
## Structure du repo
```
WP2026/
├── BRIEF-Claude-Code.md # brief projet (lecture obligatoire)
├── README.md # ce fichier
├── RESTART-PLAN.md # historique de la décision Bricks-first
├── MISSING-ASSETS.md # tracking des visuels/medias manquants
├── *.pdf # 2 livrables stratégie + design (sources de vérité)
├── ThirdParty/ # gitignored — ZIP plugins commerciaux
│ ├── bricks.*.zip
│ └── sitepress-multilingual-cms.*.zip
├── content-source/ # copy EN extrait du PDF (référence + génération)
│ ├── solutions-data.php
│ ├── industries-data.php
│ ├── technology-data.php
│ ├── editorial-data.php
│ ├── forms-data.php
│ └── README.md
└── wp-content/
└── themes/
└── asterion-bricks/ # child theme minimaliste, voir son README
├── style.css
├── functions.php
├── theme.json
├── README.md
├── inc/
│ └── cpt.php
└── assets/
├── css/
│ ├── tokens.css # design system, source de vérité
│ └── utilities.css # skip-link, sr-only, focus-visible
├── fonts/ # Inter Variable self-hosté
└── img/
```
---
## 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
- **Client** : Jérôme Foucher — Asterion VR — jerome.foucher@asterionvr.com
- **Repo** : git.polymorph.fr (privé)