2025-05-27 15:15:50 +02:00

105 lines
2.7 KiB
Markdown

# Fog_Reinitialisation
# **Attention, ce projet est en cours de dévelopement et peut ne pas fonctionner pour l'instant**
# Reinit - Réinitialisation rapide des PC via FogProject
Un script Bash permettant de **réinitialiser rapidement et simplement les PC des salles de TP** en s'appuyant sur l'API de [FogProject](https://github.com/FOGProject/fogproject).
## 🔧 Fonctionnalités
- Réinitialisation à distance des machines via FogProject
- Automatisation simple par script Bash
- Utilisation prévue dans des environnements scolaires ou universitaires
- Déploiement transparent : Allumage via Wake On Lan -> Déploiement multicast -> Extinction des machines.
## 🛠️ Prérequis
- Serveur **FogProject** configuré et accessible
- Accès à l'API REST de Fog (clé d'authentification si nécessaire)
- Les machines clientes doivent être correctement enregistrées dans Fog
## ⚠️ Problèmes connus sur les machines Windows
### ❗ Erreur : `The NTFS partition is in an unsafe state`
#### 🧭 Cause
Cette erreur apparaît lors de la capture ou du déploiement d'une image via démarage réseau. Elle indique que **Windows ne s'est pas arrêté correctement**. Le système de fichiers NTFS est resté dans un état non sécurisé.
#### ✅ Solution
1. Démarrer la machine sous Windows
2. Ouvrir PowerShell
3. Exécuter la commande suivante pour forcer un arrêt complet :
``powershell
shutdown -s -t 0
``
Cela assurera un arrêt propre de Windows, évitant les erreurs lors du démarrage sous Fog.
## 📁 Structure du projet
```bash
Fog_Reinitialisation/ # Dossier du projet
├── reinitialisation_salle.sh # Script Bash principal
├── .env.exemple # Variables pour l'API Fog
└── README.md # Ce fichier
```
## 🚀 Utilisation
1. Téléchargement, mettez vous dans le répertoire de votre choix pour installer le dossier du projet (De façon à ce qu'il ne soit pas déplacé par la suite):
```bash
curl -L "https://git.nelson-thomas.fr/nelson/Fog_Reinitialisation/archive/main.tar.gz" | tar -xz
```
2. Rentrer dans le répertoire du projet :
```bash
cd ./fog_reinitialisation
```
3. Mettre les token de l'api fog dans le .env.exemple et le renommer :
```bash
nano .env.exemple
```
Puis
```bash
mv .env.exemple ./.env
```
4. Rendre le script exécutable :
```bash
chmod u+x reinitialisation_salle.sh
```
5. (Optionnel) Installer globalement :
```bash
sudo ln -s $(pwd)/reinitialisation_salle.sh /usr/local/bin/reinit
```
6. Exécuter la commande depuis n'importe où :
```bash
reinit
```
---
## 🔗 Ressources
* [FogProject GitHub](https://github.com/FOGProject/fogproject)
* [Documentation officielle de Fog](https://wiki.fogproject.org/)