# Mise en ligne de LYAMAMATAYN — méthode classique (phpMyAdmin + FTP)

Procédure manuelle, **sans plugin de migration**, pour passer du local (WAMP)
à l'hébergement de production, sur le domaine **`lyamamatayn.com`**.

## Valeurs propres à ce site (à reproduire à l'identique)

| Élément | En local | En production |
|---|---|---|
| URL du site | `http://localhost/Lyamamatayn` | `https://lyamamatayn.com` |
| Nom de la base | `lyamamatayn` | *(celui créé chez l'hébergeur)* |
| **Préfixe des tables** | `lyama_` | **`lyama_` (identique, obligatoire)** |
| Jeu de caractères | `utf8mb4` | `utf8mb4` |
| Utilisateur BdD local | `root` (mot de passe vide) | *(celui de l'hébergeur)* |

> ⚠️ Le préfixe `lyama_` doit être **identique** côté production, sinon WordPress ne
> retrouvera pas ses tables. **Ne lance PAS l'installateur automatique** de WordPress de
> l'hébergeur : on importe la base existante et on recrée `wp-config.php` à la main.

---

## Pré-requis chez l'hébergeur
- **PHP 8.1+**, **MySQL/MariaDB**, accès **phpMyAdmin** et **FTP/SFTP**.
- Le domaine `lyamamatayn.com` (déjà possédé — `app.lyamamatayn.com` existe).
- **SSL** (Let's Encrypt, gratuit).
- Un client FTP : **FileZilla**.

---

## Étape 0 — AVANT d'exporter (important)
1. **Numéro WhatsApp réel** : *Apparence ▸ Personnaliser ▸ LYAMAMATAYN ▸ Coordonnées ▸
   « Numéro WhatsApp »*. Le numéro provisoire `+216 22 000 000` est stocké **dans la base** :
   s'il n'est pas corrigé maintenant, il partira en production.
2. Vérifie aussi e-mails de contact/recrutement, réseaux sociaux, image du hero.

---

## Étape 1 — Exporter la base de données (local)
**Via phpMyAdmin** (`http://localhost/phpmyadmin`) :
1. Sélectionne la base **`lyamamatayn`** à gauche.
2. Onglet **Exporter** → méthode **Personnalisée**.
3. Format **SQL** ; coche **toutes les tables** ; sous « Objets à créer » garde
   `DROP TABLE / VIEW` (réimport propre). Encodage **utf-8**.
4. **Exécuter** → tu obtiens `lyamamatayn.sql`.

**Ou en ligne de commande** (WAMP) :
```
C:\wamp64\bin\mysql\mysql<version>\bin\mysqldump.exe -u root lyamamatayn > lyamamatayn.sql
```

---

## Étape 2 — Préparer les fichiers (local)
On transfère **tout le dossier** `C:\wamp64\www\Lyamamatayn\` **SAUF** :
- `wp-config.php` (on en recrée un propre en production — étape 5) ;
- `wp-content/debug.log` et tout cache éventuel ;
- `docs/` et les fichiers temporaires de dev (facultatif, non servis au public).

Le reste (`wp-admin/`, `wp-includes/`, `wp-content/` avec **thème + uploads + plugins**,
et les fichiers racine `index.php`, `wp-load.php`, etc.) part tel quel : la version de
WordPress en ligne sera la copie exacte du local (zéro incompatibilité).

---

## Étape 3 — Créer la base sur l'hébergeur
Dans le panneau de l'hébergeur (cPanel/Plesk/…) :
1. **Crée une base MySQL** (ex. `lyama_prod`).
2. **Crée un utilisateur** + mot de passe **fort**, affecte-le à la base avec **tous les privilèges**.
3. Note : *nom de base*, *utilisateur*, *mot de passe*, *hôte BdD* (souvent `localhost`).
LyamamProd2121
---

## Étape 4 — Importer la base
phpMyAdmin de l'hébergeur → sélectionne la base créée → **Importer** → choisis
`lyamamatayn.sql` → **Exécuter**. (Si le fichier est trop gros pour l'import web,
compresse-le en `.sql.gz` ou importe par SSH : `mysql -u USER -p BASE < lyamamatayn.sql`.)

Les tables `lyama_*` apparaissent.

---

## Étape 5 — Téléverser les fichiers + recréer `wp-config.php`
1. **FileZilla** → connecte-toi en FTP → dépose les fichiers dans le **dossier racine web**
   (`public_html/` ou `www/`), à la **racine du domaine** (pas dans un sous-dossier).
2. Crée un `wp-config.php` à partir du modèle ci-dessous (identifiants de l'**hébergeur**,
   **préfixe `lyama_`**, **debug désactivé**, **nouveaux SALT**) :

```php
<?php
define( 'DB_NAME', 'voncomtnqylyam' );
define( 'DB_USER', 'voncomtnqylyam' );
define( 'DB_PASSWORD', 'LyamamProd2121' );
define( 'DB_HOST', 'localhost' );          // souvent localhost ; sinon, valeur fournie par l'hébergeur
define( 'DB_CHARSET', 'utf8mb4' );
define( 'DB_COLLATE', '' );

// >>> Génère de NOUVELLES clés : https://api.wordpress.org/secret-key/1.1/salt/
define('AUTH_KEY',         '...');
define('SECURE_AUTH_KEY',  '...');
define('LOGGED_IN_KEY',    '...');
define('NONCE_KEY',        '...');
define('AUTH_SALT',        '...');
define('SECURE_AUTH_SALT', '...');
define('LOGGED_IN_SALT',   '...');
define('NONCE_SALT',       '...');

$table_prefix = 'lyama_';                   // IDENTIQUE au local — ne pas changer

define( 'WP_DEBUG', false );                // production : pas de debug
define( 'WP_DEBUG_LOG', false );
define( 'WP_DEBUG_DISPLAY', false );

if ( ! defined( 'ABSPATH' ) ) define( 'ABSPATH', __DIR__ . '/' );
require_once ABSPATH . 'wp-settings.php';
```

---

## Étape 6 — Corriger les URLs (étape la plus délicate ⚠️)
Il faut remplacer **`http://localhost/Lyamamatayn`** par **`https://lyamamatayn.com`**
dans toute la base. WordPress stocke des données **sérialisées** (réglages du thème, image
du hero, options Polylang…) : **un simple « chercher-remplacer » SQL les CASSE.** Utilise une
méthode qui respecte la sérialisation :

**Option A — WP-CLI** (si l'hébergeur offre un accès SSH ; le plus propre) :
```
wp search-replace 'http://localhost/Lyamamatayn' 'https://lyamamatayn.com' --all-tables
wp cache flush
```
admin_lyamamatayn
Gj4LsMnsVM(hMZuDsW

**Option B — Script « Search-Replace-DB »** (interconnect/it, classique, sans SSH) :
1. Télécharge le script, dépose le dossier (ex. `/srdb/`) par FTP à la racine.
2. Ouvre `https://lyamamatayn.com/srdb/`, mets `http://localhost/Lyamamatayn` →
   `https://lyamamatayn.com`, lance **Live run**.
3. **SUPPRIME le dossier `/srdb/` immédiatement après** (faille de sécurité sinon).

> Dépannage : si tu ne peux pas te connecter à `/wp-admin`, corrige d'abord à la main dans
> phpMyAdmin la table **`lyama_options`**, lignes `siteurl` et `home` → `https://lyamamatayn.com`,
> puis fais le search-replace complet (sinon les URLs sérialisées resteront fausses).

---

## Étape 7 — Permaliens & .htaccess
*Réglages ▸ Permaliens* → **« Enregistrer les modifications »** (régénère les jolis liens et
le `.htaccess`). Vérifie que les pages internes (Cursus, Tarifs…) s'ouvrent sans erreur 404.

---

## Étape 8 — HTTPS, e-mails, DNS
- **SSL** : active Let's Encrypt chez l'hébergeur, puis force le HTTPS.
- **E-mails (obligatoire)** : les 3 formulaires utilisent `wp_mail()`. Installe **WP Mail SMTP**
  + un service (**Brevo**, Mailgun…) et **teste réellement** Inscription / Recrutement / Contact.
- **DNS** : fais pointer `lyamamatayn.com` **et** `www` vers l'hébergeur (enregistrements A/CNAME).
  ⚠️ **Ne touche pas** à l'enregistrement **`app.lyamamatayn.com`** (espace élève, hébergé ailleurs).

---

## Étape 9 — Vérifications finales
- [ ] Page d'accueil OK (hero, image nette, animations).
- [ ] **Polylang** : les **3 langues** FR / EN / **AR** fonctionnent ; le sélecteur marche.
- [ ] **Arabe en RTL** : mise en page miroir correcte, pas de page blanche.
- [ ] **WhatsApp** : bouton flottant (bas droite ; bas gauche en AR) + icône footer ; le clic
      ouvre `wa.me/<vrai numéro>`.
- [ ] Les **3 formulaires** envoient bien un e-mail.
- [ ] Pages internes (Cursus, Arabe & Coran, Ateliers, Tarifs, Blog, Contact) OK.
- [ ] Bouton **« Espace Élève »** pointe vers `https://app.lyamamatayn.com`.

## Étape 10 — Sécurité après mise en ligne
- [ ] Dossier du script de remplacement (`/srdb/`) **supprimé**.
- [ ] `WP_DEBUG` **désactivé** ; nouveaux **SALT** en place.
- [ ] **Mot de passe admin** changé (différent du local).
- [ ] Plugins recommandés : **Wordfence** (sécurité), **UpdraftPlus** (sauvegardes auto),
      **WP Rocket** (cache), **Rank Math** (SEO).
- [ ] Première **sauvegarde** complète prise.
