Checkpoint: Audit technique : suppression des composants, scripts et dépendances inutilisés ; chargement différé des pages ; génération de sauvegardes SQL robuste par lots ; centralisation des contrôles d’accès ; sécurisation des cookies Azure et imports web ; documentation de maintenance et 5 tests de non-régression ajoutés.
This commit is contained in:
@@ -1,27 +1,35 @@
|
||||
import { Toaster } from "@/components/ui/sonner";
|
||||
import { TooltipProvider } from "@/components/ui/tooltip";
|
||||
import NotFound from "@/pages/NotFound";
|
||||
import { lazy, Suspense } from "react";
|
||||
import { Route, Switch } from "wouter";
|
||||
import ErrorBoundary from "./components/ErrorBoundary";
|
||||
import { ThemeProvider } from "./contexts/ThemeContext";
|
||||
import Home from "./pages/Home";
|
||||
import Login from "./pages/Login";
|
||||
import Dashboard from "./pages/Dashboard";
|
||||
import Upload from "./pages/Upload";
|
||||
import Invoices from "./pages/Invoices";
|
||||
import InvoicesBAP from "./pages/InvoicesBAP";
|
||||
import InvoiceDetail from "./pages/InvoiceDetail";
|
||||
import Settings from "./pages/Settings";
|
||||
import ImportSettings from "./pages/ImportSettings";
|
||||
import History from "./pages/History";
|
||||
import Users from "./pages/Users";
|
||||
import ListsAdmin from "./pages/ListsAdmin";
|
||||
import AutomationRules from "./pages/AutomationRules";
|
||||
import BapHistory from "./pages/BapHistory";
|
||||
import ImportReport from "./pages/ImportReport";
|
||||
import LearningSettings from "./pages/LearningSettings";
|
||||
import VentilationFreePro from "./pages/VentilationFreePro";
|
||||
import WebImportSources from "./pages/WebImportSources";
|
||||
|
||||
// Pages chargées à la demande : l'écran de connexion reste léger et chaque
|
||||
// module métier ne télécharge son code qu'au moment où l'utilisateur l'ouvre.
|
||||
const Home = lazy(() => import("./pages/Home"));
|
||||
const Login = lazy(() => import("./pages/Login"));
|
||||
const Dashboard = lazy(() => import("./pages/Dashboard"));
|
||||
const Upload = lazy(() => import("./pages/Upload"));
|
||||
const Invoices = lazy(() => import("./pages/Invoices"));
|
||||
const InvoicesBAP = lazy(() => import("./pages/InvoicesBAP"));
|
||||
const InvoiceDetail = lazy(() => import("./pages/InvoiceDetail"));
|
||||
const Settings = lazy(() => import("./pages/Settings"));
|
||||
const ImportSettings = lazy(() => import("./pages/ImportSettings"));
|
||||
const History = lazy(() => import("./pages/History"));
|
||||
const Users = lazy(() => import("./pages/Users"));
|
||||
const ListsAdmin = lazy(() => import("./pages/ListsAdmin"));
|
||||
const AutomationRules = lazy(() => import("./pages/AutomationRules"));
|
||||
const BapHistory = lazy(() => import("./pages/BapHistory"));
|
||||
const ImportReport = lazy(() => import("./pages/ImportReport"));
|
||||
const LearningSettings = lazy(() => import("./pages/LearningSettings"));
|
||||
const VentilationFreePro = lazy(() => import("./pages/VentilationFreePro"));
|
||||
const WebImportSources = lazy(() => import("./pages/WebImportSources"));
|
||||
|
||||
function RouteFallback() {
|
||||
return <div className="min-h-screen bg-background" aria-busy="true" aria-label="Chargement" />;
|
||||
}
|
||||
|
||||
function Router() {
|
||||
return (
|
||||
@@ -56,7 +64,9 @@ function App() {
|
||||
<ThemeProvider defaultTheme="light">
|
||||
<TooltipProvider>
|
||||
<Toaster />
|
||||
<Router />
|
||||
<Suspense fallback={<RouteFallback />}>
|
||||
<Router />
|
||||
</Suspense>
|
||||
</TooltipProvider>
|
||||
</ThemeProvider>
|
||||
</ErrorBoundary>
|
||||
|
||||
Reference in New Issue
Block a user