#!/bin/bash

echo -e "\n Stats Machine proc/load"

# Commande pour afficher les 3 premières lignes des processus triés par utilisation CPU
output=$(ps aux --sort=-%cpu | head -n 3)

# Traitement et coloration des colonnes
echo "$output" | awk '
BEGIN {
    # Définir les couleurs
    col_user="\033[1;34m"
    col_pid="\033[1;32m"
    col_cpu="\033[1;31m"
    col_mem="\033[1;33m"
    col_command="\033[1;36m"
    col_reset="\033[0m"
}
NR==1 {
    # En-tête, ajouter les couleurs
    printf("%sUSER%s\t%sPID%s\t%s%%CPU%s\t%s%%MEM%s\t%sCOMMAND%s\n", col_user, col_reset, col_pid, col_reset, col_cpu, col_reset, col_mem, col_reset, col_command, col_reset)
}
NR>1 {
    # Contenu, ajouter les couleurs
    printf("%s%s%s\t%s%s%s\t%s%s%s\t%s%s%s\t%s", col_user, $1, col_reset, col_pid, $2, col_reset, col_cpu, $3, col_reset, col_mem, $4, col_reset, col_command)
    for (i=11; i<=NF; i++) {
        printf("%s%s", $i, (i==NF ? col_reset : " "))
    }
    printf("\n")
}
'


# Colors
COLOR_GREEN="\033[32m"
COLOR_RED="\033[41;1m"
COLOR_ORANGE="\033[38;5;202m"
COLOR_YELLOW="\033[93m"
COLOR_RESET="\033[0m"
WHITE_ON_GREEN="\033[97m\033[42m"

echo -e "${COLOR_YELLOW}"
 uptime
echo -e "${COLOR_RESET}"

# Afficher les 5 processus les plus consommateurs de ressources
#echo "Top 2 des processus consommateurs de ressources:"
#ps aux --sort=-%cpu | head -n 3
#ps aux --sort=-%cpu | head -n 3 | awk '{print $1, $2, $3, $4}' | grep --color=always -E '^[^ ]+|[^ ]+$'


# Vérifier si Docker est installé et en cours d'exécution
if ! command -v docker &> /dev/null
then
    echo "Docker n'est pas installé. Veuillez installer Docker."
    exit 1
fi

if ! systemctl is-active --quiet docker
then
    echo "Docker n'est pas en cours d'exécution. Veuillez démarrer Docker."
    exit 1
fi

# Afficher les statistiques complètes de chaque conteneur Docker
echo -e " ${WHITE_ON_GREEN}Statistiques Docker pour chaque conteneur${COLOR_RESET}"
docker stats --no-stream
