# 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/)