# Chapitre 5 : L'installation magique et le déploiement

Ce chapitre vous guide étape par étape pour transformer n'importe quel vieil ordinateur ou machine virtuelle en une station GrimOS complète, de la façon la plus simple et la plus fiable possible.

> ![Clés USB Debian et GrimOS](images/grimos_usb_keys.png)

## La Philosophie : Le Workflow "Deux Clés USB". 

Comment transforme-t-on un PC vide en une machine GrimOS fully-fonctionnelle ?

## 1. Le Mythe de l'ISO vs La Méthode des Deux Clés

Historiquement, les systèmes d'exploitation (comme Windows ou Ubuntu) sont distribués sous forme de fichiers "ISO" amorçables. C'est un énorme fichier de plusieurs gigaoctets contenant l'intégralité du système pré-compilé. 

Cependant, générer une image ISO personnalisée est un processus complexe, très lourd et difficile à maintenir (les outils de *live-build* évoluent sans cesse). 

Dans la philosophie de simplicité de GrimOS, nous avons opté pour une approche beaucoup plus élégante et universelle : **La méthode des deux clés USB**.

1. **La clé Socle** : Elle contient l'installateur officiel de Debian "Minimal" (Netinst).
2. **La clé Magique** : Elle contient le dossier source de GrimOS et le script `install_grimos.sh`.

Cette séparation des pouvoirs garantit que GrimOS reposera toujours sur un socle Debian officiel, propre, certifié et à jour, sans avoir à gérer nous-mêmes la lourdeur de la compilation d'un noyau Linux.

## 2. Étape 1 : Le Socle Debian Minimal

La première étape de l'installation de GrimOS consiste à installer un "moteur" nu. 

Lors de l'installation de Debian via la première clé, la règle d'or est de **tout désactiver** (GNOME, KDE, serveur web, environnement de bureau standard). La seule case qui doit rester cochée est "Utilitaires standards du système".

Pourquoi ? Parce que les environnements de bureaux classiques installent des centaines de "daemons" (services tournant en arrière-plan) pour gérer le réseau, le bluetooth, les imprimantes, ou la télémétrie. GrimOS est conçu pour faire tout cela lui-même, à sa manière, sans aucun bruit de fond.

Une fois installé, l'ordinateur démarre sur un écran noir effrayant avec un texte blanc : le fameux TTY. Le socle est prêt.

## 3. Étape 2 : Le Script d'Installation (`install_grimos.sh`)

C'est ici qu'intervient la deuxième clé USB. L'utilisateur insère la clé contenant GrimOS et exécute simplement le script `install_grimos.sh`. Que se passe-t-il sous le capot ?

### A. Téléchargement des dépendances
Le script se connecte à internet et télécharge le minimum vital pour afficher des fenêtres :

* `xserver-xorg` et `xinit` : Les fondations de l'affichage graphique sur Linux.
* `python3-tk` : Le module Python permettant de dessiner l'interface.
* `iw` et `wpa_supplicant` : Les outils stricts pour le Wi-Fi.

### B. Configuration de l'Autologin
Un système moderne se doit de démarrer directement sur le bureau. Le script modifie la configuration du gestionnaire de terminaux (`getty`) de Debian pour que l'utilisateur principal soit connecté automatiquement (Auto-login) sur le premier terminal (`tty1`) dès l'allumage de la machine, sans demander de mot de passe.

### C. Le lancement automatique de X11 (`.profile`)
Une fois l'utilisateur connecté automatiquement en arrière-plan, le système lit son fichier de profil caché (`.profile`). Le script y injecte cette condition :

> 💻 **Terminal :**
```bash
if [ -z "$DISPLAY" ] && [ "$(tty)" = "/dev/tty1" ]; then
    startx
fi
```
**Traduction :** "Si aucune interface graphique n'est affichée (`$DISPLAY` est vide), et que je suis sur l'écran principal (`tty1`), alors lance immédiatement l'interface graphique (`startx`)."



---
En combinant un socle extrêmement stable et un script de configuration totalement transparent, le déploiement de GrimOS prouve que l'installation d'un système d'exploitation n'a pas besoin d'être une "boîte noire" obscure, mais peut être une opération logique, compréhensible et parfaitement maîtrisée.


---

# 🚀 Guide d'Installation Officiel - GrimOS

Bienvenue dans le guide d'installation de GrimOS. Ce document est conçu pour vous accompagner pas-à-pas dans l'installation de votre système d'exploitation, même si vous n'êtes pas un expert en informatique.

L'installation se déroule en trois grandes étapes :

1. **Étape A** : L'installation du "moteur" de base (Debian minimal).
2. **Étape B** : La préparation de votre clé USB contenant GrimOS.
3. **Étape C** : Le déploiement automatique de GrimOS sur votre machine.

---

## 🛠️ Étape A : Installation du système de base (Debian)

GrimOS repose sur un socle très solide appelé **Debian**. Nous allons d'abord installer une version "vide" de Debian, que notre script transformera ensuite en GrimOS.

### 1. Télécharger Debian

- Rendez-vous sur le site officiel de Debian et téléchargez l'image d'installation par le réseau (**netinst**) : [Télécharger Debian (netinst)](https://www.debian.org/distrib/netinst).

### 2. Créer une clé USB d'installation (Clé n°1)

- Munissez-vous d'une première clé USB (8 Go minimum).
- Utilisez un logiciel comme **[Rufus](https://rufus.ie/)** (sur Windows) ou **[BalenaEtcher](https://etcher.balena.io/)** (sur Mac/Linux) pour "flasher" le fichier ISO Debian téléchargé sur votre clé USB.

### 3. Installer Debian sur le PC cible

- Branchez la clé USB sur le PC que vous souhaitez transformer en machine GrimOS et allumez-le.
- Démarrez sur la clé USB (souvent en tapotant `F12`, `F8`, ou `Suppr` au démarrage pour choisir le périphérique de démarrage).
- Choisissez l'installation normale ou graphique ("Graphical install") et suivez l'assistant :
  - **Langue, Pays, Clavier** : Choisissez le français (ou votre langue).
  - **Réseau** : Connectez-vous à internet (par câble ou Wi-Fi) quand cela vous est demandé.
  - **Nom d'hôte** : Laissez par défaut (ex: `debian`).
  - **Mot de passe administrateur (root)** : Laissez vide et faites "Continuer" (cela activera `sudo` pour notre utilisateur principal, ce qui est plus simple).
  - ⚠️ **CRUCIAL - Création de l'utilisateur** : Lorsqu'on vous demande le nom complet du nouvel utilisateur et l'identifiant, tapez exactement `grimos` (tout en minuscules). Choisissez un mot de passe dont vous vous souviendrez.
  - **Partitionnement des disques** : Choisissez "Assisté - utiliser un disque entier" et sélectionnez votre disque dur.
  - ⚠️ **CRUCIAL - Sélection des logiciels** : À la fin de l'installation, un écran "Sélection des logiciels" apparaît. **C'est l'étape la plus importante.**
    - Décochez **absolument tout** (surtout "environnement de bureau Debian", "GNOME", etc.).
    - La seule case qui doit rester cochée est : **"Utilitaires standards du système"**.
- Une fois l'installation terminée, l'ordinateur va redémarrer. **Retirez la clé USB.**
- L'ordinateur démarrera sur un écran noir avec un texte vous demandant de vous connecter (`login`). C'est normal ! Éteignez le PC pour le moment ou laissez-le tel quel.

---

## 💾 Étape B : Préparation de la clé USB "GrimOS" (Clé n°2)

Maintenant que le socle est prêt, nous allons préparer la clé USB qui contient tout l'univers visuel et les applications de GrimOS.

1. Sur votre ordinateur personnel, prenez une **deuxième clé USB** (formatée en FAT32 ou exFAT).
2. Ouvrez le dossier `grimos_build` (le dossier où se trouve ce guide).
3. **Copiez l'intégralité du contenu** de ce dossier à la racine de votre clé USB.
4. Assurez-vous que le fichier `install_grimos.sh` et le fichier `main.py` se trouvent bien à la racine de cette clé USB, et non cachés dans un sous-dossier.

---

## 🪄 Étape C : Déploiement de GrimOS

C'est la dernière ligne droite ! Le script va tout faire à votre place.

### 1. Se connecter

- Allumez votre PC (celui avec l'écran noir installé à l'Étape A).
- Au message `debian login:`, tapez `grimos` et appuyez sur Entrée.
- Tapez votre mot de passe (les caractères ne s'affichent pas à l'écran, c'est normal) et appuyez sur Entrée.

### 2. Brancher et trouver la clé USB

- Branchez votre clé USB "GrimOS" (Clé n°2).
- Tapez la commande suivante pour lister les disques :
  

> 💻 **Terminal :**
```bash
  lsblk
```

- Vous verrez une liste. Cherchez votre clé USB (souvent nommée `sdb1`, `sdc1`, et reconnaissable par sa taille). Notez ce nom. Nous utiliserons `sdb1` pour l'exemple.

### 3. Monter (connecter) la clé USB

- Tapez la commande suivante pour créer un point d'attache :
  

> 💻 **Terminal :**
```bash
  sudo mkdir -p /mnt/usb
```

- Tapez votre mot de passe (celui de l'utilisateur `grimos`) s'il vous est demandé.
- "Branchez" logiciellement la clé USB :
  

> 💻 **Terminal :**
```bash
  sudo mount /dev/sdb1 /mnt/usb
```
  *(Remplacez `sdb1` par le nom trouvé à l'étape précédente si différent).*

### 4. Lancer l'installation magique

- Allez dans le dossier de la clé USB :
  

> 💻 **Terminal :**
```bash
  cd /mnt/usb
```

- Lancez le script d'installation :
  

> 💻 **Terminal :**
```bash
  sudo bash install_grimos.sh
```

### 5. Laissez la magie opérer !
Le script va télécharger toutes les interfaces graphiques, configurer le démarrage automatique et installer vos applications. Cela peut prendre quelques minutes selon votre connexion internet.

### 6. Redémarrage final
Une fois que le script affiche que tout est terminé avec succès :

- Tapez :
  

> 💻 **Terminal :**
```bash
  cd /
  sudo umount /mnt/usb
```

- Débranchez votre clé USB.
- Redémarrez la machine :
  

> 💻 **Terminal :**
```bash
  sudo reboot
```

🎉 **Félicitations !** Au redémarrage, la machine s'allumera toute seule, sans demander de mot de passe, et affichera directement le bureau magnifique de GrimOS !
