# 📜 **Guide Simplifié : Le Système de Secours de Kuby**
*(Inspiré de la série **Person of Interest** – La Machine)*

---

## 🎯 **Pourquoi ce système existe ?**

Imagine que **Kuby est comme *La Machine*** dans *Person of Interest* :
- **La Machine** surveille tout le monde et **protège les gens en danger** (comme Kuby qui protège tes serveurs Discord).
- Si un **serveur de la Machine est attaqué ou tombe en panne**, un autre **prend immédiatement le relais** pour que **personne ne soit en danger**.
- Dans notre cas, **Kuby est la Machine**, et **tes serveurs Discord sont les personnes protégées**.

**Le problème** : Si le serveur principal de Kuby tombe en panne, tous les serveurs affiliés à Omega Kube **ne sont plus protégés**.
**La solution** : On crée un **réseau de "nœuds de secours"** (comme les serveurs cachés de la Machine) qui **prennent le relais automatiquement** si le principal est hors ligne.

---
---

## 🧠 **Comment ça marche ? (Version ultra-simple)**

### 1️⃣ **Le Cœur de Kuby** *(comme le cœur de la Machine)*
- C’est un **fichier partagé** (comme un tableau de bord) qui contient **l’état de santé de Kuby** :
  - Est-ce qu’il est vivant ?
  - Quel nœud est actif ?
  - Y a-t-il une maintenance en cours ?
- **Où est-il ?** Sur **GitHub** (un service gratuit et sécurisé, comme un cloud).

---

### 2️⃣ **Les Nœuds** *(comme les serveurs de la Machine)*
- **Nœud Principal** = Le serveur actuel de Kuby (ton VPS). C’est **Harold Finch** (le cerveau principal).
- **Nœuds de Secours** = Les **PC de 2-3 membres de confiance** (comme **John Reese, Root, ou Bear** dans POI).
  - Ces PC **surveillent Kuby** en arrière-plan.
  - Si le nœud principal tombe, **un nœud de secours prend le relais automatiquement**.

---

### 3️⃣ **Le Signal de Vie (Heartbeat)** *(comme les signaux de la Machine)*
- Toutes les **5 minutes**, le nœud actif (celui qui fait tourner Kuby) envoie un **signal** :
  → *« Je suis toujours vivant et en bonne santé ! »*
- Si **aucun signal n’est reçu pendant 10 minutes**, c’est qu’il y a un **problème** (comme quand la Machine est attaquée dans POI).

---

### 4️⃣ **La Bascule Automatique (Failover)** *(comme quand la Machine bascule sur un autre serveur)*
- Quand un nœud de secours **ne reçoit plus de signal**, il se dit :
  → *« La Machine principale est en danger, **je prends le relais !** »*
- Il **active sa copie de Kuby** et **prévient tout le monde** (comme quand Reese active un serveur de secours dans POI).

---

### 5️⃣ **Le Retour à la Normale** *(comme quand la Machine se répare)*
- Quand le **nœud principal revient en ligne**, il **reprend son rôle** (comme quand Finch répare la Machine).
- Le nœud de secours **s’éteint automatiquement** (plus besoin de lui).

---
---

## 🎭 **Exemple Concret avec *Person of Interest***

| **Dans *Person of Interest*** | **Dans notre système** | **Ce qui se passe** |
|--------------------------------|-----------------------|---------------------|
| **La Machine** | **Kuby** | Le bot qui protège tes serveurs Discord. |
| **Serveurs de la Machine** | **Nœuds (ton VPS + PCs des membres)** | Plusieurs endroits où Kuby peut tourner. |
| **Harold Finch** | **Toi (Omega Kube)** | Tu gères le système et choisis les nœuds de confiance. |
| **John Reese** | **Un membre de confiance (ex: Alice)** | Elle héberge un nœud de secours sur son PC. |
| **Signal de la Machine** | **Heartbeat (toutes les 5 min)** | Preuve que Kuby est toujours vivant. |
| **Attaque sur un serveur** | **Crash du VPS** | Le nœud d’Alice prend le relais automatiquement. |
| **La Machine se répare** | **Ton VPS redémarre** | Le nœud principal reprend le contrôle. |
| **Les "Numéros" (personnes protégées)** | **Propriétaires de serveurs affiliés** | Ils reçoivent un message clair en cas de problème. |

---
---

## 👥 **Rôle de Chaque Personne**

### 👑 **Toi (Omega Kube) = Harold Finch**
*(Le génie qui a créé la Machine et la gère.)*
- **Tu choisis les membres de confiance** (comme Finch choisit ses alliés).
- **Tu créés le fichier partagé** (le cœur de Kuby).
- **Tu tests le système** avant de le lancer.
- **Tu es le seul à avoir accès à tout** (comme Finch avec la Machine).

---

### 💻 **Membres Hébergeurs = John Reese, Root, ou Bear**
*(Les alliés de Finch qui aident à maintenir la Machine.)*
- **Ils installent un petit programme** sur leur PC (comme Reese qui installe des terminaux pour la Machine).
- **Leur PC surveille Kuby** en arrière-plan (comme un antivirus).
- **Si Kuby tombe**, leur PC **lance automatiquement une copie de secours** (sans rien faire manuellement).
- **Quand le serveur principal revient**, leur PC **arrête la copie de secours** (tout seul).

✅ **Ce qu’ils doivent faire** :
1. **Installer Python** (1 seule fois, comme installer un logiciel).
2. **Lancer un programme** (`monitor.py`) en arrière-plan.
3. **Ne pas éteindre leur PC trop souvent** (ou prévenir si besoin).
4. **Garder une connexion Internet stable** (comme pour regarder un film en streaming).

❌ **Ce qu’ils ne doivent PAS faire** :
- **Modifier le code** (risque de casser le système).
- **Éteindre leur PC sans prévenir** (si c’est un nœud critique).
- **Partager leur token Discord** (c’est comme partager un mot de passe).

---

### 📢 **Propriétaires de Serveurs Affiliés = Les "Numéros"**
*(Les personnes protégées par la Machine.)*
- **Ils reçoivent un message clair** en cas de problème (comme quand la Machine prévient Reese d’un numéro en danger).
- **Exemple de message qu’ils reçoivent** :
  ```
  ⚠️ **Kuby a rencontré un problème, mais ne t’inquiète pas !**
  Un nœud de secours a pris le relais.
  ✅ Le service continue de fonctionner normalement.
  💬 Besoin d’aide ? Contacte @OmegaKube.
  ```

---
---

## 📋 **Ce que les Hébergeurs Doivent Faire (Étape par Étape)**

### **1️⃣ Installation (1 seule fois)**
1. **Télécharger Python** (comme un logiciel classique) :
   - Aller sur [python.org/downloads](https://www.python.org/downloads/).
   - **Cocher "Add Python to PATH"** pendant l’installation (très important !).
   - Cliquer sur **Install Now**.

2. **Télécharger les fichiers** que je t’enverrai (un dossier zip).

3. **Ouvrir l’invite de commandes** (ou terminal) :
   - **Windows** : `Win + R` → taper `cmd` → Entrée.
   - **Mac/Linux** : Ouvrir **Terminal**.

4. **Installer les outils nécessaires** (1 seule fois) :
   ```bash
   pip install -r requirements.txt
   ```
   *(C’est comme installer les pièces manquantes pour faire fonctionner Kuby.)*

---

### **2️⃣ Configuration (1 seule fois)**
1. **Ouvrir le fichier `.env`** (avec le Bloc-notes ou VS Code).
2. **Remplir avec tes informations** (je te l’enverrai déjà rempli, mais vérifie) :
   ```
   NODE_ID=node_secours_alice
   NODE_NAME=Kuby (PC de Alice)
   ```
3. **Enregistrer le fichier**.

---

### **3️⃣ Lancement (À faire 1 fois, puis ça tourne tout seul)**
1. **Ouvrir l’invite de commandes** dans le dossier où sont les fichiers.
2. **Lancer le programme de surveillance** :
   ```bash
   python monitor.py
   ```
   *(C’est comme lancer un antivirus : **ça tourne en arrière-plan sans que tu aies à y penser**.)*

3. **Laisser le programme ouvert** (ou le lancer en arrière-plan).

---

### **4️⃣ Utilisation au Quotidien**
- **Rien à faire !** Le programme **travaille tout seul**.
- **Ne pas fermer la fenêtre** du terminal (ou utiliser un outil pour le lancer en arrière-plan).
- **Si tu éteins ton PC** :
  - **Préviens-moi** avant (pour que je puisse trouver un remplaçant si besoin).
  - **Plus il y a de nœuds**, moins c’est grave si un PC est éteint.

---
---

## ⚠️ **Que se passe-t-il en cas de panne ?**

### **🔴 Scénario 1 : Ton VPS (nœud principal) crash**
*(Comme quand un serveur de la Machine est attaqué dans POI.)*
1. **Détection** : Après **10 minutes sans signal**, un nœud de secours (ex: PC d’Alice) **détecte le problème**.
2. **Action** : Le PC d’Alice **lance automatiquement Kuby** (comme Reese active un serveur de secours).
3. **Notification** :
   - Un message est envoyé dans **le serveur Discord de Omega Kube** (canal `#🚨-urgent-kuby`).
   - Un **message privé** est envoyé à tous les propriétaires de serveurs affiliés.
4. **Résultat** : **Personne ne remarque la panne** (tout continue de fonctionner).

---

### **🟢 Scénario 2 : Ton VPS revient en ligne**
*(Comme quand Finch répare la Machine.)*
1. **Détection** : Le nœud principal **voit qu’un nœud de secours a pris le relais**.
2. **Attente** : Il **attend 5 minutes** (pour éviter les allers-retours).
3. **Reprise** : Il **reprend le contrôle** et **arrête le nœud de secours**.
4. **Notification** :
   ```
   ✅ **Kuby est de retour sur le serveur principal !**
   🎉 Merci au nœud de secours (PC d’Alice) pour son aide.
   ```

---

### **🟡 Scénario 3 : Plusieurs PC de secours sont éteints**
*(Comme quand plusieurs serveurs de la Machine sont hors ligne.)*
- **Solution** : Avoir **au moins 2-3 nœuds de secours** (comme la Machine a plusieurs serveurs).
- Si **tous les nœuds de secours sont éteints**, je recevrai une alerte et **je devrai redémarrer manuellement le VPS**.
- **C’est pour ça qu’il en faut plusieurs** : plus il y a de nœuds, plus le système est **résistant**.

---
---

## 💡 **Questions Fréquentes (FAQ)**

### **❓ Est-ce que ça va ralentir mon PC ?**
➡️ **Non !**
- Kuby est un **bot Discord léger**.
- Il utilise **moins de ressources qu’un onglet Chrome ouvert** ou qu’un jeu mobile.
- Tu peux **continuer à utiliser ton PC normalement** (regarder des vidéos, jouer, etc.).

---

### **❓ Est-ce que je dois laisser mon PC allumé 24/7 ?**
➡️ **Idéalement oui**, mais :
- Si tu dois **éteindre ton PC** (pour la nuit, par exemple) :
  - **Préviens-moi** avant (pour que je puisse m’organiser).
  - **Plus il y a de nœuds**, moins c’est grave si un PC est éteint.
- Si tu es **souvent absent**, je peux te retirer de la liste et trouver quelqu’un d’autre.

---

### **❓ Que faire si mon Internet tombe en panne ?**
➡️ **Rien**. Quand ton Internet reviendra, le programme **reprendra automatiquement** son travail.

---

### **❓ Est-ce que c’est sécurisé ?**
➡️ **Oui, à 100% !**
- Chaque nœud a **son propre token Discord** (comme une clé unique).
- Les données sont **stockées sur GitHub** (un service **sécurisé et chiffré**).
- **Personne ne peut prendre le contrôle de ton PC** via ce programme.
- **Aucun accès** à tes fichiers personnels.

---

### **❓ Je veux arrêter d’être un nœud de secours, comment faire ?**
➡️ **Contacte-moi (@OmegaKube)** et je te retirerai de la liste.
- **Aucun risque** : tu peux arrêter à tout moment.
- **Aucune obligation** : c’est du bénévolat, merci pour ton aide !

---

### **❓ Que faire si je vois une erreur dans le terminal ?**
➡️ **Fais un capture d’écran** et envoie-la à @OmegaKube.
- Exemple d’erreur normale (pas grave) :
  ```
  [ERREUR] Impossible de se connecter à GitHub (timeout). Réessai dans 5 min...
  ```
  → **Solution** : Attendre que ton Internet revienne.

---

### **❓ Est-ce que je peux héberger Kuby sur mon Raspberry Pi ?**
➡️ **Oui !** (Mais ce n’est pas obligatoire.)
- Un **PC classique** suffit largement.
- Si tu as un **Raspberry Pi**, c’est encore mieux (il consomme moins d’électricité).

---
---

## 🎯 **Pourquoi c’est important ?**

### **Pour toi (hébergeur)** :
✅ **Tu aides la communauté Omega Kube** sans effort.
✅ **Tu apprends** comment fonctionnent les systèmes décentralisés (comme dans POI !).
✅ **Tu deviens un maillon essentiel** du projet.
✅ **Aucun coût** pour toi (juste un peu d’électricité).

### **Pour les propriétaires de serveurs** :
✅ **Zéro interruption** de service, même en cas de panne.
✅ **Transparence totale** : ils sont toujours prévenus.
✅ **Fiabilité accrue** : le système est **plus résistant qu’un seul serveur**.

---
---

## 📞 **Qui contacter en cas de problème ?**

| **Problème** | **Contact** | **Temps de réponse** |
|--------------|-------------|----------------------|
| Question technique | @OmegaKube (DM Discord) | < 24h |
| Problème avec ton nœud | @OmegaKube (DM Discord) | < 1h |
| **Urgent** (tous les nœuds down) | @OmegaKube (DM + email) | **Immédiat** |

---
---

## 🎬 **Résumé en 30 Secondes (Version *Person of Interest*)**

> *« Imagine que Kuby, c’est la Machine. Ton VPS, c’est son serveur principal. Mais comme dans *Person of Interest*, la Machine a des serveurs de secours cachés un peu partout.*
> *Toi, tu es comme Reese ou Finch : tu héberges un de ces serveurs sur ton PC.*
> *Si jamais la Machine principale tombe (ton VPS crash), ton PC devient le nouveau cerveau, et tout continue de fonctionner comme avant.*
> *Quand le serveur principal revient, il reprend sa place, et toi, tu n’as rien eu à faire.*
> **C’est aussi simple que ça.** »

---

## 🔥 **Métaphore Finale**

| **Dans *Person of Interest*** | **Dans notre système** |
|--------------------------------|-----------------------|
| La Machine **ne dort jamais** | Kuby **ne s’arrête jamais** (grâce aux nœuds de secours). |
| Finch **a toujours un plan B** | Toi, tu as **toujours un nœud de secours**. |
| Reese **protège les numéros** | Les nœuds **protègent les serveurs affiliés**. |
| La Machine **se répare toute seule** | Le système **bascule automatiquement**. |

---

**Merci d’aider à maintenir Kuby en vie !** 🚀

*Guide simplifié - Version 1.0 - Inspirée de *Person of Interest**
*Pour toute question, contacte @OmegaKube.*
