105 lines
2.7 KiB
Markdown
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 # Documentation
|
|
```
|
|
|
|
## 🚀 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/)
|
|
|
|
|
|
|