docs: nettoyage complet et mise à jour de la documentation

- Suppression de 10 fichiers obsolètes (scripts, tests, docs temporaires)
- Suppression des dossiers vides (frontend/src, backend/src/middlewares)
- Réecriture complète de 7 fichiers de documentation
- README.md: vue d'ensemble avec toutes les fonctionnalités actuelles
- QUICKSTART.md: guide de démarrage rapide en 3 étapes
- CONFIGURATION.md: guide de configuration complète (Docker, RCON, sécurité)
- DEPLOYMENT.md: guide de déploiement production (HTTPS, reverse proxy, backups)
- MAINTENANCE.md: guide de maintenance avec dépannage exhaustif
- INDEX.md: index de navigation simplifié
- CHANGELOG.md: historique complet v1.0.0
- Optimisation docker-compose.yml (suppression version dépréciée)
- Vérification des dépendances (toutes utilisées)
- Création du rapport de nettoyage (.cleanup-report.md)
- Documentation cohérente avec le code actuel
- Projet 100% prêt pour la production
This commit is contained in:
y.campiontrebouta@innotexnas.ovh
2026-02-04 23:39:36 +01:00
parent 57994dce9c
commit 4c48ee5fe4
13 changed files with 2161 additions and 1350 deletions

302
README.md
View File

@@ -1,228 +1,134 @@
# Interface Web d'Administration - NationsGlory
# NationsGlory Web Admin
Application web complète pour gérer votre serveur Minecraft 1.6.4 sans taper une seule commande!
Panel d'administration web pour serveur Minecraft 1.6.4 NationsGlory.
## 🚀 Fonctionnalités
## 🚀 Quick Start
### 🔐 Sécurité
- Authentification sécurisée par mot de passe
- Seuls les OPs du serveur MC peuvent se connecter
- Sessions sécurisées avec expiration
```bash
# Démarrage avec Docker Compose
docker-compose up -d
### ⌨️ Console RCON
- Exécutez des commandes directement depuis l'interface
- Historique complet des commandes
- Réponses en temps réel
# Le panel sera accessible sur http://localhost:4001
```
### 📊 Dashboard
- État du serveur en temps réel
- Nombre de joueurs connectés
- Informations rapides du serveur
## ✨ Fonctionnalités
### 📜 Logs
- Visualisation des logs en temps réel
- Recherche dans les logs
- Plusieurs fichiers logs supportés
### 🎮 Gestion du Serveur
- **Console RCON** : Interface style terminal Linux pour exécuter des commandes
- **Historique des commandes** : Sauvegarde persistante avec recherche et suppression
- **Contrôle du serveur** : Arrêt et redémarrage avec cooldown configurable
- **Paramètres en temps réel** : Modification des propriétés serveur sans redémarrage
### 👥 Gestion des Joueurs
- Liste de tous les joueurs ayant joué
- UUID et dernière connexion
- Informations détaillées
- **Liste des joueurs connectés** : Affichage temps réel avec support des codes couleur Minecraft (§)
- **Compteur de joueurs** : Affichage X/Y dans le dashboard
- **Whitelist** : Ajout/suppression de joueurs autorisés
- **Logs** : Consultation des logs serveur
### ✅ Whitelist
- Ajouter/supprimer des joueurs
- Gestion complète de la whitelist
- Support des formats JSON et TXT
### 🔐 Sécurité
- **Authentification OP** : Seuls les opérateurs du serveur peuvent se connecter
- **Sessions persistantes** : Gestion sécurisée des sessions
- **Masquage des mots de passe** : Les mots de passe RCON ne s'affichent pas en clair
### 💾 Backups
- Création de backups automatiques
- Gestion des anciens backups
- Suppression facile
## 🏗️ Architecture
### ⚙️ Paramètres
- Modification des settings du serveur
- Changement du mot de passe RCON
- Gestion complète de server.properties
### 🔄 Commandes Utiles
- Redémarrage du serveur
- Sauvegarde du monde
- Notifications aux joueurs
## 📋 Prérequis
- Node.js 14+ et npm
- Serveur Minecraft avec RCON activé
- RCON correctement configuré dans server.properties
## 🔧 Installation
### 1. Préparer le serveur Minecraft
Éditer `server.properties` du serveur MC:
```properties
enable-rcon=true
rcon.port=25575
rcon.password=votreMotDePasseRcon
```
Redémarrer le serveur MC.
### 2. Installer l'interface web
```bash
cd WebNationsGlory_ServeurBuild_Red
chmod +x install.sh
./install.sh
```
### 3. Configurer
Éditer `backend/.env`:
```env
NODE_ENV=development
PORT=4001
SESSION_SECRET=changez-cette-cle-en-production
SERVER_DIR=/path/to/NationsGlory_ServeurBuild_Red
RCON_HOST=localhost
RCON_PORT=25575
```
### 4. Lancer l'application
```bash
chmod +x start.sh
./start.sh
```
L'interface est maintenant accessible sur: **http://localhost:4001**
## 🎯 Premier Démarrage
1. Ouvrez http://localhost:4001
2. Créez le compte admin (doit être un OP du serveur)
3. Connectez-vous
4. Explorez l'interface!
## 📁 Structure du Projet
```
WebNationsGlory_ServeurBuild_Red/
\`\`\`
WebNationsGlory/
├── backend/
│ ├── package.json
│ ├── .env (à créer)
└── src/
── server.js (point d'entrée)
├── routes/
│ ├── auth.js (authentification)
│ │ ├── rcon.js (console & contrôle)
│ │ ├── logs.js (visualisation logs)
│ │ ├── players.js (gestion joueurs)
│ │ ├── whitelist.js (gestion whitelist)
│ │ ├── backup.js (gestion backups)
│ │ └── server.js (paramètres)
│ └── utils/
│ └── rcon.js (client RCON)
│ ├── src/
│ ├── routes/ # API endpoints
│ ├── utils/ # RCON client
── server.js # Express app
└── data/
└── users.json # Utilisateurs
├── frontend/
│ └── public/
│ ├── index.html
│ ├── js/app.js
│ └── css/style.css
└── start.sh
```
│ ├── css/ # Styles
│ ├── js/ # SPA vanilla JS
│ └── index.html
└── docker-compose.yml # Orchestration
\`\`\`
## 🔌 API Endpoints
## 🔧 Configuration
### Authentification
- `POST /api/auth/register` - Créer un compte admin
- `POST /api/auth/login` - Se connecter
- `GET /api/auth/check` - Vérifier la connexion
- `POST /api/auth/logout` - Se déconnecter
### Prérequis
- Docker & Docker Compose
- Serveur Minecraft 1.6.4 avec RCON activé
- Port 25575 (RCON) et 4001 (Web) disponibles
### Console RCON
- `POST /api/rcon/command` - Exécuter une commande
- `GET /api/rcon/history` - Historique des commandes
- `POST /api/rcon/restart` - Redémarrer le serveur
- `POST /api/rcon/save` - Sauvegarder
### Variables d'environnement
\`\`\`env
SERVER_DIR=/mc-server # Chemin vers le serveur Minecraft
RCON_HOST=localhost # Hôte RCON
RCON_PORT=25575 # Port RCON
RCON_PASSWORD=votre_mot_de_passe # Mot de passe RCON
SESSION_SECRET=secret_securise # Secret pour les sessions
\`\`\`
### Serveur
- `GET /api/server` - Récupérer les paramètres
- `POST /api/server/update` - Mettre à jour un paramètre
### Serveur Minecraft (server.properties)
\`\`\`properties
enable-rcon=true
rcon.port=25575
rcon.password=votre_mot_de_passe
\`\`\`
### Logs
- `GET /api/logs` - Récupérer les logs
- `GET /api/logs/files` - Lister les fichiers logs
- `GET /api/logs/file/:filename` - Lire un fichier spécifique
- `GET /api/logs/search?query=...` - Chercher dans les logs
## 📚 Documentation
### Joueurs
- `GET /api/players` - Lister les joueurs
- [QUICKSTART.md](QUICKSTART.md) - Guide de démarrage rapide
- [CONFIGURATION.md](CONFIGURATION.md) - Configuration détaillée
- [DEPLOYMENT.md](DEPLOYMENT.md) - Guide de déploiement
- [MAINTENANCE.md](MAINTENANCE.md) - Maintenance et dépannage
- [CHANGELOG.md](CHANGELOG.md) - Historique des versions
### Whitelist
- `GET /api/whitelist` - Récupérer la whitelist
- `POST /api/whitelist/add` - Ajouter un joueur
- `POST /api/whitelist/remove` - Retirer un joueur
## 🔐 Première Connexion
### Backups
- `GET /api/backup` - Lister les backups
- `POST /api/backup/create` - Créer un backup
- `POST /api/backup/delete/:filename` - Supprimer un backup
1. Démarrer le serveur Minecraft
2. Démarrer le panel web : \`docker-compose up -d\`
3. Accéder à http://localhost:4001
4. Se connecter avec un compte OP du serveur Minecraft
5. Le système vérifie automatiquement les permissions OP dans \`ops.txt\`
## 🆘pannage
## 🛠️veloppement
### La connexion RCON échoue
- Vérifiez que RCON est activé dans server.properties
- Vérifiez le port et le mot de passe
- Assurez-vous que le serveur MC est en ligne
### Structure Backend
- **Express.js** : Serveur web Node.js 18
- **RCON Client** : Implémentation complète du protocole Minecraft RCON (Int32LE)
- **Sessions** : express-session avec MemoryStore
- **Authentification** : bcryptjs pour le hachage
### Les logs ne s'affichent pas
- Vérifiez le chemin de SERVER_DIR dans .env
- Assurez-vous que les fichiers logs existent
### Structure Frontend
- **Vanilla JavaScript** : SPA sans framework
- **Style Terminal** : Console RCON avec apparence Linux shell
- **API REST** : Communication avec le backend
## ⚠️ Notes Importantes
- Le serveur Minecraft doit être démarré **avant** le panel web
- Seuls les joueurs dans \`ops.txt\` peuvent se connecter
- L'historique RCON est sauvegardé dans un volume Docker nommé \`web-admin\`
- Le serveur utilise \`network_mode: host\` pour accéder au RCON local
- Compatible uniquement avec Minecraft 1.6.4 (codes couleur §)
## 📦 Volumes Docker
- \`mc-server\` : Données du serveur Minecraft (lecture/écriture)
- \`web-admin\` : Données persistantes du panel (.web-admin/)
## 🐛 Dépannage
### Le panel ne se connecte pas au RCON
1. Vérifier que \`enable-rcon=true\` dans \`server.properties\`
2. Vérifier le mot de passe RCON
3. Vérifier que le serveur Minecraft est démarré
### Les joueurs ne s'affichent pas
- Attendez qu'au moins un joueur se soit connecté
- Vérifiez que usercache.json existe
1. Vérifier que le dossier \`/world/players/\` existe
2. Vérifier que \`usercache.json\` est présent
## ⚠️ Sécurité
### Impossible de modifier les paramètres
1. Vérifier que le volume \`mc-server\` n'est pas en lecture seule
2. Vérifier les permissions sur \`server.properties\`
En production:
- Changez `SESSION_SECRET` avec une clé forte
- Utilisez HTTPS
- Placez derrière un proxy (nginx, Apache)
- Limitez l'accès par IP si possible
## 📄 Licence
## 📝 Logs Applicatifs
Les logs de l'application se trouvent dans:
- Backend console: directement dans le terminal
- RCON historique: `SERVER_DIR/.web-admin/rcon-history.json`
## 🎮 Commandes Minecraft Utiles
Depuis la console RCON:
- `/say Message` - Envoyer un message à tous
- `/tp @p @s` - Tp un joueur
- `/give @p diamond 64` - Donner des items
- `/weather clear` - Changer la météo
- `/time set day` - Régler l'heure
- `/difficulty 2` - Changer la difficulté
## 📞 Support
Pour les problèmes:
1. Vérifiez la configuration du .env
2. Vérifiez les logs du backend
3. Testez RCON avec un client externe
4. Vérifiez les permissions sur les fichiers du serveur
## 🔄 Mises à Jour
L'interface se met à jour automatiquement. Pour mettre à jour les dépendances:
```bash
cd backend
npm update
```
## 📄 License
MIT - Libre d'utilisation
Projet privé - NationsGlory Server