guides/README.md

157 lines
5.5 KiB
Markdown
Raw Permalink Normal View History

# 📚 Guides techniques
Collection de guides et conventions pour le développement et l'administration système.
---
## 📁 Structure
```
guides/
├── serveur/ Guides d'administration serveur Linux
└── conventions/ Conventions de code et bonnes pratiques
```
---
## 🚀 Démarrage rapide
### Configuration d'un VPS
Vous avez un nouveau serveur VPS à configurer ?
👉 **[serveur/vps-setup-rapide.md](serveur/vps-setup-rapide.md)** - Setup rapide (30-50 min)
👉 **[serveur/vps-setup-complet.md](serveur/vps-setup-complet.md)** - Guide détaillé (1-2h)
### Administration serveur
Votre disque est plein, des bots attaquent votre serveur, ou vous cherchez un fichier ?
👉 **[serveur/](serveur/)** - Tous les guides Linux essentiels
### Conventions de code
Vous développez une application SvelteKit ?
👉 **[conventions/svelte-kit-frontend-conventions.md](conventions/svelte-kit-frontend-conventions.md)**
---
## 📖 Tous les guides
### [serveur/](serveur/) - Administration serveur
**Configuration VPS :**
- **[vps-setup-rapide.md](serveur/vps-setup-rapide.md)** - Setup VPS rapide (30-50 min)
- **[vps-setup-complet.md](serveur/vps-setup-complet.md)** - Setup VPS détaillé (1-2h)
- **[kirby-vps-deploy.md](serveur/kirby-vps-deploy.md)** - Déployer Kirby CMS sur VPS
- **[kirby-ci-cd-deploy.md](serveur/kirby-ci-cd-deploy.md)** - CI/CD automatique pour Kirby
**Linux essentials :**
- **[vim-guide-essentiel.md](serveur/linux-essentials/vim-guide-essentiel.md)** - Maîtriser Vim (éditeur universel)
- **[architecture-filesystem.md](serveur/linux-essentials/architecture-filesystem.md)** - Comprendre /etc, /var, /lib
- **[diagnostic-espace-disque.md](serveur/linux-essentials/diagnostic-espace-disque.md)** - Résoudre les problèmes d'espace
- **[analyse-logs-detection-bots.md](serveur/linux-essentials/analyse-logs-detection-bots.md)** - Analyser les logs et bloquer les bots
- **[comprendre-commandes-find-du.md](serveur/linux-essentials/comprendre-commandes-find-du.md)** - Maîtriser find, du, grep
**Forgejo (forge Git) :**
- **[forgejo/QUICK-START.md](serveur/forgejo/QUICK-START.md)** - Sécuriser Forgejo en 15 min
- **[forgejo/bloquer-telechargements-abusifs.md](serveur/forgejo/bloquer-telechargements-abusifs.md)** - Fail2ban, rate limiting
### [conventions/](conventions/) - Bonnes pratiques
- **[svelte-kit-frontend-conventions.md](conventions/svelte-kit-frontend-conventions.md)** - Structure et conventions pour SvelteKit
---
## 🎯 Par besoin
### Je viens d'avoir un VPS
1. **[Apprendre Vim](serveur/linux-essentials/vim-guide-essentiel.md)** - Éditeur essentiel (15 min)
2. **[Configuration VPS complète](serveur/vps-setup.md)** - Sécurité, serveur web, SSL
3. **[Architecture Linux](serveur/linux-essentials/architecture-filesystem.md)** - Comprendre où sont les fichiers
4. **[Commandes essentielles](serveur/linux-essentials/comprendre-commandes-find-du.md)** - find, du, grep
### Mon serveur a un problème
- **Disque plein** → [diagnostic-espace-disque.md](serveur/linux-essentials/diagnostic-espace-disque.md)
- **Attaque de bots** → [analyse-logs-detection-bots.md](serveur/linux-essentials/analyse-logs-detection-bots.md)
- **Forgejo saturé** → [bloquer-telechargements-abusifs.md](serveur/forgejo/bloquer-telechargements-abusifs.md)
### Je développe une application
- **SvelteKit** → [svelte-kit-frontend-conventions.md](conventions/svelte-kit-frontend-conventions.md)
---
## 🔍 Recherche rapide
### Commandes serveur
```bash
# Espace disque
df -h # Vue globale
du -sh /* | sort -h | tail -10 # Top 10 dossiers
# Recherche de fichiers
find /path -name "*.log" -size +100M # Gros fichiers logs
grep -r "erreur" /var/log/ # Chercher dans les logs
# Services
systemctl status apache2 # État d'un service
journalctl -u service -n 50 # Logs d'un service
```
### SSH et déploiement
```bash
# Connexion
ssh user@host
# Déploiement avec rsync
rsync -avhP ./dist/ user@host:/var/www/site/
# Certificat SSL
certbot --apache -d example.com
```
### Pare-feu et sécurité
```bash
# UFW
ufw status verbose # État du pare-feu
ufw allow 80/tcp # Autoriser un port
# Fail2ban
fail2ban-client status # Vue d'ensemble
fail2ban-client status sshd # IPs bannies SSH
```
---
## 🛠️ Outils utiles
- **[Explain Shell](https://explainshell.com/)** - Décompose les commandes shell
- **[SSL Labs](https://www.ssllabs.com/ssltest/)** - Teste la configuration SSL
- **[Security Headers](https://securityheaders.com/)** - Teste les en-têtes de sécurité
---
## 📝 Notes
Ces guides sont créés à partir d'expériences réelles en production. Ils sont conçus pour être :
- **Pratiques** : Des solutions concrètes à des problèmes réels
- **Pédagogiques** : Explications détaillées pour comprendre ce qu'on fait
- **Rapides** : Temps de lecture/application indiqué pour chaque guide
**Structure des guides :**
- 📋 Table des matières pour navigation rapide
- ✅ Checklists pour ne rien oublier
- ⚠️ Avertissements sur les points critiques
- 💡 Tips et bonnes pratiques
- 🔍 Sections troubleshooting
---
## 🌱 Contribuer
Améliorations bienvenues :
- Nouveaux guides
- Corrections et clarifications
- Scripts d'automatisation
- Traductions
**Organisation :**
- Guides serveur → `serveur/`
- Guides spécifiques à un service → `serveur/nom-service/`
- Conventions de code → `conventions/`