Loading...
Loading...
Loading...
Anders & A-Cube S.r.l. / 15 janvier 2025 • 4 min read
A-Cube Dashboard v2.0 est une application web production-ready pour la gestion des factures, documents d'administration publique et suite de produits A-Cube. Construite avec React 18, Vite et Material-UI, elle offre des performances exceptionnelles grâce à des techniques avancées de code-splitting et d'optimisation.
Le système utilise Vite pour le développement et le build, React Router v6 pour le routage avec routes imbriquées, Redux Toolkit pour l'état UI et l'authentification, et SWR pour la couche données avec cache API et auto-refetch.
Build & Développement:
Gestion d'État:
Framework UI:
Dashboard factures avec DataGrid MUI pour visualisation données tabulaires avancée, colonnes configurables pour numéro facture, client, montant, statut et date. Génération PDF intégrée avec @react-pdf/renderer pour création documents factures téléchargeables.
Caractéristiques:
Implémentation complète d'i18next avec détection automatique langue navigateur, support pour anglais, italien, français et allemand. Chargement dynamique des traductions avec imports dynamiques pour optimisation bundle.
Configuration:
i18n
.use(LanguageDetector)
.use(initReactI18next)
.use(resourcesToBackend((language, namespace) =>
import(`./locales/${language}/${namespace}.json`)
))
.init({
fallbackLng: 'en',
supportedLngs: ['en', 'it', 'fr', 'de']
})Splitting basé sur Route: Lazy loading des composants route avec React.lazy() et Suspense pour charger les composants uniquement quand nécessaires. Chaque route principale (Dashboard, Factures, Documents PA, Paramètres) est chargée à la demande.
Splitting au Niveau Composant: Les composants lourds comme RichTextEditor, Graphiques et PDFViewer sont divisés en chunks séparés et chargés uniquement quand l'utilisateur en a besoin, réduisant la charge initiale.
Data Fetching avec SWR:
Virtualisation pour Grandes Listes: Implémentation de @tanstack/react-virtual pour listes de factures avec milliers d'éléments, rendu uniquement des éléments visibles avec overscan de 10 items.
Trois environnements distincts avec variables séparées:
{
"scripts": {
"dev": "vite",
"build:dev": "NODE_ENV=dev npm run env-build",
"build:sandbox": "NODE_ENV=sandbox npm run env-build",
"build:prod": "NODE_ENV=production npm run env-build"
}
}Configuration optimisée avec manualChunks pour vendor splitting (react, mui, pdf séparés), limite warning chunk 1000KB, sourcemap désactivé pour production, optimisation dépendances communes.
Avant l'Optimisation:
Après Optimisation (réduction 40%):
A-Cube Dashboard v2.0 démontre le développement d'applications web production-grade avec des performances exceptionnelles grâce à des stratégies d'optimisation intelligentes. La réduction de 40% du bundle et l'amélioration de 65% des performances montrent l'impact des outils de build modernes et des best practices.
Licence: Propriétaire (A-Cube S.r.l.)