# MYWIE — Application PHP 8.4 + MySQL

Migration de l'application React/Supabase vers **PHP 8.4** et **MySQL 8**, en conservant les affichages (Tailwind, navigation, pages marketing, dashboard).

## Prérequis

- PHP 8.4+ (`pdo_mysql`, `json`, `argon2`)
- MySQL 8+
- Composer (optionnel — autoload PSR-4 intégré en fallback)

## Installation

### 1. Configuration

```powershell
cd php
copy .env.example .env
# Éditer DB_* dans .env
```

### 2. Base de données

```powershell
mysql -u root -p -e "CREATE DATABASE IF NOT EXISTS mywie CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
mysql -u root -p mywie < database/schema.sql
php database/seed.php
```

Compte admin par défaut : `admin@mywie.com` / `Admin123!`

### 3. Assets (CSS + images)

Copier les styles compilés depuis le build React :

```powershell
# Depuis la racine du projet
npm install
npm run build

# Copier CSS
New-Item -ItemType Directory -Force -Path php/public/assets/css
Copy-Item dist/assets/index-*.css php/public/assets/css/app.css
Copy-Item dist/assets/vendor-*.css php/public/assets/css/vendor.css

# Copier images (si présentes dans dist/assets ou src/assets)
New-Item -ItemType Directory -Force -Path php/public/assets/images
Copy-Item -Recurse -ErrorAction SilentlyContinue src/assets/* php/public/assets/images/
```

### 4. Lancer le serveur

```powershell
cd php/public
php -S localhost:8080
```

Ouvrir http://localhost:8080

## Architecture

```
php/
├── config/          # app, routes, pages, blog
├── database/        # schema.sql, seed.php
├── public/          # index.php, assets, .htaccess
├── src/             # Bootstrap, Router, Auth, Controllers
└── views/           # layouts, partials, pages PHP
```

## Routes couvertes

Toutes les routes de `src/App.tsx` sont mappées :

- Pages publiques : accueil, fonctionnalités, partenaires, blog, FAQ, contact, légal…
- Auth : `/auth` (connexion / inscription session PHP)
- Espace membre : `/dashboard`, `/account`, `/settings`, `/mon-journal`…
- Admin : `/admin`, `/admin/moderation`, `/admin/cartes-recuperation`
- Partenaire : `/dashboard-partenaire`

## i18n

Les traductions JSON existantes (`src/i18n/locales/*.json`) sont réutilisées. Changer la langue via `?lang=en`.

## Différences avec la version React

| React + Supabase | PHP + MySQL |
|---|---|
| Supabase Auth | Sessions PHP + table `users` |
| PostgreSQL / RLS | MySQL + contrôle applicatif |
| Edge Functions | Contrôleurs PHP + cron CLI |
| Chiffrement client (JS) | À réintégrer en modules JS ciblés si besoin |

Les pages très interactives (arbre généalogique, carte MapLibre, flipbook, crypto souveraine) conservent leur **mise en page** ; la logique avancée côté client peut être branchée progressivement sur l'API PHP.

## Apache

DocumentRoot = `php/public`. Le fichier `.htaccess` redirige toutes les URLs vers `index.php`.

## Production

- `APP_DEBUG=false` dans `.env`
- HTTPS + cookies `Secure`
- Sauvegardes MySQL régulières
- Cron pour tâches (récupération, purge comptes) à migrer depuis `supabase/functions/`
