#!/bin/bash # Couleurs pour le texte GREEN="\e[32m" RED="\e[31m" BLUE="\e[34m" RESET="\e[0m" # Fonction pour afficher un message de succès success() { echo -e "${GREEN}[SUCCESS]${RESET} $1" } # Fonction pour afficher un message d'erreur error() { echo -e "${RED}[ERROR]${RESET} $1" } # Fonction pour mettre à jour et nettoyer le système update_and_clean_system() { echo -e "${BLUE}Mise à jour et nettoyage du système...${RESET}" sudo apt update && sudo apt full-upgrade -y && sudo apt autoremove -y && sudo apt autoclean -y if [ $? -eq 0 ]; then success "Mise à jour et nettoyage effectués avec succès." else error "Échec de la mise à jour et du nettoyage." fi } # Fonction pour installer et configurer un serveur NFS install_nfs_server() { echo -e "${BLUE}Installation et configuration du serveur NFS...${RESET}" sudo apt install -y nfs-kernel-server sudo systemctl enable nfs-server sudo systemctl start nfs-server if [ $? -eq 0 ]; then success "Serveur NFS installé et configuré." else error "Échec de l'installation du serveur NFS." fi } # Fonction pour installer un client NFS install_nfs_client() { echo -e "${BLUE}Installation du client NFS...${RESET}" sudo apt install -y nfs-common if [ $? -eq 0 ]; then success "Client NFS installé." else error "Échec de l'installation du client NFS." fi } # Fonction pour installer et configurer un serveur Samba install_samba_server() { echo -e "${BLUE}Installation et configuration du serveur Samba...${RESET}" sudo apt install -y samba sudo systemctl enable smbd sudo systemctl start smbd if [ $? -eq 0 ]; then success "Serveur Samba installé et configuré." else error "Échec de l'installation du serveur Samba." fi } # Fonction pour installer sudo et ajouter l'utilisateur actuel au groupe sudo add_user_to_sudo() { echo -e "${BLUE}Installation et configuration de sudo...${RESET}" # Vérifier si sudo est installé, sinon l'installer if ! dpkg -l | grep -q sudo; then echo -e "${BLUE}Installation de sudo...${RESET}" su - -c "apt update && apt install -y sudo" if [ $? -eq 0 ]; then success "Sudo installé avec succès." else error "Échec de l'installation de sudo." return fi else success "Sudo est déjà installé." fi # Ajouter l'utilisateur actuel au groupe sudo echo -e "${BLUE}Ajout de l'utilisateur actuel au groupe sudo...${RESET}" sudo adduser "$USER" sudo if [ $? -eq 0 ]; then success "Utilisateur '$USER' ajouté au groupe sudo." else error "Échec de l'ajout de l'utilisateur au groupe sudo." fi } # Fonction pour installer Docker avec post-installation install_docker() { echo -e "${BLUE}Installation de Docker...${RESET}" sudo apt install -y docker.io docker-compose sudo systemctl enable docker sudo systemctl start docker echo -e "${BLUE}Ajout de l'utilisateur actuel au groupe docker...${RESET}" sudo usermod -aG docker $USER echo -e "${BLUE}Création d'un dossier pour les conteneurs Docker...${RESET}" mkdir -p ~/docker/containers if [ $? -eq 0 ]; then success "Docker installé et configuré avec succès." else error "Échec de l'installation de Docker." fi } # Fonction pour configurer le réseau configure_network() { echo -e "${BLUE}Configuration du réseau...${RESET}" echo -e "1. IP Statique\n2. DHCP\n" read -p "Choisissez une option (1/2) : " net_choice case $net_choice in 1) read -p "Entrez l'adresse IP statique : " ip read -p "Entrez le masque de sous-réseau (par ex. 255.255.255.0) : " netmask read -p "Entrez la passerelle : " gateway read -p "Entrez le DNS (par ex. 8.8.8.8) : " dns sudo bash -c "cat > /etc/network/interfaces < /etc/network/interfaces <