Kuby/EXPLICATION_NON_DEV.md

319 lines
14 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 📜 **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)*
- Cest un **fichier partagé** (comme un tableau de bord) qui contient **létat de santé de Kuby** :
- Est-ce quil 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). Cest **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 nest reçu pendant 10 minutes**, cest quil 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 dAlice 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 quils 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 quils ne doivent PAS faire** :
- **Modifier le code** (risque de casser le système).
- **Éteindre leur PC sans prévenir** (si cest un nœud critique).
- **Partager leur token Discord** (cest 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 dun numéro en danger).
- **Exemple de message quils reçoivent** :
```
⚠️ **Kuby a rencontré un problème, mais ne tinquiète pas !**
Un nœud de secours a pris le relais.
✅ Le service continue de fonctionner normalement.
💬 Besoin daide ? 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 linstallation (très important !).
- Cliquer sur **Install Now**.
2. **Télécharger les fichiers** que je tenverrai (un dossier zip).
3. **Ouvrir linvite 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
```
*(Cest 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 lenverrai 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 linvite de commandes** dans le dossier où sont les fichiers.
2. **Lancer le programme de surveillance** :
```bash
python monitor.py
```
*(Cest 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 cest 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 dAlice) **détecte le problème**.
2. **Action** : Le PC dAlice **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 quun 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 dAlice) 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**.
- **Cest pour ça quil 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 quun onglet Chrome ouvert** ou quun 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 morganiser).
- **Plus il y a de nœuds**, moins cest grave si un PC est éteint.
- Si tu es **souvent absent**, je peux te retirer de la liste et trouver quelquun dautre.
---
### **❓ Que faire si mon Internet tombe en panne ?**
➡️ **Rien**. Quand ton Internet reviendra, le programme **reprendra automatiquement** son travail.
---
### **❓ Est-ce que cest 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** : cest 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 derreur 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 nest pas obligatoire.)
- Un **PC classique** suffit largement.
- Si tu as un **Raspberry Pi**, cest encore mieux (il consomme moins délectricité).
---
---
## 🎯 **Pourquoi cest 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 quun 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, cest la Machine. Ton VPS, cest 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 nas rien eu à faire.*
> **Cest aussi simple que ça.** »
---
## 🔥 **Métaphore Finale**
| **Dans *Person of Interest*** | **Dans notre système** |
|--------------------------------|-----------------------|
| La Machine **ne dort jamais** | Kuby **ne sarrê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 daider à maintenir Kuby en vie !** 🚀
*Guide simplifié - Version 1.0 - Inspirée de *Person of Interest**
*Pour toute question, contacte @OmegaKube.*