# 🚀 GUIDE D'INSTALLATION COMPLET
## Système d'inscription et paiement - Association Star Wars

---

## 📋 SOMMAIRE

1. Prérequis
2. Installation de la base de données
3. Configuration du site
4. Configuration HelloAsso
5. Mise en ligne
6. Utilisation quotidienne
7. Maintenance et sécurité

---

## 1️⃣ PRÉREQUIS

### Hébergement web requis
- **Serveur** : Apache ou Nginx
- **PHP** : Version 7.4 ou supérieure
- **Base de données** : MySQL 5.7+ ou MariaDB 10.2+
- **Espace disque** : Minimum 100 MB
- **SSL** : Certificat HTTPS (obligatoire pour HelloAsso)

### Hébergeurs recommandés (France)
- **OVH** : À partir de 3,59€/mois - https://www.ovh.com
- **O2Switch** : 5€/mois (tout illimité) - https://www.o2switch.fr
- **Ionos** : À partir de 1€/mois - https://www.ionos.fr

---

## 2️⃣ INSTALLATION DE LA BASE DE DONNÉES

### Étape 1 : Créer la base de données

**Via cPanel ou phpMyAdmin :**

1. Connectez-vous à votre hébergement
2. Accédez à phpMyAdmin
3. Cliquez sur "Nouvelle base de données"
4. Nom : `association_starwars`
5. Encodage : `utf8mb4_unicode_ci`
6. Cliquez sur "Créer"

### Étape 2 : Créer un utilisateur

1. Dans phpMyAdmin, allez dans "Privilèges" ou "Utilisateurs"
2. Cliquez "Ajouter un utilisateur"
3. **Nom d'utilisateur** : `asso_user` (ou votre choix)
4. **Hôte** : `localhost`
5. **Mot de passe** : Générez un mot de passe fort
6. Cochez "Accorder tous les privilèges pour la base de données association_starwars"
7. Cliquez "Exécuter"

**⚠️ NOTEZ CES INFORMATIONS** (vous en aurez besoin) :
- Nom de la base : `association_starwars`
- Utilisateur : `asso_user`
- Mot de passe : `[votre_mot_de_passe]`
- Hôte : `localhost`

### Étape 3 : Importer le schéma

1. Dans phpMyAdmin, sélectionnez la base `association_starwars`
2. Cliquez sur l'onglet "Importer"
3. Cliquez "Choisir un fichier"
4. Sélectionnez le fichier `database/schema.sql`
5. Cliquez "Exécuter"

✅ **Vérification** : Vous devriez voir 5 tables créées :
- `membres`
- `evenements`
- `inscriptions_evenements`
- `administrateurs`
- `helloasso_logs`

---

## 3️⃣ CONFIGURATION DU SITE

### Étape 1 : Transférer les fichiers

**Via FTP (FileZilla recommandé) :**

1. Téléchargez FileZilla : https://filezilla-project.org
2. Connectez-vous à votre hébergement :
   - Hôte : ftp.votre-domaine.fr
   - Utilisateur : [fourni par votre hébergeur]
   - Mot de passe : [fourni par votre hébergeur]
   - Port : 21

3. Transférez TOUS les dossiers vers `/public_html/` ou `/www/` :
   - `admin/`
   - `config/`
   - `database/`
   - `docs/`
   - `includes/`
   - `public/`

### Étape 2 : Configurer la connexion à la base

Éditez le fichier `config/config.php` :

```php
// Configuration de la base de données
define('DB_HOST', 'localhost');
define('DB_NAME', 'association_starwars');
define('DB_USER', 'asso_user');           // ← Votre utilisateur
define('DB_PASS', 'votre_mot_de_passe');  // ← Votre mot de passe

// Configuration de l'association
define('ASSO_NAME', 'Association Star Wars - Jeu Semi-Réel');
define('ASSO_EMAIL', 'contact@votre-association.fr');  // ← Votre email

// Configuration du site
define('SITE_URL', 'https://votre-domaine.fr');  // ← Votre URL
```

### Étape 3 : Vérifier les permissions

Les dossiers suivants doivent être accessibles en écriture :
```bash
chmod 755 /public_html/admin/
chmod 755 /public_html/public/
chmod 644 /public_html/config/config.php
```

---

## 4️⃣ CONFIGURATION HELLOASSO

### Étape 1 : Créer un compte HelloAsso

1. Allez sur https://www.helloasso.com
2. Cliquez "S'inscrire" en haut à droite
3. Choisissez "Association"
4. Remplissez le formulaire :
   - Nom de l'association
   - SIRET (si vous l'avez)
   - Adresse
   - Email de contact
   - Mot de passe
5. Validez votre email

### Étape 2 : Créer le formulaire d'adhésion

1. Connectez-vous à HelloAsso
2. Dans le menu, cliquez "Créer" → "Adhésion"
3. Remplissez les informations :

**Informations générales :**
- Titre : `Adhésion 2024-2025`
- Description : Décrivez votre association
- Image : Uploadez une image Star Wars (facultatif)

**Tarifs :**
- Cliquez "Ajouter un tarif"
- Nom : `Cotisation annuelle`
- Montant : `10 €`
- Description : `Adhésion de septembre à septembre`
- Cochez "Tarif par défaut"

**Formulaire d'inscription :**
- Cochez les champs que vous voulez (email, téléphone, etc.)
- ⚠️ **Important** : N'ajoutez PAS de champ "droit à l'image" ici, 
  c'est déjà géré sur votre site

**Options :**
- Activez "Formulaire ouvert toute l'année"
- Désactivez "Nombre d'adhésions limité"

4. Cliquez "Publier"
5. **NOTEZ L'URL** du formulaire (ex: `https://www.helloasso.com/associations/votre-asso/adhesions/adhesion-2024-2025`)

### Étape 3 : Créer le formulaire de billetterie

1. Cliquez "Créer" → "Billetterie"
2. Remplissez :

**Informations générales :**
- Titre : `Soirées Jeu Star Wars`
- Description : `Participation aux soirées de jeu`
- Type : `Récurrent` (pour plusieurs dates)

**Tarifs :**
- Nom : `PAF Soirée`
- Montant : `4 €`
- Description : `Participation à une soirée (réservé aux membres)`

**Options :**
- Activez "Billetterie ouverte"
- Désactivez "Nombre de places limité"

3. Cliquez "Publier"
4. **NOTEZ L'URL** du formulaire

### Étape 4 : Configurer les URLs HelloAsso

Éditez `config/config.php` et remplissez les URLs notées :

```php
// Configuration HelloAsso
define('HELLOASSO_ORG_SLUG', 'votre-organisation');
define('HELLOASSO_ADHESION_FORM_SLUG', 'adhesion-2024-2025');
define('HELLOASSO_BILLETTERIE_FORM_SLUG', 'soirees-jeu');

// URLs complètes
define('HELLOASSO_ADHESION_URL', 'https://www.helloasso.com/associations/votre-organisation/adhesions/adhesion-2024-2025');
define('HELLOASSO_BILLETTERIE_URL', 'https://www.helloasso.com/associations/votre-organisation/evenements/soirees-jeu');
```

### Étape 5 : Synchronisation automatique (OPTIONNEL)

Pour synchroniser automatiquement les paiements HelloAsso avec votre base :

1. Sur HelloAsso, allez dans "Paramètres" → "API"
2. Créez des identifiants API
3. Notez le `Client ID` et `Client Secret`
4. Ajoutez-les dans `config/config.php` :

```php
define('HELLOASSO_API_CLIENT_ID', 'votre_client_id');
define('HELLOASSO_API_CLIENT_SECRET', 'votre_client_secret');
```

5. Configurez un webhook HelloAsso pointant vers :
   `https://votre-domaine.fr/includes/helloasso-webhook.php`

⚠️ **Note** : Sans synchronisation automatique, vous devrez valider manuellement 
les adhésions dans l'administration après réception du paiement HelloAsso.

---

## 5️⃣ MISE EN LIGNE

### Étape 1 : Tester l'installation

1. Ouvrez votre navigateur
2. Allez sur `https://votre-domaine.fr/public/`
3. Vous devriez voir la page d'accueil

### Étape 2 : Première connexion admin

1. Allez sur `https://votre-domaine.fr/admin/`
2. Connectez-vous avec :
   - **Identifiant** : `admin`
   - **Mot de passe** : `admin123`

⚠️ **IMPORTANT - SÉCURITÉ CRITIQUE** :

**Changez IMMÉDIATEMENT le mot de passe par défaut !**

Pour changer le mot de passe :
```php
// Allez dans phpMyAdmin
// Exécutez cette requête SQL (remplacez VOTRE_NOUVEAU_MOTDEPASSE) :

UPDATE administrateurs 
SET password = '$2y$10$votre_nouveau_hash'
WHERE username = 'admin';

// Pour générer le hash, utilisez ce code PHP :
echo password_hash('VOTRE_NOUVEAU_MOTDEPASSE', PASSWORD_DEFAULT);
```

### Étape 3 : Configurer HTTPS

**Avec Let's Encrypt (gratuit) :**

1. Dans cPanel ou votre hébergement
2. Cherchez "SSL/TLS" ou "Let's Encrypt"
3. Activez le certificat SSL pour votre domaine
4. Vérifiez que votre site est accessible en `https://`

---

## 6️⃣ UTILISATION QUOTIDIENNE

### Pour les membres

**S'inscrire :**
1. Aller sur `Adhérer`
2. Remplir le formulaire
3. Cliquer "Continuer vers le paiement"
4. Payer 10€ sur HelloAsso
5. Attendre la validation par un admin (24-48h)

**S'inscrire à un événement :**
1. Aller sur `Événements`
2. Cliquer "S'inscrire" sur l'événement
3. Entrer son email de membre
4. Payer 4€ sur HelloAsso

### Pour les administrateurs

**Valider une adhésion :**
1. Connexion sur `/admin/`
2. Menu "Membres"
3. Cliquer "✓ Valider" à côté du membre
   (après avoir vérifié le paiement sur HelloAsso)

**Créer un événement :**
1. Menu "Événements"
2. Cliquer "Créer un événement"
3. Remplir les informations
4. Publier

**Voir les inscriptions :**
1. Menu "Inscriptions"
2. Voir la liste complète
3. Valider après paiement HelloAsso

### Processus de validation manuelle

**Tous les jours ou 2 fois par semaine :**

1. Connectez-vous à HelloAsso
2. Vérifiez les nouveaux paiements
3. Pour chaque paiement :
   - Notez l'email du payeur
   - Connectez-vous à l'admin du site
   - Cherchez le membre par email
   - Cliquez "Valider"

**📧 Email de bienvenue** : Pensez à envoyer un email de bienvenue 
aux nouveaux membres une fois validés !

---

## 7️⃣ MAINTENANCE ET SÉCURITÉ

### Sauvegardes (CRUCIAL)

**Sauvegarde automatique recommandée :**

1. Dans cPanel : "Backup Wizard"
2. Configurez une sauvegarde hebdomadaire automatique
3. Téléchargez les sauvegardes sur votre ordinateur

**Sauvegarde manuelle (à faire mensuellement) :**

**Base de données :**
1. phpMyAdmin → Sélectionner `association_starwars`
2. Onglet "Exporter"
3. Format : SQL
4. Télécharger

**Fichiers :**
1. Via FTP, téléchargez tous les dossiers
2. Créez une archive .zip
3. Stockez en lieu sûr

### Sécurité

**À faire IMMÉDIATEMENT :**
✅ Changer le mot de passe admin par défaut
✅ Activer HTTPS
✅ Mettre à jour PHP régulièrement
✅ Sauvegardes automatiques

**Bonnes pratiques :**
✅ Ne jamais partager vos identifiants
✅ Utiliser un mot de passe fort (minimum 12 caractères)
✅ Vérifier régulièrement les logs HelloAsso
✅ Maintenir PHP et MySQL à jour

### Mises à jour

**PHP :**
- Via cPanel : "Select PHP Version"
- Choisissez toujours la dernière version stable

**Base de données :**
- Les mises à jour MySQL/MariaDB sont automatiques chez la plupart des hébergeurs

---

## 🆘 DÉPANNAGE

### Problème : Erreur de connexion à la base de données

**Solution :**
1. Vérifiez `config/config.php`
2. Vérifiez que les identifiants sont corrects
3. Vérifiez que la base existe dans phpMyAdmin

### Problème : Page blanche

**Solution :**
1. Activez l'affichage des erreurs PHP temporairement
2. Ajoutez en haut de `config/config.php` :
```php
ini_set('display_errors', 1);
error_reporting(E_ALL);
```
3. Rechargez la page et regardez l'erreur
4. **N'oubliez pas de retirer ces lignes après !**

### Problème : Le formulaire HelloAsso ne s'affiche pas

**Solution :**
1. Vérifiez que les URLs HelloAsso sont correctes
2. Vérifiez que les formulaires sont "Publiés" sur HelloAsso
3. Testez l'URL directement dans un navigateur

### Problème : Les emails ne partent pas

**Solution :**
1. Vérifiez la configuration email de votre hébergeur
2. Utilisez le SMTP de votre hébergeur
3. Ou utilisez un service externe (SendGrid, Mailgun)

---

## 📞 SUPPORT

### HelloAsso
- Support : https://www.helloasso.com/contact
- Documentation : https://aide.helloasso.com

### Hébergement
- Contactez le support de votre hébergeur

### Code/Site
- Consultez les fichiers dans `/docs/`
- Modifiez les fichiers selon vos besoins

---

## ✅ CHECKLIST DE MISE EN PRODUCTION

Avant d'ouvrir le site au public, vérifiez :

- [ ] Base de données créée et tables importées
- [ ] Fichiers transférés sur l'hébergement
- [ ] `config/config.php` configuré correctement
- [ ] Compte HelloAsso créé et vérifié
- [ ] Formulaire d'adhésion HelloAsso créé et publié
- [ ] Formulaire de billetterie HelloAsso créé et publié
- [ ] URLs HelloAsso ajoutées dans la config
- [ ] HTTPS activé (certificat SSL)
- [ ] Mot de passe admin changé
- [ ] Test d'inscription complet effectué
- [ ] Test de paiement HelloAsso effectué (mode test)
- [ ] Sauvegarde automatique configurée
- [ ] Email de contact vérifié

---

## 🎉 FÉLICITATIONS !

Votre système d'inscription et de paiement est maintenant opérationnel !

**Prochaines étapes suggérées :**
1. Créer votre premier événement
2. Annoncer l'ouverture des inscriptions
3. Tester le parcours complet avec un ami
4. Personnaliser le design selon vos goûts

**Que la Force soit avec vous ! ⚡**
