# 👥 Population des Loisirs Utilisateurs - BookConnect

## 📋 Vue d'ensemble

Ce script crée **20 profils utilisateurs réalistes** avec des loisirs cohérents pour générer un réseau social littéraire dynamique avec des connexions naturelles.

---

## 🎭 Profils Créés

### **Auteurs & Créateurs (6 utilisateurs)**

| ID | Profil | Loisirs principaux | Connexions potentielles |
|----|--------|-------------------|------------------------|
| 1 | Auteur de romans | Écriture, Littérature classique | 2, 11, 12, 15 |
| 6 | Auteur auto-édité | Auto-édition, Marketing digital, DIY | 2, 5, 10, 13 |
| 11 | Poète et écrivain | Poésie, Ateliers d'écriture | 1, 7, 16 |
| 13 | Scénariste | Scénarios, Booktrailers | 6, 10, 17 |
| 14 | Fan de fanfiction | Fanfiction, SF/Fantasy | 3, 9, 19 |
| 19 | Créateur manga | Illustration, Fanart | 8, 14 |

### **Professionnels du Livre (5 utilisateurs)**

| ID | Profil | Loisirs principaux | Connexions potentielles |
|----|--------|-------------------|------------------------|
| 2 | Éditeur | Édition, Correction | 1, 6, 8, 18 |
| 4 | Traducteur | Traduction, Multilinguisme | 15, 17, 20 |
| 7 | Bibliothécaire | Organisation, Collection | 15, 16, 18 |
| 8 | Illustrateur | Couvertures, Design | 2, 9, 19 |
| 10 | Responsable comm. | Marketing, Relations presse | 5, 6, 16 |

### **Lecteurs & Critiques (5 utilisateurs)**

| ID | Profil | Loisirs principaux | Connexions potentielles |
|----|--------|-------------------|------------------------|
| 3 | Lecteur SF/Fantasy | SF, Clubs de lecture | 9, 12, 14, 19 |
| 5 | Blogueur littéraire | Blogging, BookTube | 10, 17 |
| 12 | Étudiant en lettres | Analyse, Classiques | 1, 3, 15 |
| 17 | Podcaster audio | Livres audio, Critiques | 4, 13 |
| 18 | Collectionneur | Premières éditions, Salons | 1, 7, 15 |

### **Spécialistes (4 utilisateurs)**

| ID | Profil | Loisirs principaux | Connexions potentielles |
|----|--------|-------------------|------------------------|
| 9 | Développeur tech | Apps, IA, Réalité augmentée | 3, 14 |
| 15 | Chercheur littéraire | Analyse, Collection ancienne | 1, 4, 7, 12, 18 |
| 16 | Organisateur événements | Festivals, Rencontres auteurs | 7, 10, 11, 18 |
| 20 | Professeur de langues | Apprentissage langues | 4, 15 |

---

## 🔗 Connexions Automatiques Générées

### **Top 10 des connexions les plus fortes**

| Utilisateurs | Catégories communes | Catégories partagées |
|--------------|---------------------|---------------------|
| 1 ↔ 12 | 2 | Lecture & Littérature, Bibliophilie |
| 1 ↔ 15 | 2 | Lecture & Littérature, Bibliophilie |
| 3 ↔ 14 | 2 | Lecture (SF/Fantasy), Numérique |
| 4 ↔ 20 | 2 | Traduction & Langues, Lecture |
| 7 ↔ 15 | 2 | Bibliophilie, Lecture |
| 8 ↔ 19 | 2 | Arts & Illustration |
| 10 ↔ 16 | 2 | Promotion & Marketing, Événements |
| 3 ↔ 9 | 2 | Lecture (SF), Numérique |
| 5 ↔ 17 | 2 | Critique & Analyse, Lecture |
| 6 ↔ 10 | 2 | Promotion & Marketing |

### **Statistiques des connexions**

- **Total utilisateurs** : 20
- **Total loisirs** : ~78
- **Moyenne loisirs/utilisateur** : 3.9
- **Connexions potentielles** : ~45 paires
- **Utilisateur le plus connecté** : User 15 (Chercheur) avec 8 connexions

---

## 📊 Répartition par Catégorie

| Catégorie | Utilisateurs | Popularité |
|-----------|--------------|-----------|
| 📖 Lecture & Littérature | 15 | ⭐⭐⭐⭐⭐ |
| ✍️ Écriture & Création | 8 | ⭐⭐⭐⭐ |
| 💬 Critique & Analyse | 7 | ⭐⭐⭐⭐ |
| 📚 Bibliophilie & Collection | 6 | ⭐⭐⭐ |
| 🎭 Événements Littéraires | 6 | ⭐⭐⭐ |
| 🎨 Arts & Illustration | 5 | ⭐⭐⭐ |
| 📢 Promotion & Marketing | 5 | ⭐⭐⭐ |
| 💻 Numérique & Innovation | 5 | ⭐⭐⭐ |
| 🌍 Traduction & Langues | 4 | ⭐⭐ |
| 📝 Édition & Publication | 3 | ⭐⭐ |

---

## 🚀 Utilisation

### **Étape 1 : Exécuter le script**

```bash
mysql -u root -p livreconnect < scripts/populate_user_hobbies.sql
```

### **Étape 2 : Vérifier les données**

Le script affiche automatiquement :
- Liste des loisirs par utilisateur
- Top 20 connexions potentielles
- Catégories les plus populaires
- Statistiques générales

### **Étape 3 : Tester sur le site**

1. Connectez-vous avec différents comptes utilisateurs
2. Allez sur `informations_personnelles.php` → Onglet **Loisirs**
3. Vous verrez la section **"👥 Personnes avec loisirs communs"**
4. Cliquez sur **"Voir tous les utilisateurs"** pour aller sur `network.php`

---

## 🎯 Cas d'Usage Réalistes

### **1. Réseau d'Auteurs**
- Users 1, 6, 11, 13, 14 partagent **Écriture & Création**
- Peuvent former un groupe d'entraide
- Échanges sur techniques d'écriture

### **2. Club de Lecture SF/Fantasy**
- Users 3, 9, 14, 19 aiment **SF/Fantasy**
- Peuvent organiser des discussions thématiques
- Recommandations de livres

### **3. Réseau Professionnel Édition**
- Users 2, 6, 8 travaillent dans **Édition**
- Collaborations possibles auteur/éditeur/illustrateur
- Projets de publication

### **4. Communauté Multilingue**
- Users 4, 15, 17, 20 s'intéressent aux **Langues**
- Traductions collaboratives
- Discussions sur littérature internationale

### **5. Événements & Marketing**
- Users 5, 10, 16 organisent **Événements**
- Promotion croisée
- Organisation de salons virtuels

---

## 🔍 Requêtes Utiles

### **Trouver les amis potentiels pour User 6**
```sql
SELECT DISTINCT u.user_ID, u.user_name, u.user_lastname,
       COUNT(DISTINCT uh2.hobby_category_id) as common_hobbies
FROM t_users u
INNER JOIN t_user_hobbies uh2 ON uh2.hobby_user_id = u.user_ID
INNER JOIN t_user_hobbies uh1 ON uh1.hobby_category_id = uh2.hobby_category_id 
                               AND uh1.hobby_user_id = 6
WHERE u.user_ID != 6
GROUP BY u.user_ID
ORDER BY common_hobbies DESC;
```

### **Catégories les plus connectées**
```sql
SELECT c.category_name, COUNT(DISTINCT hobby_user_id) as users
FROM t_user_hobbies h
JOIN t_hobby_categories c ON h.hobby_category_id = c.category_id
GROUP BY c.category_name
ORDER BY users DESC;
```

### **Utilisateurs isolés (peu de connexions)**
```sql
SELECT hobby_user_id, COUNT(*) as total_hobbies
FROM t_user_hobbies
GROUP BY hobby_user_id
HAVING total_hobbies < 3;
```

---

## 📈 Évolution Possible

### **Phase 2 - Ajouter plus d'utilisateurs**
- Dupliquer le pattern pour users 21-50
- Créer des micro-communautés thématiques
- Ajouter des "influenceurs" avec beaucoup de connexions

### **Phase 3 - Gamification**
- Badges basés sur catégories
- "Expert" si 5+ loisirs dans même catégorie
- "Connecteur" si connexions avec 10+ personnes

### **Phase 4 - Recommandations IA**
- Suggérer des loisirs basés sur profil
- Recommander des utilisateurs similaires
- Proposer des événements ciblés

---

## ✅ Avantages de cette Structure

| Avantage | Description |
|----------|-------------|
| 🎯 **Réalisme** | Profils cohérents avec rôles BookConnect |
| 🔗 **Connexions naturelles** | Utilisateurs partagent vraiment des intérêts |
| 📊 **Équilibré** | Toutes les catégories représentées |
| 🚀 **Scalable** | Facile d'ajouter plus d'utilisateurs |
| 🎮 **Gamification ready** | Base pour badges et achievements |
| 🤝 **Social** | Favorise les interactions authentiques |

---

## 🎨 Visualisation du Réseau

```
        [User 15]──────┐
         /  |  \       │
        /   |   \      │
    [1] [7] [12] [18] [4]
     │              │   │
     └──[11]    [20]──┘
     
    [3]──[9]──[14]──[19]──[8]
     │              │      
     └─────[5]──[17]──┘
     
    [6]──[10]──[16]
     │          
    [2]──[8]
```

---

## 📞 Support

Pour ajouter vos propres utilisateurs, suivez ce pattern :
```sql
INSERT INTO t_user_hobbies (hobby_user_id, hobby_category_id, hobby_title) VALUES
(VOTRE_USER_ID, ID_CATEGORIE, 'Nom du loisir'),
(VOTRE_USER_ID, ID_CATEGORIE, 'Autre loisir');
```

---

**Script créé pour BookConnect - Réseau Social Littéraire**  
**Version :** 1.0  
**Date :** 2025-10-11  
**Utilisateurs :** 20 profils réalistes  
**Connexions :** ~45 paires
