Checkpoint: Réorganisation du menu de navigation : création d'une nouvelle section "Gestion technique" et déplacement de "Sécurité SSH (Fail2Ban)" depuis Configuration vers cette nouvelle section. Intégration de la page AdminFail2Ban dans DashboardLayout pour afficher le menu latéral lors de la navigation. Déployé et testé sur le VPS de production.
This commit is contained in:
@@ -69,6 +69,11 @@ const menuSections = [
|
|||||||
{ icon: Settings, label: "Configuration SMTP", path: "/admin/email-config" },
|
{ icon: Settings, label: "Configuration SMTP", path: "/admin/email-config" },
|
||||||
{ icon: Settings, label: "Paramètres", path: "/admin/parametres" },
|
{ icon: Settings, label: "Paramètres", path: "/admin/parametres" },
|
||||||
{ icon: FileText, label: "Attestations de formation", path: "/admin/attestations" },
|
{ icon: FileText, label: "Attestations de formation", path: "/admin/attestations" },
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Gestion technique",
|
||||||
|
items: [
|
||||||
{ icon: Shield, label: "Sécurité SSH (Fail2Ban)", path: "/admin/fail2ban" },
|
{ icon: Shield, label: "Sécurité SSH (Fail2Ban)", path: "/admin/fail2ban" },
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import { trpc } from "@/lib/trpc";
|
import { trpc } from "@/lib/trpc";
|
||||||
|
import DashboardLayout from "@/components/DashboardLayout";
|
||||||
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card";
|
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card";
|
||||||
import { Button } from "@/components/ui/button";
|
import { Button } from "@/components/ui/button";
|
||||||
import { Badge } from "@/components/ui/badge";
|
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";
|
const alertLevel = recentBans && recentBans >= 10 ? "danger" : recentBans && recentBans >= 5 ? "warning" : "safe";
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
<DashboardLayout>
|
||||||
<div className="container mx-auto py-8 space-y-6">
|
<div className="container mx-auto py-8 space-y-6">
|
||||||
<div className="flex items-center justify-between">
|
<div className="flex items-center justify-between">
|
||||||
<div>
|
<div>
|
||||||
@@ -235,5 +237,6 @@ export default function AdminFail2Ban() {
|
|||||||
</CardContent>
|
</CardContent>
|
||||||
</Card>
|
</Card>
|
||||||
</div>
|
</div>
|
||||||
|
</DashboardLayout>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
3
todo.md
3
todo.md
@@ -877,3 +877,6 @@
|
|||||||
- [x] Créer l'interface admin du tableau de bord Fail2Ban avec possibilité de débannir
|
- [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] 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] 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
|
||||||
|
|||||||
Reference in New Issue
Block a user