# 📥 Installation des scripts

Ce guide vous explique comment télécharger et exécuter les scripts d'installation et de configuration disponibles dans ce dépôt.

## 🛠 Prérequis
Avant d'utiliser les scripts, assurez-vous de disposer des éléments suivants :
- Un système Linux de type Debian
- `git` installé si vous déployez avec GIT (sauf méthode 3)
- Les droits administrateur (`sudo`)

## 🚀 Installation
Vous avez trois options pour récupérer les scripts. La troisième est recommandée.

### 1️⃣ Cloner le dépôt
Si vous souhaitez récupérer l'intégralité du projet, utilisez la commande suivante :
```bash
git clone https://git.abonnel.fr/cedricAbonnel/notes-techniques.git
cd notes-techniques/scripts
```

### 2️⃣ Télécharger uniquement un dossier spécifique
Si vous ne souhaitez pas cloner tout le projet, utilisez Git sparse checkout :
```bash
git clone --depth 1 --filter=blob:none --sparse https://git.abonnel.fr/cedricAbonnel/notes-techniques.git
cd notes-techniques
git sparse-checkout add scripts/server-mail
```
Remplacez `server-mail` par le dossier du service que vous souhaitez installer.

### 3️⃣ Exécuter le script d'installation personnalisé (recommandé)
Un script personnalisé permet de télécharger un ou plusieurs scripts en fonction des éléments sélectionnés. Il offre les avantages suivants :
- Mise à jour automatique avec la dernière version disponible
- Téléchargement sélectif des scripts depuis le dépôt
- Interface interactive de sélection des scripts avec `whiptail`
- Suppression des fichiers obsolètes
- Application automatique des permissions d'exécution
- Pas besoin d'avoir le programme `git`

---

# 🔄 Installation et mise à jour automatique des scripts

## 🛠 Prérequis
Avant d'exécuter le script, assurez-vous que votre système répond aux exigences suivantes :
- Système d'exploitation Linux
- `bash` installé
- `wget` installé
- `whiptail` (inclus dans `dialog` sur certaines distributions)

Pour installer les dépendances, utilisez la commande suivante :
```bash
sudo apt update && sudo apt install -y wget dialog
```
(Sur une distribution utilisant `yum` ou `dnf`, adaptez la commande en conséquence.)

## 📥 Installation
### 1️⃣ Télécharger le script
```bash
wget -O fetch_scripts.sh https://git.abonnel.fr/cedricAbonnel/notes-techniques/raw/branch/main/scripts/fetch_scripts.sh
```

### 2️⃣ Rendre le script exécutable
```bash
chmod +x fetch_scripts.sh
```

### 3️⃣ Exécuter le script
```bash
./fetch_scripts.sh
```

Accédez ensuite au dossier de votre choix et exécutez le script d'installation correspondant. Par exemple, pour installer un serveur de messagerie :
```bash
cd scripts/server-mail
./setup_server.sh
```
Suivez ensuite les instructions affichées.

## ⚙️ Fonctionnement du script
Le script permet de :
- Se mettre à jour automatiquement en téléchargeant la dernière version disponible
- Télécharger une liste de scripts depuis le dépôt
- Offrir une interface interactive pour sélectionner les scripts à télécharger
- Supprimer les fichiers obsolètes
- Appliquer les permissions d'exécution aux scripts téléchargés

## 🔄 Mise à jour des scripts
Le script se met à jour automatiquement à chaque exécution si une nouvelle version est disponible. Pour forcer une mise à jour, exécutez :
```bash
./fetch_scripts.sh
```

## 🛠 Problèmes courants

- **Erreur : `whiptail: command not found`**
  - Installez `whiptail` avec la commande suivante :
    ```bash
    sudo apt install dialog  # ou sudo yum install dialog
    ```

- **Erreur de connexion au dépôt**
  - Vérifiez votre connexion internet
  - Assurez-vous que l'URL du dépôt est correcte

## 📖 Support & Contribution
Si vous rencontrez un problème ou souhaitez proposer une amélioration, consultez le fichier `CONTRIBUTING.md` ou ouvrez une issue sur le dépôt.

Bonne installation ! 🚀