diff --git a/README.md b/README.md index c300135..dd4be0f 100644 --- a/README.md +++ b/README.md @@ -1,75 +1,156 @@ -# React + TypeScript + Vite +# 🛡️ AEGIS Boilerplate - Neumorphic UI (Vite + React 19 + Tailwind v4) -This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. +Un point de départ ultra-performant et esthétique pour la création d'applications web modernes et de tableaux de bord B2B complexes. Ce template intègre un **Design System Neumorphique (Soft UI)** complet, taillé sur mesure pour des interfaces de cybersécurité haut de gamme. -Currently, two official plugins are available: +## ✨ Fonctionnalités Principales -- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Oxc](https://oxc.rs) -- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) +- ⚡️ **Vite & React 19** : Compilation instantanée, HMR ultra-rapide et prise en charge des dernières fonctionnalités React sans `forwardRef`. +- 🎨 **Tailwind CSS v4** : Configuration moderne sans fichier `tailwind.config.js`, stylisation utilitaire et mode sombre manuel. +- 🎛️ **Design System Neumorphique** : Kit UI complet (Boutons, Cartes, Inputs, Sidebar, Toggles) basé sur l'extrusion et le creusage de la matière. +- 🌓 **Thème Sombre / Clair Synchronisé** : Hook `useTheme` gérant les préférences système et la persistance via `localStorage` avec des transitions fluides à 300ms. +- 🧩 **Architecture Clean** : Organisation modulaire, composants agnostiques, et alias absolus (`@/`). +- 🗄️ **Backend Ready** : Structure préparée pour l'intégration de PocketBase (Auth, DB, Storage). -## React Compiler +--- -The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see [this documentation](https://react.dev/learn/react-compiler/installation). +## 🛠️ Stack Technique -## Expanding the ESLint configuration +- **Framework** : [React 19](https://react.dev/) +- **Bundler** : [Vite](https://vitejs.dev/) +- **Styling** : [Tailwind CSS v4](https://tailwindcss.com/) +- **Routing** : [React Router v6](https://reactrouter.com/) +- **Icônes** : [Lucide React](https://lucide.dev/) +- **Utilitaires UI** : `clsx` & `tailwind-merge` (Fonction `cn()`) -If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules: +--- -```js -export default defineConfig([ - globalIgnores(['dist']), - { - files: ['**/*.{ts,tsx}'], - extends: [ - // Other configs... +## 🚀 Démarrage Rapide - // Remove tseslint.configs.recommended and replace with this - tseslint.configs.recommendedTypeChecked, - // Alternatively, use this for stricter rules - tseslint.configs.strictTypeChecked, - // Optionally, add this for stylistic rules - tseslint.configs.stylisticTypeChecked, +### 1. Prérequis +Assurez-vous d'avoir [Node.js](https://nodejs.org/) (version 18+) et [pnpm](https://pnpm.io/) installés sur votre machine. - // Other configs... - ], - languageOptions: { - parserOptions: { - project: ['./tsconfig.node.json', './tsconfig.app.json'], - tsconfigRootDir: import.meta.dirname, - }, - // other options... - }, - }, -]) +### 2. Installation + +Clonez ce template ou copiez les fichiers, puis installez les dépendances avec pnpm : + +```bash +pnpm install ``` -You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules: +### 3. Lancer le serveur de développement -```js -// eslint.config.js -import reactX from 'eslint-plugin-react-x' -import reactDom from 'eslint-plugin-react-dom' - -export default defineConfig([ - globalIgnores(['dist']), - { - files: ['**/*.{ts,tsx}'], - extends: [ - // Other configs... - // Enable lint rules for React - reactX.configs['recommended-typescript'], - // Enable lint rules for React DOM - reactDom.configs.recommended, - ], - languageOptions: { - parserOptions: { - project: ['./tsconfig.node.json', './tsconfig.app.json'], - tsconfigRootDir: import.meta.dirname, - }, - // other options... - }, - }, -]) +```bash +pnpm dev ``` + +L'application sera accessible sur `http://localhost:5173`. Visitez `http://localhost:5173/ui` pour consulter la vitrine interactive des composants (UI Showcase). + +--- + +## 📐 Règle d'Or du Neumorphism + +Pour que l'illusion d'optique Neumorphique (3D souple) fonctionne, **les composants et le fond de la page DOIVENT avoir exactement la même couleur**. + +Ce template utilise deux couleurs maîtresses strictes codées en dur dans les composants : + +* ☀️ **Mode Light** : `#e8e8e8` +* 🌙 **Mode Dark** : `#1e293b` + +⚠️ **Le conteneur racine de toutes vos pages (ex: dans `App.tsx` ou votre Layout) doit impérativement porter ces classes :** + +```tsx +
Node-01 est opérationnel.
+