# Guide d'utilisation - Page Network

## Vue d'ensemble

La page `network.php` est le centre de gestion des relations sociales de BookConnect. Elle permet aux utilisateurs de :
- Visualiser leurs connexions existantes
- Gérer les demandes de connexion (reçues et envoyées)
- Suivre leurs abonnés et abonnements
- Effectuer des actions sur les relations

## Structure de la page

### 1. En-tête avec statistiques
- **Connexions** : Nombre de relations acceptées
- **Envoyées** : Demandes en attente envoyées
- **Reçues** : Demandes en attente reçues
- **Abonnés** : Personnes qui vous suivent
- **Abonnements** : Personnes que vous suivez

### 2. Navigation par onglets
La page est organisée en 5 onglets principaux :

#### Onglet "Connexions"
- Liste des relations acceptées
- Actions disponibles :
  - Voir le profil
  - Supprimer la connexion

#### Onglet "Demandes reçues"
- Demandes de connexion en attente
- Actions disponibles :
  - Voir le profil
  - Accepter la demande
  - Refuser la demande

#### Onglet "Demandes envoyées"
- Demandes envoyées en attente de réponse
- Actions disponibles :
  - Voir le profil
  - Annuler la demande

#### Onglet "Abonnés"
- Personnes qui vous suivent
- Actions disponibles :
  - Voir le profil
  - Suivre en retour

#### Onglet "Abonnements"
- Personnes que vous suivez
- Actions disponibles :
  - Voir le profil
  - Ne plus suivre

## Fonctionnalités techniques

### Base de données
La page utilise plusieurs tables :
- `t_connections` : Gestion des connexions bidirectionnelles
- `t_followers` : Gestion des abonnements unidirectionnels
- `t_users` : Informations des utilisateurs
- `t_user_roles` : Rôles des utilisateurs

### Actions POST supportées
- `accept_connection` : Accepter une demande
- `reject_connection` : Refuser une demande
- `cancel_connection` : Annuler une demande envoyée
- `remove_connection` : Supprimer une connexion
- `follow_user` : Suivre un utilisateur
- `unfollow_user` : Ne plus suivre un utilisateur

### Sécurité
- Protection par session utilisateur
- Validation des IDs utilisateur
- Protection CSRF via tokens de session
- Confirmations pour les actions destructives

## Design et UX

### Responsive
- **Desktop** : Grille 3 colonnes pour les cartes utilisateur
- **Tablette** : Grille 2 colonnes adaptative
- **Mobile** : Grille 1 colonne avec navigation optimisée

### Animations
- Entrée progressive des cartes utilisateur
- Transitions fluides entre onglets
- États de chargement pour les boutons
- Statistiques animées

### États visuels
- **Connexions** : Cartes standards avec bordure bleue au survol
- **En attente** : Cartes avec bordure orange et badge "En attente"
- **Envoyées** : Cartes avec badge "Envoyée"
- **États vides** : Messages d'encouragement avec icônes

## Intégration

### Liens entrants
- Depuis `profile.php` via le bouton "Voir mon réseau"
- Depuis la synthèse des relations
- Depuis les suggestions de relations

### Liens sortants
- Vers `profile.php?id=X` pour voir les profils
- Vers `network_visualization.php` pour la visualisation
- Retour vers `profile.php`

### Messages flash
- Succès : Actions réussies (acceptation, suppression, etc.)
- Erreur : Problèmes techniques ou validation
- Info : Informations contextuelles

## Maintenance

### Logs
Les erreurs sont enregistrées via `error_log()` avec le préfixe "Erreur dans network.php"

### Performance
- Requêtes optimisées avec JOINs
- Limitation des résultats si nécessaire
- Index sur les colonnes de recherche

### Évolutions possibles
- Pagination pour les grandes listes
- Filtres par rôle ou date
- Recherche en temps réel
- Notifications en temps réel
- Export des contacts
