Optimisation fichier config

This commit is contained in:
Charles Mendiburu 2025-03-24 11:35:13 +01:00
parent 6c5275643b
commit 36a3f09d9e
5 changed files with 521 additions and 569 deletions

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8" /> <meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" /> <link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vite + React + TS</title> <title>Projet Dev Web</title>
</head> </head>
<body> <body>
<div id="root"></div> <div id="root"></div>

1038
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -26,4 +26,4 @@
"tailwindcss": "^3.4.1", "tailwindcss": "^3.4.1",
"vite": "^5.4.2" "vite": "^5.4.2"
} }
} }

View File

@ -11,15 +11,15 @@ function App() {
<header className="bg-white shadow-sm"> <header className="bg-white shadow-sm">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-4"> <div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-4">
<div className="flex justify-between items-center"> <div className="flex justify-between items-center">
<h1 className="text-2xl font-bold text-indigo-600">SmartCity Hub</h1> <h1 className="text-2xl font-bold text-indigo-600">PauCity Connect</h1>
<div className="flex gap-4"> <div className="flex gap-4">
<button className="flex items-center gap-2 text-gray-600 hover:text-indigo-600"> <button className="flex items-center gap-2 text-gray-600 hover:text-indigo-600">
<LogIn size={20} /> <LogIn size={20} />
<span>Login</span> <span>Connexion</span>
</button> </button>
<button className="flex items-center gap-2 bg-indigo-600 text-white px-4 py-2 rounded-lg hover:bg-indigo-700"> <button className="flex items-center gap-2 bg-indigo-600 text-white px-4 py-2 rounded-lg hover:bg-indigo-700">
<UserPlus size={20} /> <UserPlus size={20} />
<span>Sign Up</span> <span>Inscription</span>
</button> </button>
</div> </div>
</div> </div>
@ -30,10 +30,10 @@ function App() {
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12"> <div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12">
<div className="text-center mb-12"> <div className="text-center mb-12">
<h2 className="text-4xl font-bold text-gray-900 mb-4"> <h2 className="text-4xl font-bold text-gray-900 mb-4">
Welcome to Your Smart City Bienvenue dans ta ville intelligente.
</h2> </h2>
<p className="text-xl text-gray-600 max-w-3xl mx-auto"> <p className="text-xl text-gray-600 max-w-3xl mx-auto">
Discover everything your city has to offer - from local events to transportation schedules, all in one place. Découvrez tout ce que votre ville a à offrir - des événements locaux aux horaires de transport, le tout en un seul endroit.
</p> </p>
</div> </div>
@ -91,12 +91,12 @@ function App() {
<div className="w-12 h-12 bg-indigo-100 rounded-lg flex items-center justify-center mb-4"> <div className="w-12 h-12 bg-indigo-100 rounded-lg flex items-center justify-center mb-4">
<MapPin className="text-indigo-600" size={24} /> <MapPin className="text-indigo-600" size={24} />
</div> </div>
<h3 className="text-xl font-semibold mb-2">Points of Interest</h3> <h3 className="text-xl font-semibold mb-2">Points d'intérêt</h3>
<p className="text-gray-600 mb-4"> <p className="text-gray-600 mb-4">
Discover the best locations in your city, from restaurants to parks and cultural venues. Découvrez les meilleurs endroits de votre ville, qu'il s'agisse de restaurants, de parcs ou de lieux culturels.
</p> </p>
<a href="#" className="flex items-center text-indigo-600 hover:text-indigo-700"> <a href="#" className="flex items-center text-indigo-600 hover:text-indigo-700">
Explore places <ArrowRight size={16} className="ml-2" /> Explorer les lieux <ArrowRight size={16} className="ml-2" />
</a> </a>
</div> </div>
@ -104,12 +104,12 @@ function App() {
<div className="w-12 h-12 bg-indigo-100 rounded-lg flex items-center justify-center mb-4"> <div className="w-12 h-12 bg-indigo-100 rounded-lg flex items-center justify-center mb-4">
<Calendar className="text-indigo-600" size={24} /> <Calendar className="text-indigo-600" size={24} />
</div> </div>
<h3 className="text-xl font-semibold mb-2">Local Events</h3> <h3 className="text-xl font-semibold mb-2">Evenements locaux</h3>
<p className="text-gray-600 mb-4"> <p className="text-gray-600 mb-4">
Stay updated with the latest events, festivals, and community gatherings in your area. Restez informé des derniers événements, festivals et rassemblements communautaires dans votre région.
</p> </p>
<a href="#" className="flex items-center text-indigo-600 hover:text-indigo-700"> <a href="#" className="flex items-center text-indigo-600 hover:text-indigo-700">
View events <ArrowRight size={16} className="ml-2" /> Voir les événements <ArrowRight size={16} className="ml-2" />
</a> </a>
</div> </div>
@ -117,12 +117,12 @@ function App() {
<div className="w-12 h-12 bg-indigo-100 rounded-lg flex items-center justify-center mb-4"> <div className="w-12 h-12 bg-indigo-100 rounded-lg flex items-center justify-center mb-4">
<Bus className="text-indigo-600" size={24} /> <Bus className="text-indigo-600" size={24} />
</div> </div>
<h3 className="text-xl font-semibold mb-2">Public Transport</h3> <h3 className="text-xl font-semibold mb-2">Transports publics</h3>
<p className="text-gray-600 mb-4"> <p className="text-gray-600 mb-4">
Access real-time schedules and routes for buses, trains, and other public transportation. Accédez en temps réel aux horaires et aux itinéraires des bus, des trains et des autres transports publics.
</p> </p>
<a href="#" className="flex items-center text-indigo-600 hover:text-indigo-700"> <a href="#" className="flex items-center text-indigo-600 hover:text-indigo-700">
Check schedules <ArrowRight size={16} className="ml-2" /> Vérifier les horaires <ArrowRight size={16} className="ml-2" />
</a> </a>
</div> </div>
</div> </div>

View File

@ -3,7 +3,21 @@ import react from '@vitejs/plugin-react';
export default defineConfig({ export default defineConfig({
plugins: [react()], plugins: [react()],
optimizeDeps: { server: {
exclude: ['lucide-react'], hmr: true, // Hot Module Replacement pour éviter les rechargements complets
}, },
}); build: {
rollupOptions: {
output: {
manualChunks(id) {
if (id.includes('node_modules')) {
return 'vendor'; // Sépare les gros modules pour un meilleur chargement
}
},
},
},
},
optimizeDeps: {
include: ['lucide-react'], // Réintègre Lucide pour éviter les blocages
},
});