# MOTD (Message Of The Day)

### Documentation : Gestion du MOTD sur Proxmox / Debian

Le **MOTD** (*Message Of The Day*) est le message qui s'affiche lors d'une connexion réussie en SSH ou via la console. Sur Proxmox (basé sur Debian), il existe deux manières de le gérer : statique ou dynamique.

---

#### 1. Le MOTD Statique (Basique)
C'est la méthode la plus simple. Elle affiche un texte fixe à chaque connexion.

* **Fichier concerné :** `/etc/motd`
* **Fonctionnement :** Le contenu de ce fichier est simplement lu et affiché par le système.
* **Comment le modifier :**
    ```bash
    nano /etc/motd
    ```
* **Note :** Sur les systèmes modernes, ce fichier est souvent vide car Debian privilégie la version dynamique.

---

#### 2. Le MOTD Dynamique (Avancé)
Le MOTD dynamique permet d'afficher des informations en temps réel (température, utilisation CPU, messages aléatoires).

#### Fonctionnement technique
Le système utilise un utilitaire appelé `update-motd`. Lors de la connexion, il exécute dans l'ordre numérique tous les scripts situés dans :
` /etc/update-motd.d/ `

Les scripts par défaut sont généralement :
- `00-header` :
- `10-uname` :
- `90-footer` :

#### Créer son propre message dynamique
Pour ajouter votre propre logique (comme un message aléatoire) :

1.  **Créer un nouveau script** (utilisez un numéro élevé comme `99` pour qu'il s'affiche à la fin) :
    ```bash
    nano /etc/update-motd.d/99-custom
    ```

2.  **Exemple de script pour messages aléatoires :**
    ```bash
    #!/bin/bash
    
    # Liste des messages possibles
    messages=(
        "Bienvenue votre machine."
        "Rappel : Vérifie l'état des disques avec 'df -h'."
        "Astuce : On ne fait jamais rm -rf .* sans réfléchir !"
        "L'uptime actuel est de : $(uptime -p)"
    )

    # Tirage au sort
    RANDOM_MSG=${messages[$RANDOM % ${#messages[@]}]}

    # Affichage avec couleur (Cyan)
    echo -e "\e[1;36m[INFO] $RANDOM_MSG\e[0m"
    ```

3.  **Donner les droits d'exécution :**
    C'est l'étape la plus importante. Si le script n'est pas exécutable, il sera ignoré.
    ```bash
    chmod +x /etc/update-motd.d/99-custom
    ```

---

#### 3. Configuration de SSH pour le MOTD
Pour que le MOTD s'affiche correctement en SSH, le serveur doit être configuré pour cela.

* **Fichier :** `/etc/ssh/sshd_config`
* **Options requises :**
    - `PrintMotd yes` : Affiche le contenu de `/etc/motd` (statique).
    - `PrintLastLog yes` : Affiche la date de la dernière connexion (optionnel).

*Après modification de la config SSH, redémarrez le service :*
`systemctl restart ssh`

---

#### 4. Astuces de dépannage
Si votre message ne s'affiche pas :

1.  **Tester manuellement :** Exécutez la commande suivante pour voir si vos scripts génèrent des erreurs :
    ```bash
    run-parts /etc/update-motd.d
    ```
2.  **Vérifier le shell :** Assurez-vous que la première ligne de votre script est bien `#!/bin/bash` ou `#!/bin/sh`.
3.  **Nettoyage :** Si vous avez des messages en double, vérifiez que vous n'avez pas à la fois un texte dans `/etc/motd` ET un script dans `/etc/update-motd.d/`.