From bd391eb16bf10ada063c2b5497c6fc4aeb7b3f51 Mon Sep 17 00:00:00 2001 From: Phiippe Favre Date: Sun, 27 Jul 2025 05:51:27 +0200 Subject: [PATCH] =?UTF-8?q?R=C3=A9organisation=20des=20composants=20et=20c?= =?UTF-8?q?entralisation=20des=20logs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Déplace ProtonUp-Qt après utils (Goverlay) dans les menus de sélection - Met à jour le README pour refléter le nouvel ordre des composants - Centralise tous les logs dans un fichier unique (gaming_installer.log) 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- README.md | 10 ++-- install_gaming.sh | 137 ++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 138 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 975f9fa..feae029 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,12 @@ Script d'installation graphique pour un environnement gaming complet sur Debian. - **Lutris** - Gestionnaire de jeux - **RetroArch** - Multi-émulateur (Flatpak) +**Utilitaires Gaming :** +- **Goverlay** - Interface graphique pour configurer mangohud +- **ProtonUp-Qt** - Gestionnaire versions Proton (Flatpak) +- **gamemode** - Optimisation automatique des performances gaming +- **mangohud** - Overlay d'affichage des performances (FPS, CPU, GPU) + **Compatibilité Windows :** - **Wine + Winetricks** - Compatibilité Windows - **Bottles** - Gestionnaire Wine moderne (Flatpak) @@ -26,10 +32,6 @@ Script d'installation graphique pour un environnement gaming complet sur Debian. - **TeamSpeak** - Communication vocale (Flatpak) - **Mumble** - Communication vocale libre -**Utilitaires Gaming :** -- **gamemode** - Optimisation automatique des performances gaming -- **mangohud** - Overlay d'affichage des performances (FPS, CPU, GPU) -- **goverlay** - Interface graphique pour configurer mangohud **Outils de Gestion :** - **Flatseal** - Gestionnaire permissions Flatpak diff --git a/install_gaming.sh b/install_gaming.sh index b65afe3..49e6f88 100755 --- a/install_gaming.sh +++ b/install_gaming.sh @@ -20,7 +20,7 @@ # Permet à l'utilisateur de choisir quoi installer via une fenêtre # Configuration des logs d'erreur -LOG_FILE="./gaming_installer_$(date +%Y%m%d_%H%M%S).log" +LOG_FILE="./gaming_installer.log" # Variable globale pour stocker le mot de passe sudo GLOBAL_SUDO_PASSWORD="" @@ -391,7 +391,8 @@ show_install_selection() { FALSE "heroic" "🎮 Heroic - Epic Games & GOG" \ FALSE "lutris" "🎮 Lutris - Gestionnaire de jeux" \ FALSE "retroarch" "🕹️ RetroArch - Multi-émulateur (Flatpak)" \ - FALSE "utils" "⚡ Utilitaires Gaming - gamemode, mangohud, goverlay" \ + FALSE "utils" "⚡ Goverlay - affichage performances (FPS, CPU, GPU)" \ + FALSE "protonup" "🔄 ProtonUp-Qt - Gestionnaire versions Proton (Flatpak)" \ FALSE "wine" "🍷 Wine + Winetricks - Compatibilité Windows" \ FALSE "bottles" "🍷 Bottles - Gestionnaire Wine moderne (Flatpak)" \ FALSE "discord" "💬 Discord - Chat vocal & texte (Flatpak)" \ @@ -416,7 +417,8 @@ show_uninstall_selection() { FALSE "heroic" "🎮 Heroic - Epic Games & GOG" \ FALSE "lutris" "🎮 Lutris - Gestionnaire de jeux" \ FALSE "retroarch" "🕹️ RetroArch - Multi-émulateur (Flatpak)" \ - FALSE "utils" "⚡ Utilitaires Gaming - gamemode, mangohud, goverlay" \ + FALSE "utils" "⚡ Goverlay - affichage performances (FPS, CPU, GPU)" \ + FALSE "protonup" "🔄 ProtonUp-Qt - Gestionnaire versions Proton (Flatpak)" \ FALSE "wine" "🍷 Wine + Winetricks - Compatibilité Windows" \ FALSE "bottles" "🍷 Bottles - Gestionnaire Wine moderne (Flatpak)" \ FALSE "discord" "💬 Discord - Chat vocal & texte (Flatpak)" \ @@ -527,6 +529,62 @@ install_steam() { fi } +# Fonction d'installation ProtonUp-Qt +install_protonup() { + log_info "Début de l'installation de ProtonUp-Qt" + + # Vérifier si ProtonUp-Qt est déjà installé + if flatpak list | grep -q "net.davidotek.pupgui2"; then + log_info "ProtonUp-Qt déjà installé" + zenity --info --title="Déjà installé" --text="ProtonUp-Qt est déjà installé sur le système." + return + fi + + # Utiliser le mot de passe global ou demander un nouveau + if ! use_global_password_or_ask "ProtonUp-Qt"; then + return + fi + + ( + echo "40" ; echo "# Vérification des sources Flathub..." + if ! ensure_flathub_sources; then + echo "# Erreur lors de la configuration de Flathub" + exit 1 + fi + + echo "70" ; echo "# Installation de ProtonUp-Qt via Flatpak..." + echo "$password" | timeout $TIMEOUT_INSTALL sudo -S flatpak install -y flathub net.davidotek.pupgui2 >> "$LOG_FILE" 2>&1 + if [ $? -ne 0 ]; then + log_error "Échec de l'installation de ProtonUp-Qt" + echo "# Erreur lors de l'installation de ProtonUp-Qt" + exit 1 + fi + + echo "100" ; echo "# Vérification de l'installation..." + ) | zenity --progress \ + --title="Installation de ProtonUp-Qt" \ + --text="Initialisation..." \ + --percentage=0 \ + --width=400 \ + --auto-close + + # Vérifier le code de sortie du processus + if [ ${PIPESTATUS[0]} -ne 0 ]; then + show_error_logs "Échec de l'installation de ProtonUp-Qt" + return + fi + + # Vérifier si l'installation a réussi + if flatpak list | grep -q "net.davidotek.pupgui2"; then + log_info "Installation ProtonUp-Qt réussie" + INSTALLED_APPS+=("ProtonUp-Qt") + INSTALLATION_MESSAGES+=("ProtonUp-Qt a été installé avec succès via Flatpak") + else + log_error "ProtonUp-Qt non trouvé après installation" + show_error_logs "ProtonUp-Qt non trouvé après installation" + fi +} + # Fonction d'installation Lutris install_lutris() { log_info "Début de l'installation de Lutris" @@ -1628,6 +1686,67 @@ uninstall_steam() { fi } +# Fonction de désinstallation ProtonUp-Qt +uninstall_protonup() { + log_info "Début de la désinstallation de ProtonUp-Qt" + + # Vérifier si ProtonUp-Qt est installé + if ! flatpak list | grep -q "net.davidotek.pupgui2"; then + log_info "ProtonUp-Qt non installé" + zenity --info --title="Non installé" --text="ProtonUp-Qt n'est pas installé sur le système." + return + fi + + # Demander confirmation + if ! zenity --question --title="Confirmation" --text="Êtes-vous sûr de vouloir désinstaller ProtonUp-Qt ?"; then + return + fi + + # Demander le mot de passe sudo + password=$(zenity --password --title="Authentification - Désinstallation ProtonUp-Qt" --text="Mot de passe sudo requis pour désinstaller ProtonUp-Qt:") + + if [ $? -eq 1 ]; then + return + fi + + # Vérifier le mot de passe sudo + if ! check_sudo_password "$password"; then + return + fi + + ( + echo "50" ; echo "# Désinstallation de ProtonUp-Qt..." + echo "$password" | timeout $TIMEOUT_APT sudo -S flatpak uninstall -y net.davidotek.pupgui2 >> "$LOG_FILE" 2>&1 + if [ $? -ne 0 ]; then + log_error "Échec de la désinstallation de ProtonUp-Qt" + echo "# Erreur lors de la désinstallation de ProtonUp-Qt" + exit 1 + fi + + echo "100" ; echo "# Vérification de la désinstallation..." + ) | zenity --progress \ + --title="Désinstallation de ProtonUp-Qt" \ + --text="Initialisation..." \ + --percentage=0 \ + --width=400 \ + --auto-close + + # Vérifier le code de sortie du processus + if [ ${PIPESTATUS[0]} -ne 0 ]; then + show_error_logs "Échec de la désinstallation de ProtonUp-Qt" + return + fi + + # Vérifier si la désinstallation a réussi + if ! flatpak list | grep -q "net.davidotek.pupgui2"; then + log_info "Désinstallation ProtonUp-Qt réussie" + zenity --info --title="Succès" --text="ProtonUp-Qt a été désinstallé avec succès !" + else + log_error "Échec de la désinstallation de ProtonUp-Qt" + show_error_logs "Échec de la désinstallation de ProtonUp-Qt" + fi +} + # Fonction de désinstallation Bottles uninstall_bottles() { log_info "Début de la désinstallation de Bottles" @@ -2594,6 +2713,9 @@ if [ $exit_code -eq 1 ] && [ "$selection" = "Désinstaller" ]; then "steam") uninstall_steam ;; + "protonup") + uninstall_protonup + ;; "heroic") uninstall_heroic ;; @@ -2655,6 +2777,7 @@ else for component in "${SELECTED[@]}"; do case $component in "steam") app_list="$app_list\n• Steam" ;; + "protonup") app_list="$app_list\n• ProtonUp-Qt" ;; "heroic") app_list="$app_list\n• Heroic Game Launcher" ;; "lutris") app_list="$app_list\n• Lutris" ;; "bottles") app_list="$app_list\n• Bottles" ;; @@ -2668,7 +2791,7 @@ else "mumble") app_list="$app_list\n• Mumble" ;; "flatseal") app_list="$app_list\n• Flatseal" ;; "nvidia") app_list="$app_list\n• NVIDIA + CUDA" ;; - "utils") app_list="$app_list\n• Utilitaires Gaming" ;; + "utils") app_list="$app_list\n• Goverlay (FPS, CPU, GPU, température)" ;; esac done @@ -2693,6 +2816,9 @@ else "steam") install_steam ;; + "protonup") + install_protonup + ;; "heroic") install_heroic ;; @@ -2741,6 +2867,7 @@ else if [ "$BATCH_INSTALL_MODE" = "true" ]; then case $component in "steam") next_batch_app "Steam" ;; + "protonup") next_batch_app "ProtonUp-Qt" ;; "heroic") next_batch_app "Heroic Game Launcher" ;; "lutris") next_batch_app "Lutris" ;; "bottles") next_batch_app "Bottles" ;; @@ -2754,7 +2881,7 @@ else "mumble") next_batch_app "Mumble" ;; "flatseal") next_batch_app "Flatseal" ;; "nvidia") next_batch_app "NVIDIA + CUDA" ;; - "utils") next_batch_app "Utilitaires Gaming" ;; + "utils") next_batch_app "Goverlay (performances)" ;; esac fi done