#!/bin/bash
# Script: install_all_tools.sh
# Description: Installe une suite complète d'outils pour la gestion système, le développement, le réseau et l'administration sur Debian.

echo "Mise à jour des dépôts et mise à niveau des paquets..."
apt update && apt upgrade -y

echo "Installation des outils de gestion de paquets..."
apt install -y \
    sudo \
    apt-utils \
    software-properties-common \
    gnupg2 \
    curl \
    wget \
    git \
    zip \
    unzip \
    tar \
    rsync \
    htop \
    screen \
    tmux \
    gnupg \
    software-properties-common \
    ca-certificates \
    apt-transport-https \
    locales \
    bash-completion

echo "Installation des outils de développement..."
apt install -y \
    build-essential \
    gcc \
    g++ \
    make \
    cmake \
    python3 \
    python3-pip \
    python3-venv \
    openjdk-17-jdk \
    nodejs \
    npm \
    ruby \
    golang \
    perl

echo "Installation des outils réseau..."
apt install -y \
    net-tools \
    iproute2 \
    dnsutils \
    traceroute \
    mtr \
    nmap \
    tcpdump \
    iputils-ping \
    whois \
    ufw \
    iptables \
    iftop \
    ngrep \
    ssh \
    openssh-client \
    openssh-server \
    socat

echo "Installation des outils d'administration système..."
apt install -y \
    sudo \
    lsof \
    strace \
    sysstat \
    logrotate \
    cron \
    cron-apt \
    zsh \
    neofetch \
    screenfetch

echo "Installation des éditeurs et visualiseurs de fichiers..."
apt install -y \
    vim \
    nano \
    emacs \
    less \
    jq \
    tree \
    file

echo "Installation des outils de monitoring..."
apt install -y \
    sysstat \
    atop \
    dstat \
    glances \
    bmon \
    htop 

echo "Installation des conteneurs et virtualisation..."
apt install -y \
    qemu-kvm \
    libvirt-daemon-system \
    libvirt-clients \
    virt-manager

echo "Installation des bases de données..."
apt install -y \
    mysql-client \
    mariadb-server \
    postgresql-client \
    sqlite3 \
    redis-tools \
    mongodb-clients

echo "Installation des gestionnaires de version et de dépôts..."
apt install -y \
    git-lfs \
    mercurial \
    subversion

echo "Nettoyage des paquets inutiles..."
apt autoremove -y && apt autoclean

echo "Tous les outils de base sont installés."
