33800 Docs

← Retour

QwikPress - Session Test 30/12/2024

Date : 30 décembre 2024 (04h00) Priorite : HAUTE - CETTE SEMAINE Objectif : Tester le mode local après migration StorageService


CONTEXTE

Suite à la session du 29/12/2024 où on a :

  1. Migré 49 fichiers de getDataService() vers getStorage(sharedMap)
  2. Merge sur main
  3. Créé des pages de test propres

TRAVAIL EFFECTUÉ CETTE SESSION

1. Correction des pages de test

Les pages de test créées précédemment n'avaient pas le champ template requis :

Avant :

{
  "id": "hero-1",
  "type": "hero",
  "data": {...}
}

Après (corrigé) :

{
  "id": "hero-1",
  "type": "hero",
  "template": "HeroModule",
  "enabled": true,
  "data": {...}
}

Pages corrigées :

2. Création d'une config.json propre

Remplacé l'ancienne config "Nova Automobile" par une config de test propre avec :

3. Correction STORAGE_PATH

Problème : .env avait STORAGE_PATH=./STORAGE/data Mais le code ajoute /data/ au chemin, donc ça donnait ./STORAGE/data/data/config.json

Solution : Changé en STORAGE_PATH=./STORAGE


PROBLÈME EN COURS

Le serveur démarre mais renvoie toujours l'erreur :

Site configuration not found
File: file-storage.service.ts:217

Vérifications faites :

Hypothèses pour demain :

  1. Cache Vite - Peut-être qu'il faut vider le cache
  2. Chemin absolu vs relatif - Le ./STORAGE pourrait être interprété depuis un mauvais répertoire
  3. Problème de timing - Le plugin essaie de charger la config avant que le storage soit prêt

À FAIRE DEMAIN

  1. Debug : Ajouter des console.log dans FileStorageService.getConfig() pour voir le chemin exact
  2. Tester chemin absolu : Mettre /home/gouroubleu/WS/qwikpress-gitlab/STORAGE dans .env
  3. Vider cache Vite : rm -rf node_modules/.vite
  4. Si ça marche : Tester aussi le mode Supabase

FICHIERS MODIFIÉS

Fichier Modification
STORAGE/data/config.json Config de test propre
STORAGE/data/pages/home/content.json Ajout champ template
STORAGE/data/pages/about/content.json Ajout champ template
STORAGE/data/pages/services/content.json Ajout champ template
STORAGE/data/pages/contact/content.json Ajout champ template
STORAGE/data/pages/testimonials/content.json Ajout champ template
.env STORAGE_PATH=./STORAGE (corrigé)
.env.local Template pour mode local
.env.supabase Template pour mode Supabase

MODULES DISPONIBLES

Type Template Description
hero HeroModule Section hero avec titre/texte/boutons
features FeaturesModule Grille de fonctionnalités
text-block TextBlockModule Bloc de texte riche
services-grid ServicesGridModule Grille de services
cta CtaModule Call-to-action
testimonials TestimonialsModule Témoignages clients
children-links ChildrenLinksModule Liens vers pages enfants
filter-bar FilterBarModule Barre de filtres
dressing-showcase DressingShowcaseModule Showcase produits

COMMANDES UTILES

# Se connecter à vscode.local
ssh gouroubleu@vscode.local

# Aller dans le projet
cd ~/WS/qwikpress-gitlab

# Lancer en mode local
cp .env.local .env && bun run dev

# Lancer en mode Supabase
cp .env.supabase .env && bun run dev

# Tester le serveur
curl http://192.168.1.154:4500/


SESSION 2 - 30/12/2024 ~08h00

Problèmes résolus

1. STORAGE_PATH

2. Format content.json

Résultat final

MODE LOCAL VALIDÉ - TOUTES LES PAGES FONCTIONNENT

Page URL Modules
Accueil / HeroModule + FeaturesModule
À propos /about/ HeroModule + TextBlockModule
Services /services/ HeroModule + ServicesGridModule
Contact /contact/ HeroModule + CtaModule
Témoignages /testimonials/ HeroModule + TestimonialsModule

Fichiers corrigés définitifs

.env:
  STORAGE_PATH=/home/gouroubleu/WS/qwikpress-gitlab/STORAGE

STORAGE/data/pages/*/content.json:
  Format: {"modules": [...]}

Prochaine étape

Test mode Supabase avec .env.supabase


SESSION 3 - 30/12/2024 ~09h30

Mode Supabase - Problèmes résolus

1. require() non supporté en ESM

2. .env.local override .env

3. Permissions schema manquantes

Script permissions ajouté

GRANT USAGE ON SCHEMA qwikpress_{slug} TO service_role;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA qwikpress_{slug} TO service_role;
GRANT USAGE ON SCHEMA qwikpress_{slug} TO authenticated;
GRANT SELECT ON ALL TABLES IN SCHEMA qwikpress_{slug} TO authenticated;
GRANT USAGE ON SCHEMA qwikpress_{slug} TO anon;
GRANT SELECT ON ALL TABLES IN SCHEMA qwikpress_{slug} TO anon;

ALTER DEFAULT PRIVILEGES IN SCHEMA qwikpress_{slug}
GRANT ALL ON TABLES TO service_role;

Résultat final

LES 2 MODES FONCTIONNENT !

Mode Config Pages Status
Local (file) STORAGE/data/config.json STORAGE/data/pages/* ✅ OK
Supabase qwikpress_test.config qwikpress_test.pages ✅ OK

Pour tester les 2 modes

# Mode local
mv .env.supabase .env.supabase.backup 2>/dev/null
mv .env.local.backup .env.local 2>/dev/null
cp .env.local .env
bun run dev

# Mode Supabase
mv .env.local .env.local.backup 2>/dev/null
cp .env.supabase .env
bun run dev

Commit à faire

Les fichiers modifiés:

SESSION COMPLÈTE - SUCCÈS TOTAL !