Application PySide6 (GUI + CLI) fonctionnant sous Linux et Windows : - Diagnostic réseau complet AD (DNS, SRV, ports, NTP, outils requis) - Jointure de domaine via realmd (Linux) ou Add-Computer (Windows) - Installation automatique des prérequis Linux (apt) - CLI colorée (diagnose/join/install-prereqs), sans dépendance PySide6 - Scripts de packaging PyInstaller pour Linux et Windows Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
23 lines
831 B
Python
23 lines
831 B
Python
"""Détection des privilèges d'exécution (root/Administrateur), indépendante de l'OS."""
|
|
|
|
import ctypes
|
|
import os
|
|
import platform
|
|
|
|
|
|
def is_elevated() -> bool:
|
|
"""True si le processus courant tourne avec les droits root (Linux) ou Administrateur (Windows)."""
|
|
if platform.system() == "Windows":
|
|
try:
|
|
return bool(ctypes.windll.shell32.IsUserAnAdmin())
|
|
except Exception:
|
|
return False
|
|
return hasattr(os, "geteuid") and os.geteuid() == 0
|
|
|
|
|
|
def elevation_hint() -> str:
|
|
"""Message à afficher à l'utilisateur pour élever l'application."""
|
|
if platform.system() == "Windows":
|
|
return "Relancez l'application via un clic droit → « Exécuter en tant qu'administrateur »."
|
|
return "Relancez l'application avec les droits root, par exemple : sudo python3 main.py"
|