# ✅ Checklist de Déploiement NationsGlory 1.6.4

## 📋 Avant de pousser sur Git

- [ ] `.gitignore` est présent et configuré
- [ ] `.env.example` est créé (sans données sensibles)
- [ ] `mcpc.jar` n'est PAS dans Git (vérifié avec `git status`)
- [ ] `world/` n'est PAS dans Git
- [ ] Les logs sont supprimés
- [ ] Documentation de déploiement existe (`DEPLOY_README.md`)

## 🚀 Fichiers versionnés (24 MB total)

### Fichiers de configuration Docker
- `docker-compose.yml` - Configuration du conteneur
- `.gitignore` - Fichiers à ignorer
- `.env.example` - Template de configuration

### Mods Forge (20 MB)
- `mods/aquatweaksng.jar`
- `mods/banners-1.0.jar`
- `mods/chisel-1.0.jar`
- `mods/customnpc-1.0.jar`
- `mods/flansmods-4.1.1.jar`
- ... et 15 autres mods

### Plugins Bukkit (3.3 MB)
- `plugins/Essentials.jar`
- `plugins/EssentialsChat.jar`
- `plugins/EssentialsAntiBuild.jar`
- `plugins/EssentialsProtect.jar`
- `plugins/EssentialsSpawn.jar`
- `plugins/worldedit-5.6.jar`

### Configuration (488 KB)
- `config/` - Tous les fichiers de configuration des mods/plugins

### Données statiques
- `Flan/` - Packs de contenu Flans Mod
- `customnpcs/` - Configuration NPC

## 🔗 Après git clone

### Fichiers à télécharger manuellement

1. **mcpc.jar** (29 MB)
   ```bash
   # Télécharger depuis SourceForge
   wget https://sourceforge.net/projects/mcportcentral/files/MCPC%2B/1.6.4/mcpc-plus-1.6.4-R2.1-forge965-B251.jar
   mv mcpc-plus-1.6.4-R2.1-forge965-B251.jar mcpc.jar
   ```

2. **Créer .env** (optionnel)
   ```bash
   cp .env.example .env
   ```

3. **Démarrer le serveur**
   ```bash
   docker-compose up -d
   ```

## 📊 Statistique du dépôt

```
Taille totale versionnée: ~24 MB
- Mods: 20 MB
- Plugins: 3.3 MB
- Config: 488 KB
- Autres: 212 KB

Fichiers ignorés (NON versionnés):
- mcpc.jar: 29 MB
- world/: Variable (100+ MB)
- logs/: Variable
- libraries/: Auto-téléchargées
```

## 🔄 Workflow de mise à jour

### Pour ajouter un mod
```bash
# 1. Copier le mod
cp nouveau-mod.jar mods/

# 2. Commiter
git add mods/nouveau-mod.jar
git commit -m "Add: nouveau-mod"
git push

# 3. Déployer sur serveur
git pull
docker-compose restart
```

### Pour modifier la configuration
```bash
# 1. Éditer la config
nano config/MonMod.cfg

# 2. Commiter
git add config/MonMod.cfg
git commit -m "Config: Ajuste les paramètres de MonMod"
git push

# 3. Déployer
git pull
docker-compose restart
```

## ⚠️ À NE JAMAIS versionner

- ❌ `world/` - Données du monde (trop gros, spécifiques)
- ❌ `mcpc.jar` - Fichier serveur (29 MB, disponible en download)
- ❌ `logs/` - Logs de serveur
- ❌ `crash-reports/` - Rapports de crash
- ❌ `.env` - Configuration locale (contient RCON password)
- ❌ `ops.txt`, `banned-*.txt` - Données utilisateur
- ❌ `server.properties` - Généré automatiquement
- ❌ `libraries/` - Auto-téléchargées par Docker

## 🎯 Commandes rapides

```bash
# Vérifier ce qui sera commité
git status

# Voir les fichiers ignorés
git status --ignored

# Taille du dépôt
du -sh .git

# Lister les fichiers trackés
git ls-files

# Vérifier qu'un fichier est bien ignoré
git check-ignore -v <fichier>
```

## 🆘 En cas de problème

### J'ai accidentellement commité mcpc.jar
```bash
git rm --cached mcpc.jar
git commit -m "Remove mcpc.jar from git"
git push --force
```

### J'ai commité world/
```bash
git rm -r --cached world/
git commit -m "Remove world data"
git push --force
```

### Le dépôt est trop gros
```bash
# Vérifier la taille
git count-objects -vH

# Nettoyer l'historique (attention, destructif!)
git filter-branch --tree-filter 'rm -rf world/' HEAD
git push --force
```

---

**Date de création:** 3 février 2026  
**Version:** 1.0 - NationsGlory 1.6.4  
**Taille cible du dépôt:** < 30 MB
