#!/bin/bash # ─── Couleurs ─────────────────────────────────────────────────────────────── RESET="\e[0m" BOLD="\e[1m" TEAL="\e[38;5;37m" ORANGE="\e[38;5;208m" GREEN="\e[32m" YELLOW="\e[33m" RED="\e[31m" BLUE="\e[34m" WHITE="\e[97m" DIM="\e[2m" # ─── Collecte des informations système ────────────────────────────────────── KERNEL=$(uname -r) DEBIAN_VERSION=$(grep PRETTY_NAME /etc/os-release 2>/dev/null | cut -d'"' -f2) HOSTNAME=$(hostname -f 2>/dev/null || hostname) UPTIME=$(uptime -p 2>/dev/null | sed 's/up //') DATE=$(date "+%A %d %B %Y, %H:%M:%S") # Stockage (partition racine) DISK_TOTAL=$(df -h / | awk 'NR==2{print $2}') DISK_USED=$(df -h / | awk 'NR==2{print $3}') DISK_AVAIL=$(df -h / | awk 'NR==2{print $4}') DISK_PCT=$(df / | awk 'NR==2{print $5}' | tr -d '%') # RAM RAM_TOTAL=$(free -h | awk '/^Mem:/{print $2}') RAM_USED=$(free -h | awk '/^Mem:/{print $3}') RAM_AVAIL=$(free -h | awk '/^Mem:/{print $7}') RAM_PCT=$(free | awk '/^Mem:/{printf "%.0f", $3/$2*100}') # Charge CPU LOAD=$(cut -d' ' -f1-3 /proc/loadavg) # Adresse IP locale IP_LOCAL=$(hostname -I 2>/dev/null | awk '{print $1}') # Nombre de processus PROCS=$(ps aux --no-header | wc -l) # Sessions SSH actives SSH_SESSIONS=$(who | wc -l) # Calcul pour centrer "Paul-Louis Courier" (18 caractères) dans un cadre de 64 espaces TITLE_LEFT_PADDING=$(printf '%*s' 23 "") TITLE_RIGHT_PADDING=$(printf '%*s' 23 "") # ─── Fonction barre de progression ────────────────────────────────────────── progress_bar() { local PCT=$1 local FILLED=$(( PCT / 5 )) local EMPTY=$(( 20 - FILLED )) local BAR="" if [ "$PCT" -ge 85 ]; then COLOR=$RED elif [ "$PCT" -ge 60 ]; then COLOR=$YELLOW else COLOR=$GREEN fi for ((i=0; i${RESET} — éviter de travailler en root directement." echo -e " ${ORANGE}✔${RESET} Consulter régulièrement les logs système (${BOLD}/var/log/${RESET})." echo -e " ${ORANGE}✔${RESET} Maintenir le système à jour : ${BOLD}apt update && apt upgrade${RESET}." echo -e " ${ORANGE}✔${RESET} Sauvegarder avant toute modification : ${BOLD}cp fichier fichier.bak${RESET}." echo -e " ${ORANGE}✔${RESET} Documenter chaque intervention pour assurer la traçabilité." echo "" echo -e "${BOLD}${TEAL}╔══════════════════════════════════════════════════════════════════╗${RESET}" echo -e "${BOLD}${TEAL}║${RESET} ${ORANGE}Toute action sur ce serveur est soumise à la politique de ${RESET}${BOLD}${TEAL}║${RESET}" echo -e "${BOLD}${TEAL}║${RESET} ${ORANGE}sécurité de Paul-Louis Courier. Intervenez avec soin. ${RESET}${BOLD}${TEAL}║${RESET}" echo -e "${BOLD}${TEAL}╚══════════════════════════════════════════════════════════════════╝${RESET}" echo ""