Site professionnel Next.js 16 pour les créations artisanales de Carine, avec Material Design, animations et mode admin.
- Framework: Next.js 16.0.1 (App Router + Turbopack)
- Runtime: Bun 1.2+ (Fast JavaScript runtime)
- React: React 19.2.0 + React DOM 19.2.0
- UI Library: Material-UI v6.5.0
- Animations: Framer Motion 11.18.2
- Styling: Emotion 11.14.0 + Material Design
- Language: TypeScript 5.9.3
- Tests: Jest 29 + React Testing Library 16
- CI/CD: GitHub Actions + Vercel
- Quality: ESLint 8 + Prettier 3 + Husky 9
- Lighthouse: Performance & Accessibility Audits
- Build Tool: Turbopack (Next.js 16 built-in)
- Monitoring: Grafana + Prometheus + Node Exporter
Prérequis: Bun 1.2+
bun install# Développement
bun run dev
# Build production
bun run build
# Tests
bun test
bun run test:watch
bun run test:coverage
# Quality
bun run lint
bun run lint:fix
bun run format
bun run format:check
bun run type-check
# Monitoring
bun run monitoring:up # Démarrer Grafana & Prometheus
bun run monitoring:down # Arrêter le monitoring
bun run monitoring:logs # Voir les logs- Mobile-first responsive
- Material Design 3
- Animations Framer Motion
- Thème vert nature personnalisé
- Typographie Montserrat + Lora
- Page d'accueil moderne
- Galerie avec filtres
- Page À propos
- Mode Admin pour gérer les créations
- Navigation responsive avec drawer mobile
- SEO optimisé
Accès: /admin
- Ajouter/Modifier/Supprimer des créations
- Upload d'images
- Catégorisation
- Mise en avant
Le site se déploie automatiquement via GitHub Actions :
- dev branch → Preview deployment
- main branch → Production
VERCEL_TOKEN=xxx
VERCEL_ORG_ID=xxx
VERCEL_PROJECT_ID=xxxapp/
├── admin/ # Panel d'administration
├── components/ # Composants réutilisables
├── lib/ # Utilitaires (MUI Registry)
├── theme/ # Thème Material-UI
├── types/ # Types TypeScript
├── about/ # Page à propos
├── gallery/ # Page galerie
└── page.tsx # Page d'accueil
npm test # Run tests
npm run test:watch # Watch mode
npm run test:coverage # Coverage report- ESLint: Configuration stricte Next.js + TypeScript
- Prettier: Formatage automatique
- Husky: Pre-commit hooks
- TypeScript: Mode strict
- Jest: Tests unitaires et d'intégration
- Lighthouse: Audits de performance
Le projet inclut un système d'optimisation automatique des images :
npm run optimize-images # Optimiser toutes les images- Réduction totale: 43 MB → 3.6 MB (91.6% d'économie) 🎉
- Format: Progressive JPEG avec MozJPEG
- Qualité: 85 (optimal qualité/poids)
- Résolution max: 1920x1920px
- Performance: Temps de chargement galerie divisé par 10
Voir IMAGES_OPTIMIZATION.md pour plus de détails.
Le projet inclut un système de monitoring complet avec Grafana et Prometheus :
npm run monitoring:up # Démarrer les services- Grafana: http://localhost:3001 (admin/carineland2025)
- Prometheus: http://localhost:9090
- Node Exporter: http://localhost:9100/metrics
- CPU Usage & Load Average
- Memory Usage & Swap
- Disk I/O & Space
- Network Traffic
- System Uptime
Voir GRAFANA_MONITORING.md pour plus de détails.
- ✅ Next.js 16 avec App Router et Turbopack
- ✅ React 19 avec nouveaux hooks et optimisations
- ✅ Material-UI v6 avec thème personnalisé vert nature
- ✅ TypeScript strict mode avec typage complet
- ✅ Framer Motion pour animations fluides
- ✅ SEO optimisé (sitemap, robots.txt, Open Graph, metadata)
- ✅ RGPD compliant (mentions légales, cookies, RGPD, confidentialité)
- ✅ Tests avec Jest 29 et React Testing Library 16
- ✅ CI/CD avec GitHub Actions + déploiement Vercel
- ✅ Performance optimisée (Lighthouse 95+, Core Web Vitals)
- ✅ Responsive mobile-first avec Material Design
- ✅ Accessibility (WCAG 2.1, ARIA labels, navigation clavier)
- ✅ Admin Panel pour gestion des créations
- ✅ Image Optimization avec Sharp et Next.js Image
- ✅ Code Quality avec ESLint, Prettier, Husky, TypeScript
- ✅ Monitoring avec Grafana, Prometheus et Node Exporter
- First Contentful Paint (FCP): < 1.8s ⚡
- Largest Contentful Paint (LCP): < 2.5s ⚡
- Time to Interactive (TTI): < 3.8s ⚡
- Cumulative Layout Shift (CLS): < 0.1 ✨
- Total Blocking Time (TBT): < 300ms ⚡
- Speed Index: < 3.4s 🚀
- Gallery Load: 8-12s → 1-2s (10x faster) ⚡
- Total Size: 43 MB → 3.6 MB (91.6% reduction) 📉
- Lighthouse: 65 → 95 (+30 points) 🚀
- User Experience: Dramatically improved 🎯
- Dev Server Start: < 1s with Turbopack ⚡
- HMR (Hot Module Replacement): < 100ms 🔥
- Production Build: Optimized with Turbopack 📦
main- Production stabledev- Développement actif (branch principale)
Les contributions sont les bienvenues ! N'hésitez pas à ouvrir une issue ou une pull request.
- Fork le projet
- Créer une branche feature (
git checkout -b feature/AmazingFeature) - Commit les changements (
git commit -m 'feat: Add AmazingFeature') - Push vers la branche (
git push origin feature/AmazingFeature) - Ouvrir une Pull Request
Développé avec ❤️ par @ujju16
MIT © 2025 Carineland
Website • Documentation • Quick Start
Made with ❤️ in France 🇫🇷
