From c0076647d8cb59b4be6281db0d24433128342bfc Mon Sep 17 00:00:00 2001 From: Manus Date: Sun, 18 Jan 2026 13:40:33 -0500 Subject: [PATCH] =?UTF-8?q?Checkpoint:=20R=C3=A9organisation=20du=20menu?= =?UTF-8?q?=20de=20navigation=20:=20cr=C3=A9ation=20d'une=20nouvelle=20sec?= =?UTF-8?q?tion=20"Gestion=20technique"=20et=20d=C3=A9placement=20de=20"S?= =?UTF-8?q?=C3=A9curit=C3=A9=20SSH=20(Fail2Ban)"=20depuis=20Configuration?= =?UTF-8?q?=20vers=20cette=20nouvelle=20section.=20Int=C3=A9gration=20de?= =?UTF-8?q?=20la=20page=20AdminFail2Ban=20dans=20DashboardLayout=20pour=20?= =?UTF-8?q?afficher=20le=20menu=20lat=C3=A9ral=20lors=20de=20la=20navigati?= =?UTF-8?q?on.=20D=C3=A9ploy=C3=A9=20et=20test=C3=A9=20sur=20le=20VPS=20de?= =?UTF-8?q?=20production.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/src/components/DashboardLayout.tsx | 5 +++++ client/src/pages/admin/AdminFail2Ban.tsx | 3 +++ todo.md | 3 +++ 3 files changed, 11 insertions(+) diff --git a/client/src/components/DashboardLayout.tsx b/client/src/components/DashboardLayout.tsx index b280e00..e4391ff 100644 --- a/client/src/components/DashboardLayout.tsx +++ b/client/src/components/DashboardLayout.tsx @@ -69,6 +69,11 @@ const menuSections = [ { icon: Settings, label: "Configuration SMTP", path: "/admin/email-config" }, { icon: Settings, label: "Paramètres", path: "/admin/parametres" }, { icon: FileText, label: "Attestations de formation", path: "/admin/attestations" }, + ] + }, + { + title: "Gestion technique", + items: [ { icon: Shield, label: "Sécurité SSH (Fail2Ban)", path: "/admin/fail2ban" }, ] }, diff --git a/client/src/pages/admin/AdminFail2Ban.tsx b/client/src/pages/admin/AdminFail2Ban.tsx index a816540..b3ee10f 100644 --- a/client/src/pages/admin/AdminFail2Ban.tsx +++ b/client/src/pages/admin/AdminFail2Ban.tsx @@ -1,5 +1,6 @@ import { useState } from "react"; import { trpc } from "@/lib/trpc"; +import DashboardLayout from "@/components/DashboardLayout"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { Button } from "@/components/ui/button"; import { Badge } from "@/components/ui/badge"; @@ -60,6 +61,7 @@ export default function AdminFail2Ban() { const alertLevel = recentBans && recentBans >= 10 ? "danger" : recentBans && recentBans >= 5 ? "warning" : "safe"; return ( +
@@ -235,5 +237,6 @@ export default function AdminFail2Ban() {
+ ); } diff --git a/todo.md b/todo.md index 271f04a..50b0564 100644 --- a/todo.md +++ b/todo.md @@ -877,3 +877,6 @@ - [x] Créer l'interface admin du tableau de bord Fail2Ban avec possibilité de débannir - [x] Implémenter le système d'alertes email pour les attaques massives (>10 IPs/heure) - [x] Tester et déployer le monitoring Fail2Ban sur le VPS +- [x] Créer une nouvelle section "Gestion technique" dans le menu de navigation +- [x] Déplacer "Sécurité SSH (Fail2Ban)" de Configuration vers Gestion technique +- [x] Intégrer la page AdminFail2Ban dans DashboardLayout pour afficher le menu latéral