Actualiser 7lna.py

This commit is contained in:
2026-05-22 13:10:16 +00:00
parent 8bf8204ae6
commit 84a3364756

42
7lna.py
View File

@@ -259,42 +259,30 @@ class Antivirus7LnA(ctk.CTk):
def init_scanner_view(self):
frame = ctk.CTkFrame(self, fg_color="transparent")
frame.grid_rowconfigure(3, weight=1)
frame.grid_columnconfigure((0, 1, 2), weight=1)
self.views["scanner"] = frame
# 1. En-tête
ctk.CTkLabel(frame, text="Analyse Système", font=ctk.CTkFont(size=38, weight="bold"), text_color=TEXT_MAIN).pack(anchor="w", pady=(0, 20))
ctk.CTkLabel(frame, text="Analyse Système", font=ctk.CTkFont(size=38, weight="bold")).grid(row=0, column=0, columnspan=3, sticky="w", pady=(0, 30))
# 2. Le Panneau de Contrôle (Une carte qui regroupe les actions)
control_card = ctk.CTkFrame(frame, fg_color=BG_CARD, corner_radius=15, border_width=1, border_color="#374151")
control_card.pack(fill="x", pady=(0, 20), ipady=10)
control_card.grid_columnconfigure((0, 1, 2), weight=1)
self.btn_scan_f = ctk.CTkButton(frame, text="📄 Fichier", command=lambda: self.start_manual_scan(is_dir=False), height=50, fg_color=BG_CARD, hover_color="#374151", border_width=1, border_color=ACCENT_BLUE)
self.btn_scan_f.grid(row=1, column=0, padx=(0, 5), pady=5, sticky="ew")
# Boutons avec des couleurs profondes et professionnelles
self.btn_scan_f = ctk.CTkButton(control_card, text="📄 Analyser Fichier", command=lambda: self.start_manual_scan(is_dir=False),
height=45, fg_color="#1E3A8A", hover_color=ACCENT_BLUE, font=ctk.CTkFont(weight="bold"))
self.btn_scan_f.grid(row=0, column=0, padx=15, pady=15, sticky="ew")
self.btn_scan_d = ctk.CTkButton(frame, text="📁 Dossier", command=lambda: self.start_manual_scan(is_dir=True), height=50, fg_color=BG_CARD, hover_color="#374151", border_width=1, border_color=ACCENT_BLUE)
self.btn_scan_d.grid(row=1, column=1, padx=(5, 5), pady=5, sticky="ew")
self.btn_scan_d = ctk.CTkButton(control_card, text="📁 Analyser Dossier", command=lambda: self.start_manual_scan(is_dir=True),
height=45, fg_color="#1E3A8A", hover_color=ACCENT_BLUE, font=ctk.CTkFont(weight="bold"))
self.btn_scan_d.grid(row=0, column=1, padx=15, pady=15, sticky="ew")
self.btn_db_update = ctk.CTkButton(frame, text="🔄 MaJ Signatures", command=self.update_virus_db_prompt, height=50, fg_color="#059669", hover_color="#047857")
self.btn_db_update.grid(row=1, column=2, padx=(5, 0), pady=5, sticky="ew")
self.btn_db_update = ctk.CTkButton(control_card, text="🔄 MaJ Signatures", command=self.update_virus_db_prompt,
height=45, fg_color="#064E3B", hover_color="#059669", font=ctk.CTkFont(weight="bold"))
self.btn_db_update.grid(row=0, column=2, padx=15, pady=15, sticky="ew")
self.btn_rootkit = ctk.CTkButton(frame, text="🕵️ Hunt Rootkits (rkhunter)", command=self.run_rootkit_scan, height=50, fg_color=ACCENT_VIOLET, hover_color="#7C3AED")
self.btn_rootkit.grid(row=2, column=0, columnspan=3, pady=(15, 20), sticky="ew")
self.btn_rootkit = ctk.CTkButton(control_card, text="🕵️ Chasse aux Rootkits (rkhunter)", command=self.run_rootkit_scan,
height=45, fg_color="#4C1D95", hover_color=ACCENT_VIOLET, font=ctk.CTkFont(weight="bold"))
self.btn_rootkit.grid(row=1, column=0, columnspan=3, padx=15, pady=(0, 15), sticky="ew")
# 3. La barre de progression (Subtile, juste en dessous des contrôles)
self.scan_progress = ctk.CTkProgressBar(frame, mode="indeterminate", height=4, progress_color=ACCENT_BLUE, fg_color="transparent")
self.scan_progress.pack(fill="x", pady=(0, 15))
self.scan_progress = ctk.CTkProgressBar(frame, mode="indeterminate", height=4, progress_color=ACCENT_BLUE)
self.scan_progress.grid(row=3, column=0, columnspan=3, sticky="ew")
self.scan_progress.set(0)
# 4. Le Terminal Géant (Prend tout l'espace restant)
self.scan_console = ctk.CTkTextbox(frame, font=ctk.CTkFont(family="Consolas", size=14), fg_color=BG_CARD,
corner_radius=15, border_width=1, border_color="#374151")
self.scan_console.pack(fill="both", expand=True)
self.scan_console = ctk.CTkTextbox(frame, font=ctk.CTkFont(family="Consolas", size=14), fg_color=BG_CARD, corner_radius=15, border_width=1, border_color="#374151")
self.scan_console.grid(row=4, column=0, columnspan=3, pady=10, sticky="nsew")
self.setup_console_tags(self.scan_console)
self.scan_console.insert("end", f"{self.get_time_prefix()}[*] Moteur d'analyse prêt.\n", "info")