Lab_AD_Complet/README.md
Corentin 8e1b06e090 Initial lab release: Docker-based Active Directory lab
Complete Active Directory teaching environment based on dockurr/windows:
- Windows Server domain controller, Windows 11 client, Debian 12 client
- docker-compose orchestration, env-driven configuration
- Bilingual documentation (FR + EN) for students
- Dual approach (GUI + PowerShell) in every procedure
- Instructor course plan and reference scripts
- RDP launcher scripts for Linux, macOS and Windows

Made by AcadéNice - https://acadenice.fr/
2026-04-17 11:29:49 +02:00

131 lines
4.6 KiB
Markdown

# lab_AD_Complet
Lab Active Directory reproductible, basé sur Docker, pour la formation et l'auto-apprentissage.
> English version : [README_EN.md](README_EN.md)
## Contenu du lab
Un environnement Active Directory complet, isolé, comprenant :
- **DC01** : contrôleur de domaine Windows Server (AD DS + DNS)
- **PC01** : poste client Windows 11 destiné à être joint au domaine
- **linux01** : poste client Debian 12 destiné à être joint au domaine (realmd + SSSD)
Tout est orchestré via un seul `docker-compose.yml`, entièrement configurable par variables d'environnement.
## Pré-requis
Le lab exige un accès à la virtualisation matérielle (KVM sous Linux, WSL2 + nested virt sous Windows).
| Système | Supporté | Remarques |
|---|---|---|
| Linux (kernel >= 5.x avec KVM) | Oui | Configuration la plus simple |
| Windows 10/11 Pro + Docker Desktop | Oui | Activer la virtualisation imbriquée dans `.wslconfig` |
| macOS Intel | Partiel | Performances dégradées, non recommandé |
| macOS Apple Silicon (M1/M2/M3) | Non | Utilisez une VM Linux (UTM) - voir `docs/etudiant/fr/00-prerequis.md` |
Ressources minimales :
- 16 Go de RAM recommandés (12 Go minimum)
- 80 Go d'espace disque libre (installation Windows + snapshots)
- Processeur avec VT-x / AMD-V activé dans le BIOS
Scripts de vérification fournis :
```bash
./scripts/check-prereqs.sh # Linux, macOS
.\scripts\check-prereqs.ps1 # Windows
```
## Démarrage rapide
```bash
git clone <url-du-repo> lab_AD_Complet
cd lab_AD_Complet
cp .env.example .env # adaptez les variables
./scripts/check-prereqs.sh
docker compose up -d dc01
```
L'installation de Windows Server se fait automatiquement en arrière-plan (20 à 40 minutes selon votre connexion). Suivez l'avancement via :
- Interface web : http://localhost:8006
- Logs : `docker compose logs -f dc01`
Une fois Windows installé, la configuration AD (promotion, OU, utilisateurs, GPO, partages) reste à la charge de l'apprenant. Les guides détaillés sont dans `docs/etudiant/fr/`.
## Accès aux postes
Deux méthodes disponibles :
### Interface web (noVNC)
- DC : http://localhost:8006
- PC Windows : http://localhost:8009
- Utile pour observer le boot / l'installation, mais lente et sans copier-coller.
### RDP (recommandé)
```bash
./scripts/rdp-dc.sh # ouvre une session RDP sur DC01
./scripts/rdp-client.sh # ouvre une session RDP sur PC01
```
Sous Windows :
```powershell
.\scripts\rdp-dc.ps1
```
RDP fournit un copier-coller natif, un partage de dossier (`\\tsclient\shared`) et de bien meilleures performances.
## Structure du projet
```
lab_AD_Complet/
docker-compose.yml Définit les 3 conteneurs
.env.example Variables configurables
linux-client/ Image Debian pré-équipée (SSSD/realmd)
scripts/ Vérification de prérequis + lancement RDP
shared/ Dossier partagé avec les VMs Windows via RDP
docs/
etudiant/ Guides d'apprentissage (FR + EN)
formateur/ Supports et corrigés (non distribués aux étudiants)
```
## Documentation
- `docs/etudiant/fr/00-prerequis.md` : installation de Docker et vérifications
- `docs/etudiant/fr/01-installation-lab.md` : premier démarrage du lab
- `docs/etudiant/fr/02-promotion-dc.md` : promotion d'un contrôleur de domaine (GUI + PowerShell)
- `docs/etudiant/fr/03-ou-utilisateurs-groupes.md` : arborescence OU, utilisateurs, groupes, AGDLP
- `docs/etudiant/fr/04-gpo.md` : création et liaison de GPO
- `docs/etudiant/fr/05-partages-ntfs.md` : partages SMB et permissions NTFS
- `docs/etudiant/fr/06-jonction-poste-windows.md` : rejoindre PC01 au domaine
- `docs/etudiant/fr/07-jonction-poste-linux.md` : rejoindre linux01 au domaine
- `docs/etudiant/fr/troubleshooting.md` : problèmes fréquents
Chaque procédure est documentée en double approche : **interface graphique** (Server Manager, ADUC, GPMC) et **scripting PowerShell**.
## Arrêter le lab
```bash
docker compose stop # arrêt sans perte d'état
docker compose down # arrêt et suppression des conteneurs
docker compose down -v # suppression complète y compris les disques VM
```
Les disques Windows sont stockés dans `./storage-dc01/` et `./storage-pc01/` à la racine du projet. Supprimer ces dossiers revient à repartir d'une installation vierge.
## Licence
MIT - voir [LICENSE](LICENSE).
## Contribuer
Les contributions sont bienvenues (corrections, traductions, nouveaux exercices). Ouvrez une issue ou proposez un merge request.
---
Fait par [AcadéNice](https://acadenice.fr/).