Spaces:
Running
Running
Add 2 files
Browse files- index.html +301 -629
- prompts.txt +4 -1
index.html
CHANGED
@@ -3,18 +3,26 @@
|
|
3 |
<head>
|
4 |
<meta charset="UTF-8">
|
5 |
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6 |
-
<title>
|
7 |
<script src="https://cdn.tailwindcss.com"></script>
|
8 |
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
9 |
<link href="https://api.mapbox.com/mapbox-gl-js/v2.9.1/mapbox-gl.css" rel="stylesheet">
|
10 |
<style>
|
11 |
@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700&family=Roboto:wght@300;400;700&display=swap');
|
12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
body {
|
14 |
font-family: 'Roboto', sans-serif;
|
15 |
background-color: #0a0a0a;
|
16 |
color: #fff;
|
17 |
overflow: hidden;
|
|
|
18 |
}
|
19 |
|
20 |
.dashboard-font {
|
@@ -22,705 +30,369 @@
|
|
22 |
}
|
23 |
|
24 |
.glass-effect {
|
25 |
-
background: rgba(15, 23, 42, 0.
|
26 |
-
backdrop-filter: blur(
|
27 |
-
border: 1px solid rgba(255, 255, 255, 0.
|
|
|
28 |
}
|
29 |
|
30 |
-
.
|
31 |
-
|
32 |
-
|
33 |
-
border-radius: 12px;
|
34 |
overflow: hidden;
|
|
|
35 |
}
|
36 |
|
37 |
-
.
|
38 |
-
position:
|
39 |
-
|
40 |
-
|
|
|
|
|
41 |
}
|
42 |
|
43 |
-
.
|
44 |
-
|
45 |
-
|
46 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
position: relative;
|
48 |
-
border-top-left-radius: 100% 200%;
|
49 |
-
border-top-right-radius: 100% 200%;
|
50 |
overflow: hidden;
|
51 |
}
|
52 |
|
53 |
-
.
|
|
|
54 |
position: absolute;
|
55 |
-
top:
|
56 |
left: 0;
|
57 |
-
width: 100%;
|
58 |
height: 100%;
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
transition: transform 0.5s ease-out;
|
63 |
}
|
64 |
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
position: absolute;
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
font-size: 1.5rem;
|
78 |
-
font-weight: bold;
|
79 |
-
padding-bottom: 25%;
|
80 |
-
box-sizing: border-box;
|
81 |
}
|
82 |
|
83 |
-
|
84 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
85 |
}
|
86 |
|
87 |
-
@keyframes
|
88 |
-
0% {
|
89 |
-
|
90 |
-
100% { opacity: 0.7; }
|
91 |
}
|
92 |
|
93 |
-
|
94 |
-
|
95 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
96 |
}
|
97 |
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
|
|
|
|
|
|
|
|
103 |
}
|
104 |
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
height: 40px;
|
110 |
-
border-radius: 50%;
|
111 |
-
cursor: pointer;
|
112 |
}
|
113 |
|
114 |
-
.
|
115 |
-
|
116 |
-
width: 4px;
|
117 |
}
|
118 |
|
119 |
-
|
120 |
-
|
121 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
122 |
}
|
123 |
|
124 |
-
|
125 |
-
|
|
|
126 |
}
|
127 |
|
128 |
-
.
|
129 |
-
|
|
|
130 |
}
|
131 |
|
132 |
-
.
|
133 |
-
|
134 |
-
border-radius: 6px;
|
135 |
}
|
136 |
</style>
|
137 |
</head>
|
138 |
<body class="h-screen overflow-hidden">
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
148 |
</div>
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
|
|
|
|
|
|
161 |
</div>
|
162 |
-
<div class="text-xs">
|
163 |
-
<i class="fas fa-
|
164 |
</div>
|
165 |
</div>
|
166 |
-
</div>
|
167 |
-
|
168 |
-
<!-- Zone 2: Contrôle IA flotte -->
|
169 |
-
<div class="glass-effect rounded-2xl p-4 row-span-2 col-span-1 flex flex-col overflow-hidden">
|
170 |
-
<div class="text-center text-gray-400 mb-4">COMMANDE IA FLOTTE</div>
|
171 |
|
172 |
-
<div class="
|
173 |
-
<div class="
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
<
|
181 |
-
|
182 |
-
<div><i class="fas fa-tachometer-alt mr-1"></i> 68 km/h</div>
|
183 |
-
<div><i class="fas fa-gas-pump mr-1"></i> 82%</div>
|
184 |
-
<div><i class="fas fa-route mr-1"></i> 42 km</div>
|
185 |
-
</div>
|
186 |
-
<div class="mt-2 flex space-x-1">
|
187 |
-
<button class="bg-blue-600 hover:bg-blue-700 px-2 py-1 rounded text-xs flex-1">
|
188 |
-
<i class="fas fa-eye mr-1"></i> Suivre
|
189 |
-
</button>
|
190 |
-
<button class="bg-gray-700 hover:bg-gray-600 px-2 py-1 rounded text-xs">
|
191 |
-
<i class="fas fa-cog"></i>
|
192 |
-
</button>
|
193 |
-
</div>
|
194 |
-
</div>
|
195 |
-
|
196 |
-
<!-- Camion 2 -->
|
197 |
-
<div class="bg-gray-800 bg-opacity-50 rounded-xl p-3">
|
198 |
-
<div class="flex justify-between items-center mb-2">
|
199 |
-
<div class="font-bold">TR-6789</div>
|
200 |
-
<div class="text-xs px-2 py-1 rounded-full bg-yellow-900 text-yellow-300">En attente</div>
|
201 |
-
</div>
|
202 |
-
<div class="grid grid-cols-2 gap-2 text-xs">
|
203 |
-
<div><i class="fas fa-warehouse mr-1"></i> Dépôt St-Paul</div>
|
204 |
-
<div><i class="fas fa-tachometer-alt mr-1"></i> 0 km/h</div>
|
205 |
-
<div><i class="fas fa-gas-pump mr-1"></i> 100%</div>
|
206 |
-
<div><i class="fas fa-route mr-1"></i> -</div>
|
207 |
-
</div>
|
208 |
-
<div class="mt-2 flex space-x-1">
|
209 |
-
<button class="bg-blue-600 hover:bg-blue-700 px-2 py-1 rounded text-xs flex-1">
|
210 |
-
<i class="fas fa-play mr-1"></i> Activer
|
211 |
-
</button>
|
212 |
-
<button class="bg-gray-700 hover:bg-gray-600 px-2 py-1 rounded text-xs">
|
213 |
-
<i class="fas fa-cog"></i>
|
214 |
-
</button>
|
215 |
-
</div>
|
216 |
-
</div>
|
217 |
-
|
218 |
-
<!-- Camion 3 -->
|
219 |
-
<div class="bg-gray-800 bg-opacity-50 rounded-xl p-3">
|
220 |
-
<div class="flex justify-between items-center mb-2">
|
221 |
-
<div class="font-bold">TR-3210</div>
|
222 |
-
<div class="text-xs px-2 py-1 rounded-full bg-blue-900 text-blue-300">En maintenance</div>
|
223 |
-
</div>
|
224 |
-
<div class="grid grid-cols-2 gap-2 text-xs">
|
225 |
-
<div><i class="fas fa-tools mr-1"></i> Atelier St-Denis</div>
|
226 |
-
<div><i class="fas fa-tachometer-alt mr-1"></i> 0 km/h</div>
|
227 |
-
<div><i class="fas fa-gas-pump mr-1"></i> 45%</div>
|
228 |
-
<div><i class="fas fa-route mr-1"></i> -</div>
|
229 |
-
</div>
|
230 |
-
<div class="mt-2 flex space-x-1">
|
231 |
-
<button class="bg-gray-700 hover:bg-gray-600 px-2 py-1 rounded text-xs flex-1" disabled>
|
232 |
-
<i class="fas fa-ban mr-1"></i> Indisponible
|
233 |
-
</button>
|
234 |
-
<button class="bg-gray-700 hover:bg-gray-600 px-2 py-1 rounded text-xs">
|
235 |
-
<i class="fas fa-cog"></i>
|
236 |
-
</button>
|
237 |
-
</div>
|
238 |
</div>
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
<div class="flex justify-between items-center mb-2">
|
243 |
-
<div class="font-bold">TR-9876</div>
|
244 |
-
<div class="text-xs px-2 py-1 rounded-full bg-green-900 text-green-300">En mission</div>
|
245 |
-
</div>
|
246 |
-
<div class="grid grid-cols-2 gap-2 text-xs">
|
247 |
-
<div><i class="fas fa-road mr-1"></i> Route du Littoral</div>
|
248 |
-
<div><i class="fas fa-tachometer-alt mr-1"></i> 72 km/h</div>
|
249 |
-
<div><i class="fas fa-gas-pump mr-1"></i> 65%</div>
|
250 |
-
<div><i class="fas fa-route mr-1"></i> 18 km</div>
|
251 |
-
</div>
|
252 |
-
<div class="mt-2 flex space-x-1">
|
253 |
-
<button class="bg-blue-600 hover:bg-blue-700 px-2 py-1 rounded text-xs flex-1">
|
254 |
-
<i class="fas fa-eye mr-1"></i> Suivre
|
255 |
-
</button>
|
256 |
-
<button class="bg-gray-700 hover:bg-gray-600 px-2 py-1 rounded text-xs">
|
257 |
-
<i class="fas fa-cog"></i>
|
258 |
-
</button>
|
259 |
-
</div>
|
260 |
</div>
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
<div class="flex justify-between items-center mb-2">
|
265 |
-
<div class="font-bold">TR-5555</div>
|
266 |
-
<div class="text-xs px-2 py-1 rounded-full bg-red-900 text-red-300">Alerte</div>
|
267 |
-
</div>
|
268 |
-
<div class="grid grid-cols-2 gap-2 text-xs">
|
269 |
-
<div><i class="fas fa-road mr-1"></i> RN3</div>
|
270 |
-
<div><i class="fas fa-tachometer-alt mr-1"></i> 32 km/h</div>
|
271 |
-
<div><i class="fas fa-gas-pump mr-1"></i> 12%</div>
|
272 |
-
<div><i class="fas fa-route mr-1"></i> 5 km</div>
|
273 |
-
</div>
|
274 |
-
<div class="mt-2 flex space-x-1">
|
275 |
-
<button class="bg-red-600 hover:bg-red-700 px-2 py-1 rounded text-xs flex-1">
|
276 |
-
<i class="fas fa-exclamation-triangle mr-1"></i> Intervention
|
277 |
-
</button>
|
278 |
-
<button class="bg-gray-700 hover:bg-gray-600 px-2 py-1 rounded text-xs">
|
279 |
-
<i class="fas fa-cog"></i>
|
280 |
-
</button>
|
281 |
-
</div>
|
282 |
</div>
|
283 |
</div>
|
|
|
|
|
|
|
284 |
</div>
|
285 |
|
286 |
-
<div class="
|
287 |
-
<
|
288 |
-
<i class="fas fa-
|
289 |
-
</button>
|
290 |
-
</div>
|
291 |
-
</div>
|
292 |
-
|
293 |
-
<!-- Zone 3: Détails camion sélectionné -->
|
294 |
-
<div class="glass-effect rounded-2xl p-4 row-span-2 col-span-1 flex flex-col">
|
295 |
-
<div class="text-center text-gray-400 mb-4">DÉTAILS CAMION</div>
|
296 |
-
|
297 |
-
<div class="flex-1 flex flex-col">
|
298 |
-
<div class="bg-gray-800 bg-opacity-50 rounded-xl p-4 mb-4">
|
299 |
-
<div class="text-center font-bold text-xl mb-2">TR-4512</div>
|
300 |
-
<div class="flex justify-center mb-4">
|
301 |
-
<img src="https://cdn-icons-png.flaticon.com/512/2972/2972495.png" class="h-16" alt="Camion">
|
302 |
-
</div>
|
303 |
-
<div class="grid grid-cols-2 gap-3 text-sm">
|
304 |
-
<div><i class="fas fa-calendar-alt mr-2"></i> Mise en service: 12/2023</div>
|
305 |
-
<div><i class="fas fa-road mr-2"></i> Kilométrage: 8,452 km</div>
|
306 |
-
<div><i class="fas fa-cogs mr-2"></i> Type: Porteur 19T</div>
|
307 |
-
<div><i class="fas fa-battery-three-quarters mr-2"></i> Autonomie: 620 km</div>
|
308 |
-
</div>
|
309 |
</div>
|
310 |
-
|
311 |
-
<
|
312 |
-
|
313 |
-
<div class="
|
314 |
-
<
|
|
|
315 |
</div>
|
316 |
-
<div class="flex
|
317 |
-
<
|
318 |
-
<
|
319 |
</div>
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
<div class="font-bold mb-2">TÉLÉMETRIE</div>
|
324 |
-
<div class="grid grid-cols-3 gap-2 text-center">
|
325 |
-
<div class="bg-gray-700 p-2 rounded">
|
326 |
-
<div class="text-xs">MOTEUR</div>
|
327 |
-
<div class="dashboard-font">98%</div>
|
328 |
-
</div>
|
329 |
-
<div class="bg-gray-700 p-2 rounded">
|
330 |
-
<div class="text-xs">FREINS</div>
|
331 |
-
<div class="dashboard-font">100%</div>
|
332 |
-
</div>
|
333 |
-
<div class="bg-gray-700 p-2 rounded">
|
334 |
-
<div class="text-xs">PNEUS</div>
|
335 |
-
<div class="dashboard-font">92%</div>
|
336 |
-
</div>
|
337 |
</div>
|
338 |
</div>
|
339 |
-
|
340 |
-
|
341 |
-
<div class="font-bold mb-2">SYSTÈMES IA</div>
|
342 |
-
<div class="space-y-3">
|
343 |
-
<div class="flex items-center">
|
344 |
-
<div class="w-3 h-3 rounded-full bg-green-500 mr-2"></div>
|
345 |
-
<div class="text-sm flex-1">Pilotage autonome</div>
|
346 |
-
<div class="text-xs bg-green-900 text-green-300 px-2 py-1 rounded-full">Actif</div>
|
347 |
-
</div>
|
348 |
-
<div class="flex items-center">
|
349 |
-
<div class="w-3 h-3 rounded-full bg-green-500 mr-2"></div>
|
350 |
-
<div class="text-sm flex-1">Détection obstacles</div>
|
351 |
-
<div class="text-xs bg-green-900 text-green-300 px-2 py-1 rounded-full">Actif</div>
|
352 |
-
</div>
|
353 |
-
<div class="flex items-center">
|
354 |
-
<div class="w-3 h-3 rounded-full bg-yellow-500 mr-2"></div>
|
355 |
-
<div class="text-sm flex-1">Optimisation route</div>
|
356 |
-
<div class="text-xs bg-yellow-900 text-yellow-300 px-2 py-1 rounded-full">Calcul...</div>
|
357 |
-
</div>
|
358 |
-
<div class="flex items-center">
|
359 |
-
<div class="w-3 h-3 rounded-full bg-red-500 mr-2"></div>
|
360 |
-
<div class="text-sm flex-1">Mode manuel</div>
|
361 |
-
<div class="text-xs bg-red-900 text-red-300 px-2 py-1 rounded-full">Désactivé</div>
|
362 |
-
</div>
|
363 |
-
</div>
|
364 |
</div>
|
365 |
</div>
|
366 |
</div>
|
367 |
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
<div class="flex items-center space-x-2">
|
373 |
-
<div class="w-3 h-3 rounded-full bg-green-500"></div>
|
374 |
-
<div class="text-xs">Systèmes IA opérationnels</div>
|
375 |
</div>
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
<div class="font-bold">ANALYSE TRAFIC EN TEMPS RÉEL</div>
|
383 |
-
<div class="text-xs bg-blue-900 text-blue-300 px-2 py-1 rounded-full">Mise à jour: 5s</div>
|
384 |
</div>
|
385 |
-
<div class="
|
386 |
-
<
|
387 |
-
|
388 |
-
<div>Route fluide sur RN1 entre St-Denis et La Possession</div>
|
389 |
-
</div>
|
390 |
-
<div class="flex">
|
391 |
-
<div class="w-2 h-2 rounded-full bg-yellow-500 mt-1.5 mr-2"></div>
|
392 |
-
<div>Ralentissement débutant sur RN2 près de St-Benoît</div>
|
393 |
-
</div>
|
394 |
-
<div class="flex">
|
395 |
-
<div class="w-2 h-2 rounded-full bg-red-500 mt-1.5 mr-2"></div>
|
396 |
-
<div>Bouchon sur Route du Littoral - Réacheminement conseillé</div>
|
397 |
-
</div>
|
398 |
-
<div class="flex">
|
399 |
-
<div class="w-2 h-2 rounded-full bg-green-500 mt-1.5 mr-2"></div>
|
400 |
-
<div>Conditions optimales sur RN3 vers St-Pierre</div>
|
401 |
-
</div>
|
402 |
-
<div class="flex">
|
403 |
-
<div class="w-2 h-2 rounded-full bg-blue-500 mt-1.5 mr-2"></div>
|
404 |
-
<div>Météo: Pluies légères prévues dans l'Est dans 25min</div>
|
405 |
-
</div>
|
406 |
</div>
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
<div class="bg-gray-800 bg-opacity-50 rounded-xl p-3">
|
411 |
-
<div class="font-bold mb-3">COMMANDES GLOBALES</div>
|
412 |
-
<div class="space-y-2">
|
413 |
-
<button class="w-full bg-blue-600 hover:bg-blue-700 py-2 rounded text-sm">
|
414 |
-
<i class="fas fa-route mr-2"></i> Optimiser itinéraires
|
415 |
-
</button>
|
416 |
-
<button class="w-full bg-purple-600 hover:bg-purple-700 py-2 rounded text-sm">
|
417 |
-
<i class="fas fa-brain mr-2"></i> Apprentissage flotte
|
418 |
-
</button>
|
419 |
-
<button class="w-full bg-green-600 hover:bg-green-700 py-2 rounded text-sm">
|
420 |
-
<i class="fas fa-sync-alt mr-2"></i> Mise à jour OTA
|
421 |
-
</button>
|
422 |
-
<button class="w-full bg-red-600 hover:bg-red-700 py-2 rounded text-sm">
|
423 |
-
<i class="fas fa-shield-alt mr-2"></i> Mode sécurité
|
424 |
-
</button>
|
425 |
</div>
|
426 |
</div>
|
427 |
-
|
428 |
-
|
429 |
-
<div class="bg-gray-800 bg-opacity-50 rounded-xl p-3 col-span-2">
|
430 |
-
<div class="flex justify-between items-center mb-2">
|
431 |
-
<div class="font-bold">ALERTES & INTERVENTIONS</div>
|
432 |
-
<div class="flex items-center">
|
433 |
-
<div class="w-3 h-3 rounded-full bg-red-500 mr-1"></div>
|
434 |
-
<div class="text-xs">2 alertes actives</div>
|
435 |
-
</div>
|
436 |
-
</div>
|
437 |
-
|
438 |
-
<div class="space-y-3">
|
439 |
-
<!-- Alerte 1 -->
|
440 |
-
<div class="bg-red-900 bg-opacity-50 p-3 rounded-lg">
|
441 |
-
<div class="flex justify-between items-start">
|
442 |
-
<div>
|
443 |
-
<div class="font-bold flex items-center">
|
444 |
-
<i class="fas fa-exclamation-triangle mr-2"></i> Carburant critique
|
445 |
-
</div>
|
446 |
-
<div class="text-xs mt-1">Camion TR-5555 - Niveau à 12%</div>
|
447 |
-
</div>
|
448 |
-
<button class="bg-red-600 hover:bg-red-700 px-3 py-1 rounded-full text-xs">
|
449 |
-
<i class="fas fa-gas-pump mr-1"></i> Ravitaillement
|
450 |
-
</button>
|
451 |
-
</div>
|
452 |
-
</div>
|
453 |
-
|
454 |
-
<!-- Alerte 2 -->
|
455 |
-
<div class="bg-yellow-900 bg-opacity-50 p-3 rounded-lg">
|
456 |
-
<div class="flex justify-between items-start">
|
457 |
-
<div>
|
458 |
-
<div class="font-bold flex items-center">
|
459 |
-
<i class="fas fa-tools mr-2"></i> Maintenance préventive
|
460 |
-
</div>
|
461 |
-
<div class="text-xs mt-1">Camion TR-3210 - Freins à 85%</div>
|
462 |
-
</div>
|
463 |
-
<button class="bg-yellow-600 hover:bg-yellow-700 px-3 py-1 rounded-full text-xs">
|
464 |
-
<i class="fas fa-calendar-alt mr-1"></i> Planifier
|
465 |
-
</button>
|
466 |
-
</div>
|
467 |
-
</div>
|
468 |
-
|
469 |
-
<!-- Historique -->
|
470 |
-
<div class="text-xs mt-4">
|
471 |
-
<div class="flex justify-between py-1 border-b border-gray-700">
|
472 |
-
<div>TR-9876: Optimisation route terminée</div>
|
473 |
-
<div class="text-gray-400">2 min</div>
|
474 |
-
</div>
|
475 |
-
<div class="flex justify-between py-1 border-b border-gray-700">
|
476 |
-
<div>TR-4512: Passage en mode montagne</div>
|
477 |
-
<div class="text-gray-400">12 min</div>
|
478 |
-
</div>
|
479 |
-
<div class="flex justify-between py-1 border-b border-gray-700">
|
480 |
-
<div>Flotte: Mise à jour météo appliquée</div>
|
481 |
-
<div class="text-gray-400">25 min</div>
|
482 |
-
</div>
|
483 |
-
</div>
|
484 |
-
</div>
|
485 |
</div>
|
486 |
</div>
|
487 |
-
</div>
|
488 |
-
</div>
|
489 |
-
</div>
|
490 |
-
|
491 |
-
<!-- Notification d'alerte -->
|
492 |
-
<div class="fixed top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 bg-red-600 px-6 py-3 rounded-lg shadow-lg alert-notification" id="alert-notification">
|
493 |
-
<i class="fas fa-exclamation-triangle mr-2"></i>
|
494 |
-
<span id="notification-text">ALERTE: Carburant critique sur TR-5555 (12%)</span>
|
495 |
-
</div>
|
496 |
-
|
497 |
-
<script src="https://api.mapbox.com/mapbox-gl-js/v2.9.1/mapbox-gl.js"></script>
|
498 |
-
<script>
|
499 |
-
// Configuration Mapbox
|
500 |
-
mapboxgl.accessToken = 'pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw';
|
501 |
-
|
502 |
-
// Coordonnées de l'île de la Réunion
|
503 |
-
const reunionCoordinates = [55.5364, -21.1307];
|
504 |
-
|
505 |
-
// Initialisation de la carte
|
506 |
-
const map = new mapboxgl.Map({
|
507 |
-
container: 'map',
|
508 |
-
style: 'mapbox://styles/mapbox/satellite-streets-v11',
|
509 |
-
center: reunionCoordinates,
|
510 |
-
zoom: 9,
|
511 |
-
pitch: 45
|
512 |
-
});
|
513 |
-
|
514 |
-
// Ajout des contrôles de navigation
|
515 |
-
map.addControl(new mapboxgl.NavigationControl());
|
516 |
-
|
517 |
-
// Points d'intérêt pour les camions
|
518 |
-
const truckDepots = [
|
519 |
-
{ name: "Dépôt St-Denis", coordinates: [55.4500, -20.8900] },
|
520 |
-
{ name: "Dépôt St-Paul", coordinates: [55.2700, -21.0000] },
|
521 |
-
{ name: "Dépôt St-Pierre", coordinates: [55.5300, -21.3300] },
|
522 |
-
{ name: "Dépôt St-Benoît", coordinates: [55.7100, -21.0500] }
|
523 |
-
];
|
524 |
-
|
525 |
-
// Routes principales
|
526 |
-
const mainRoutes = [
|
527 |
-
{ name: "RN1 - Route du Littoral", coordinates: [
|
528 |
-
[55.3000, -20.9500], [55.3200, -20.9700], [55.3500, -20.9900], [55.4000, -21.0000], [55.4500, -20.8900]
|
529 |
-
]},
|
530 |
-
{ name: "RN2 - Route des Plaines", coordinates: [
|
531 |
-
[55.4500, -20.8900], [55.5000, -20.9200], [55.5500, -20.9500], [55.6000, -20.9800], [55.6500, -21.0200], [55.7100, -21.0500]
|
532 |
-
]},
|
533 |
-
{ name: "RN3 - Route du Sud", coordinates: [
|
534 |
-
[55.4500, -20.8900], [55.4700, -21.0500], [55.4800, -21.1500], [55.5000, -21.2500], [55.5300, -21.3300]
|
535 |
-
]}
|
536 |
-
];
|
537 |
-
|
538 |
-
// Positions des camions (simulées)
|
539 |
-
const truckPositions = [
|
540 |
-
{ id: "TR-4512", coordinates: [55.3800, -20.9800], status: "active", speed: 68, fuel: 82 },
|
541 |
-
{ id: "TR-6789", coordinates: [55.2700, -21.0000], status: "waiting", speed: 0, fuel: 100 },
|
542 |
-
{ id: "TR-3210", coordinates: [55.4400, -20.9000], status: "maintenance", speed: 0, fuel: 45 },
|
543 |
-
{ id: "TR-9876", coordinates: [55.4200, -21.0100], status: "active", speed: 72, fuel: 65 },
|
544 |
-
{ id: "TR-5555", coordinates: [55.5200, -21.2000], status: "alert", speed: 32, fuel: 12 }
|
545 |
-
];
|
546 |
-
|
547 |
-
// Une fois la carte chargée
|
548 |
-
map.on('load', () => {
|
549 |
-
// Ajout des dépôts
|
550 |
-
truckDepots.forEach(depot => {
|
551 |
-
new mapboxgl.Marker({ color: '#3b82f6' })
|
552 |
-
.setLngLat(depot.coordinates)
|
553 |
-
.setPopup(new mapboxgl.Popup().setHTML(`<b>${depot.name}</b>`))
|
554 |
-
.addTo(map);
|
555 |
-
});
|
556 |
-
|
557 |
-
// Ajout des routes
|
558 |
-
mainRoutes.forEach(route => {
|
559 |
-
map.addLayer({
|
560 |
-
id: route.name,
|
561 |
-
type: 'line',
|
562 |
-
source: {
|
563 |
-
type: 'geojson',
|
564 |
-
data: {
|
565 |
-
type: 'Feature',
|
566 |
-
properties: {},
|
567 |
-
geometry: {
|
568 |
-
type: 'LineString',
|
569 |
-
coordinates: route.coordinates
|
570 |
-
}
|
571 |
-
}
|
572 |
-
},
|
573 |
-
layout: {
|
574 |
-
'line-join': 'round',
|
575 |
-
'line-cap': 'round'
|
576 |
-
},
|
577 |
-
paint: {
|
578 |
-
'line-color': '#3b82f6',
|
579 |
-
'line-width': 3
|
580 |
-
}
|
581 |
-
});
|
582 |
-
});
|
583 |
-
|
584 |
-
// Ajout des camions
|
585 |
-
truckPositions.forEach(truck => {
|
586 |
-
const el = document.createElement('div');
|
587 |
-
el.className = 'truck-icon';
|
588 |
-
el.style.backgroundImage = `url(https://cdn-icons-png.flaticon.com/512/2972/2972495.png)`;
|
589 |
|
590 |
-
|
591 |
-
|
592 |
-
|
593 |
-
|
594 |
-
|
|
|
|
|
|
|
|
|
|
|
595 |
|
596 |
-
|
597 |
-
|
598 |
-
|
599 |
-
|
600 |
-
|
601 |
-
|
602 |
-
|
603 |
-
|
604 |
-
|
605 |
-
|
|
|
606 |
|
607 |
-
|
608 |
-
|
609 |
-
|
610 |
-
|
611 |
-
|
612 |
-
|
613 |
-
|
614 |
-
|
615 |
-
|
616 |
-
|
617 |
-
|
618 |
-
|
619 |
-
|
620 |
-
|
621 |
-
|
622 |
-
|
623 |
-
|
624 |
-
|
625 |
-
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
634 |
-
|
635 |
-
|
636 |
-
|
637 |
-
});
|
638 |
-
});
|
639 |
-
|
640 |
-
// Gestion des vues
|
641 |
-
document.getElementById('satellite-view').addEventListener('click', () => {
|
642 |
-
map.setStyle('mapbox://styles/mapbox/satellite-streets-v11');
|
643 |
-
});
|
644 |
-
|
645 |
-
document.getElementById('topo-view').addEventListener('click', () => {
|
646 |
-
map.setStyle('mapbox://styles/mapbox/outdoors-v11');
|
647 |
-
});
|
648 |
-
|
649 |
-
// Simulation de mise à jour des positions
|
650 |
-
setInterval(() => {
|
651 |
-
document.getElementById('map-update').textContent = new Date().getSeconds();
|
652 |
|
653 |
-
|
654 |
-
|
655 |
-
|
656 |
-
|
657 |
-
truck.coordinates[1] += (Math.random() - 0.3) * 0.005;
|
658 |
|
659 |
-
|
660 |
-
|
661 |
-
|
662 |
-
|
663 |
-
|
664 |
-
|
665 |
-
truck.fuel = Math.max(0, truck.fuel - 0.1);
|
666 |
-
} else {
|
667 |
-
truck.fuel = Math.max(0, truck.fuel - 0.02);
|
668 |
-
}
|
669 |
-
|
670 |
-
// Alerte si carburant trop bas
|
671 |
-
if (truck.fuel < 15 && truck.status !== "alert") {
|
672 |
-
truck.status = "alert";
|
673 |
-
showAlert(`ALERTE: Carburant critique sur ${truck.id} (${Math.round(truck.fuel)}%)`);
|
674 |
-
}
|
675 |
-
}
|
676 |
-
});
|
677 |
-
|
678 |
-
// Recharger la carte périodiquement
|
679 |
-
map.setCenter(reunionCoordinates);
|
680 |
-
}, 10000);
|
681 |
-
|
682 |
-
// Fonction d'alerte
|
683 |
-
function showAlert(message) {
|
684 |
-
const notification = document.getElementById('alert-notification');
|
685 |
-
const notificationText = document.getElementById('notification-text');
|
686 |
-
|
687 |
-
notificationText.textContent = message;
|
688 |
-
notification.style.display = 'flex';
|
689 |
-
|
690 |
-
setTimeout(() => {
|
691 |
-
notification.style.display = 'none';
|
692 |
-
}, 5000);
|
693 |
-
|
694 |
-
// Ajouter à l'historique des alertes
|
695 |
-
const trafficAnalysis = document.getElementById('traffic-analysis');
|
696 |
-
const alertElement = document.createElement('div');
|
697 |
-
alertElement.className = 'flex';
|
698 |
-
alertElement.innerHTML = `
|
699 |
-
<div class="w-2 h-2 rounded-full bg-red-500 mt-1.5 mr-2"></div>
|
700 |
-
<div>${message}</div>
|
701 |
-
`;
|
702 |
-
trafficAnalysis.insertBefore(alertElement, trafficAnalysis.firstChild);
|
703 |
-
|
704 |
-
// Limiter le nombre d'alertes affichées
|
705 |
-
if (trafficAnalysis.children.length > 10) {
|
706 |
-
trafficAnalysis.removeChild(trafficAnalysis.lastChild);
|
707 |
-
}
|
708 |
-
}
|
709 |
-
|
710 |
-
// Simulation d'alertes aléatoires
|
711 |
-
setInterval(() => {
|
712 |
-
if (Math.random() < 0.1) {
|
713 |
-
const alerts = [
|
714 |
-
"Détection travaux sur RN2 - Déviation automatique activée",
|
715 |
-
"Alerte météo: Fortes pluies prévues dans le Sud dans 15min",
|
716 |
-
"Optimisation des itinéraires terminée - Gain moyen de 7% en carburant",
|
717 |
-
"Camion TR-9876: Passage en mode économie d'énergie",
|
718 |
-
"Mise à jour des cartes satellites disponible"
|
719 |
-
];
|
720 |
-
|
721 |
-
showAlert(alerts[Math.floor(Math.random() * alerts.length)]);
|
722 |
-
}
|
723 |
-
}, 15000);
|
724 |
-
</script>
|
725 |
-
<p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=docto41/conduite-temps-reel" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
|
726 |
</html>
|
|
|
3 |
<head>
|
4 |
<meta charset="UTF-8">
|
5 |
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6 |
+
<title>Euro Truck Simulator - La Réunion</title>
|
7 |
<script src="https://cdn.tailwindcss.com"></script>
|
8 |
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
9 |
<link href="https://api.mapbox.com/mapbox-gl-js/v2.9.1/mapbox-gl.css" rel="stylesheet">
|
10 |
<style>
|
11 |
@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700&family=Roboto:wght@300;400;700&display=swap');
|
12 |
|
13 |
+
:root {
|
14 |
+
--primary: #3b82f6;
|
15 |
+
--secondary: #f59e0b;
|
16 |
+
--danger: #ef4444;
|
17 |
+
--success: #10b981;
|
18 |
+
}
|
19 |
+
|
20 |
body {
|
21 |
font-family: 'Roboto', sans-serif;
|
22 |
background-color: #0a0a0a;
|
23 |
color: #fff;
|
24 |
overflow: hidden;
|
25 |
+
touch-action: none;
|
26 |
}
|
27 |
|
28 |
.dashboard-font {
|
|
|
30 |
}
|
31 |
|
32 |
.glass-effect {
|
33 |
+
background: rgba(15, 23, 42, 0.85);
|
34 |
+
backdrop-filter: blur(12px);
|
35 |
+
border: 1px solid rgba(255, 255, 255, 0.15);
|
36 |
+
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
|
37 |
}
|
38 |
|
39 |
+
.camera-view {
|
40 |
+
background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
|
41 |
+
border-radius: 16px;
|
|
|
42 |
overflow: hidden;
|
43 |
+
position: relative;
|
44 |
}
|
45 |
|
46 |
+
.road-line {
|
47 |
+
position: absolute;
|
48 |
+
height: 2px;
|
49 |
+
background: rgba(255, 255, 255, 0.8);
|
50 |
+
transform-origin: left center;
|
51 |
+
box-shadow: 0 0 10px rgba(255, 255, 255, 0.3);
|
52 |
}
|
53 |
|
54 |
+
.mission-card {
|
55 |
+
transition: all 0.3s ease;
|
56 |
+
cursor: pointer;
|
57 |
+
border: 1px solid rgba(255, 255, 255, 0.1);
|
58 |
+
}
|
59 |
+
|
60 |
+
.mission-card:hover {
|
61 |
+
transform: translateY(-5px);
|
62 |
+
box-shadow: 0 10px 15px rgba(0, 0, 0, 0.2);
|
63 |
+
border-color: var(--primary);
|
64 |
+
}
|
65 |
+
|
66 |
+
.truck-icon {
|
67 |
+
background-image: url('https://cdn-icons-png.flaticon.com/512/2972/2972495.png');
|
68 |
+
background-size: cover;
|
69 |
+
width: 40px;
|
70 |
+
height: 40px;
|
71 |
+
border-radius: 50%;
|
72 |
+
cursor: pointer;
|
73 |
+
}
|
74 |
+
|
75 |
+
.route-line {
|
76 |
+
background-color: var(--primary);
|
77 |
+
width: 4px;
|
78 |
+
}
|
79 |
+
|
80 |
+
.progress-bar {
|
81 |
position: relative;
|
|
|
|
|
82 |
overflow: hidden;
|
83 |
}
|
84 |
|
85 |
+
.progress-bar::after {
|
86 |
+
content: '';
|
87 |
position: absolute;
|
88 |
+
top: 0;
|
89 |
left: 0;
|
|
|
90 |
height: 100%;
|
91 |
+
width: 100%;
|
92 |
+
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
|
93 |
+
animation: progress-shine 2s infinite;
|
|
|
94 |
}
|
95 |
|
96 |
+
@keyframes progress-shine {
|
97 |
+
0% { transform: translateX(-100%); }
|
98 |
+
100% { transform: translateX(100%); }
|
99 |
+
}
|
100 |
+
|
101 |
+
/* Animation route */
|
102 |
+
@keyframes road-move {
|
103 |
+
0% { transform: translateX(0); }
|
104 |
+
100% { transform: translateX(-100%); }
|
105 |
+
}
|
106 |
+
|
107 |
+
.road-animation {
|
108 |
+
animation: road-move 5s linear infinite;
|
109 |
+
}
|
110 |
+
|
111 |
+
/* Effets de lumière */
|
112 |
+
.light-beam {
|
113 |
position: absolute;
|
114 |
+
width: 300px;
|
115 |
+
height: 100px;
|
116 |
+
background: linear-gradient(90deg, rgba(255,255,255,0.1), transparent);
|
117 |
+
transform: rotate(3deg);
|
118 |
+
filter: blur(5px);
|
119 |
+
opacity: 0;
|
|
|
|
|
|
|
|
|
120 |
}
|
121 |
|
122 |
+
/* Effets de pluie */
|
123 |
+
.rain {
|
124 |
+
position: absolute;
|
125 |
+
top: 0;
|
126 |
+
left: 0;
|
127 |
+
right: 0;
|
128 |
+
bottom: 0;
|
129 |
+
background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="400" height="400" viewBox="0 0 400 400"><path fill="none" stroke="rgba(255,255,255,0.4)" stroke-width="1" d="M0,0 L400,400 M100,0 L500,400 M200,0 L600,400 M300,0 L700,400"/></svg>');
|
130 |
+
background-size: 200px 200px;
|
131 |
+
animation: rain-fall 0.5s linear infinite;
|
132 |
+
opacity: 0;
|
133 |
+
pointer-events: none;
|
134 |
}
|
135 |
|
136 |
+
@keyframes rain-fall {
|
137 |
+
0% { background-position: 0 0; }
|
138 |
+
100% { background-position: 200px 200px; }
|
|
|
139 |
}
|
140 |
|
141 |
+
/* Effets de brouillard */
|
142 |
+
.fog {
|
143 |
+
position: absolute;
|
144 |
+
top: 0;
|
145 |
+
left: 0;
|
146 |
+
right: 0;
|
147 |
+
bottom: 0;
|
148 |
+
background: rgba(255,255,255,0.03);
|
149 |
+
backdrop-filter: blur(2px);
|
150 |
+
opacity: 0;
|
151 |
+
pointer-events: none;
|
152 |
}
|
153 |
|
154 |
+
/* Effets de phares */
|
155 |
+
.headlight {
|
156 |
+
position: absolute;
|
157 |
+
width: 400px;
|
158 |
+
height: 150px;
|
159 |
+
background: radial-gradient(ellipse at center, rgba(255,255,200,0.8) 0%, rgba(255,255,200,0.1) 70%, transparent 100%);
|
160 |
+
filter: blur(10px);
|
161 |
+
transform: translateX(-50%);
|
162 |
+
opacity: 0;
|
163 |
}
|
164 |
|
165 |
+
/* Animation du moteur */
|
166 |
+
@keyframes engine-vibration {
|
167 |
+
0%, 100% { transform: translateY(0); }
|
168 |
+
50% { transform: translateY(1px); }
|
|
|
|
|
|
|
169 |
}
|
170 |
|
171 |
+
.engine-vibration {
|
172 |
+
animation: engine-vibration 0.1s infinite;
|
|
|
173 |
}
|
174 |
|
175 |
+
/* Réglages pour mobile */
|
176 |
+
@media (max-width: 768px) {
|
177 |
+
.mobile-controls {
|
178 |
+
display: flex !important;
|
179 |
+
}
|
180 |
+
|
181 |
+
.desktop-only {
|
182 |
+
display: none !important;
|
183 |
+
}
|
184 |
}
|
185 |
|
186 |
+
/* Réalisme ajouté */
|
187 |
+
.realistic-shadow {
|
188 |
+
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
|
189 |
}
|
190 |
|
191 |
+
.realistic-border {
|
192 |
+
border-radius: 12px;
|
193 |
+
overflow: hidden;
|
194 |
}
|
195 |
|
196 |
+
.depth-effect {
|
197 |
+
box-shadow: inset 0 0 15px rgba(0, 0, 0, 0.5);
|
|
|
198 |
}
|
199 |
</style>
|
200 |
</head>
|
201 |
<body class="h-screen overflow-hidden">
|
202 |
+
<!-- Écran de chargement ultra-réaliste -->
|
203 |
+
<div id="loading-screen" class="fixed inset-0 bg-black z-50 flex flex-col items-center justify-center">
|
204 |
+
<div class="text-5xl font-bold mb-8 text-blue-400 tracking-wider">EURO TRUCK SIMULATOR</div>
|
205 |
+
<div class="text-xl text-yellow-400 mb-2">ÉDITION LA RÉUNION</div>
|
206 |
+
|
207 |
+
<div class="w-80 h-3 bg-gray-800 rounded-full overflow-hidden mb-4 depth-effect">
|
208 |
+
<div id="loading-progress" class="h-full bg-gradient-to-r from-blue-500 to-blue-600 rounded-full progress-bar" style="width: 0%"></div>
|
209 |
+
</div>
|
210 |
+
|
211 |
+
<div class="flex space-x-4 text-sm text-gray-400">
|
212 |
+
<div id="loading-step">Initialisation du moteur physique...</div>
|
213 |
+
<div id="loading-percent">0%</div>
|
214 |
+
</div>
|
215 |
+
|
216 |
+
<div class="absolute bottom-8 text-xs text-gray-500">
|
217 |
+
© 2023 Réunion Truck Simulations | Tous droits réservés
|
218 |
+
</div>
|
219 |
+
</div>
|
220 |
+
|
221 |
+
<!-- Menu principal amélioré -->
|
222 |
+
<div id="main-menu" class="fixed inset-0 bg-black bg-opacity-90 z-40 hidden flex items-center justify-center p-4">
|
223 |
+
<div class="glass-effect p-8 rounded-2xl max-w-4xl w-full realistic-shadow">
|
224 |
+
<div class="text-center mb-8">
|
225 |
+
<h1 class="text-5xl font-bold mb-2 text-blue-400 tracking-wider">EURO TRUCK SIMULATOR</h1>
|
226 |
+
<div class="text-2xl text-yellow-400">LA RÉUNION</div>
|
227 |
+
<div class="text-sm text-gray-400 mt-2">Version Ultime - Simulation Réaliste</div>
|
228 |
+
</div>
|
229 |
+
|
230 |
+
<div class="grid grid-cols-1 md:grid-cols-3 gap-6 mb-8">
|
231 |
+
<div class="mission-card bg-gray-800 p-6 rounded-xl text-center" onclick="startMission('st-denis', 'st-pierre', 'express')">
|
232 |
+
<div class="w-16 h-16 bg-blue-900 rounded-full flex items-center justify-center mx-auto mb-3">
|
233 |
+
<i class="fas fa-bolt text-2xl text-blue-400"></i>
|
234 |
</div>
|
235 |
+
<h3 class="font-bold text-lg">EXPRESS NORD-SUD</h3>
|
236 |
+
<p class="text-sm mt-2 text-gray-300">Livraison urgente de produits frais</p>
|
237 |
+
<div class="flex justify-between items-center mt-4 text-xs">
|
238 |
+
<div class="flex items-center">
|
239 |
+
<i class="fas fa-road mr-1 text-blue-400"></i>
|
240 |
+
<span>73km</span>
|
241 |
+
</div>
|
242 |
+
<div class="flex items-center">
|
243 |
+
<i class="fas fa-clock mr-1 text-yellow-400"></i>
|
244 |
+
<span>2h30</span>
|
245 |
+
</div>
|
246 |
+
<div class="flex items-center">
|
247 |
+
<i class="fas fa-euro-sign mr-1 text-green-400"></i>
|
248 |
+
<span>3 450€</span>
|
249 |
+
</div>
|
250 |
</div>
|
251 |
+
<div class="mt-3 text-xs text-gray-500">
|
252 |
+
<i class="fas fa-traffic-light mr-1"></i> RN1 - Route du Littoral
|
253 |
</div>
|
254 |
</div>
|
|
|
|
|
|
|
|
|
|
|
255 |
|
256 |
+
<div class="mission-card bg-gray-800 p-6 rounded-xl text-center" onclick="startMission('st-paul', 'st-benoit', 'mountain')">
|
257 |
+
<div class="w-16 h-16 bg-green-900 rounded-full flex items-center justify-center mx-auto mb-3">
|
258 |
+
<i class="fas fa-mountain text-2xl text-green-400"></i>
|
259 |
+
</div>
|
260 |
+
<h3 class="font-bold text-lg">TRAVERSÉE DES PLAINES</h3>
|
261 |
+
<p class="text-sm mt-2 text-gray-300">Transport de matériaux de construction</p>
|
262 |
+
<div class="flex justify-between items-center mt-4 text-xs">
|
263 |
+
<div class="flex items-center">
|
264 |
+
<i class="fas fa-road mr-1 text-blue-400"></i>
|
265 |
+
<span>58km</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
266 |
</div>
|
267 |
+
<div class="flex items-center">
|
268 |
+
<i class="fas fa-clock mr-1 text-yellow-400"></i>
|
269 |
+
<span>2h15</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
270 |
</div>
|
271 |
+
<div class="flex items-center">
|
272 |
+
<i class="fas fa-euro-sign mr-1 text-green-400"></i>
|
273 |
+
<span>4 120€</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
274 |
</div>
|
275 |
</div>
|
276 |
+
<div class="mt-3 text-xs text-gray-500">
|
277 |
+
<i class="fas fa-hill-rockslide mr-1"></i> Route des Plaines
|
278 |
+
</div>
|
279 |
</div>
|
280 |
|
281 |
+
<div class="mission-card bg-gray-800 p-6 rounded-xl text-center" onclick="startMission('st-pierre', 'st-denis', 'tour')">
|
282 |
+
<div class="w-16 h-16 bg-purple-900 rounded-full flex items-center justify-center mx-auto mb-3">
|
283 |
+
<i class="fas fa-route text-2xl text-purple-400"></i>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
284 |
</div>
|
285 |
+
<h3 class="font-bold text-lg">TOUR DE L'ÎLE COMPLET</h3>
|
286 |
+
<p class="text-sm mt-2 text-gray-300">Livraisons multiples - Défi de conduite</p>
|
287 |
+
<div class="flex justify-between items-center mt-4 text-xs">
|
288 |
+
<div class="flex items-center">
|
289 |
+
<i class="fas fa-road mr-1 text-blue-400"></i>
|
290 |
+
<span>207km</span>
|
291 |
</div>
|
292 |
+
<div class="flex items-center">
|
293 |
+
<i class="fas fa-clock mr-1 text-yellow-400"></i>
|
294 |
+
<span>6h30</span>
|
295 |
</div>
|
296 |
+
<div class="flex items-center">
|
297 |
+
<i class="fas fa-euro-sign mr-1 text-green-400"></i>
|
298 |
+
<span>9 850€</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
299 |
</div>
|
300 |
</div>
|
301 |
+
<div class="mt-3 text-xs text-gray-500">
|
302 |
+
<i class="fas fa-map-marked-alt mr-1"></i> Tour complet par la côte
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
303 |
</div>
|
304 |
</div>
|
305 |
</div>
|
306 |
|
307 |
+
<div class="grid grid-cols-1 md:grid-cols-3 gap-6 mb-8">
|
308 |
+
<div class="mission-card bg-gray-800 p-6 rounded-xl text-center" onclick="startMission('st-leu', 'st-joseph', 'danger')">
|
309 |
+
<div class="w-16 h-16 bg-red-900 rounded-full flex items-center justify-center mx-auto mb-3">
|
310 |
+
<i class="fas fa-exclamation-triangle text-2xl text-red-400"></i>
|
|
|
|
|
|
|
311 |
</div>
|
312 |
+
<h3 class="font-bold text-lg">DÉFI DE LA CÔTE SAUVAGE</h3>
|
313 |
+
<p class="text-sm mt-2 text-gray-300">Route sinueuse - Conduite experte</p>
|
314 |
+
<div class="flex justify-between items-center mt-4 text-xs">
|
315 |
+
<div class="flex items-center">
|
316 |
+
<i class="fas fa-road mr-1 text-blue-400"></i>
|
317 |
+
<span>42km</span>
|
|
|
|
|
318 |
</div>
|
319 |
+
<div class="flex items-center">
|
320 |
+
<i class="fas fa-clock mr-1 text-yellow-400"></i>
|
321 |
+
<span>1h45</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
322 |
</div>
|
323 |
+
<div class="flex items-center">
|
324 |
+
<i class="fas fa-euro-sign mr-1 text-green-400"></i>
|
325 |
+
<span>6 750€</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
326 |
</div>
|
327 |
</div>
|
328 |
+
<div class="mt-3 text-xs text-gray-500">
|
329 |
+
<i class="fas fa-skull-crossbones mr-1"></i> Route du Tremblet
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
330 |
</div>
|
331 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
332 |
|
333 |
+
<div class="mission-card bg-gray-800 p-6 rounded-xl text-center" onclick="showGarage()">
|
334 |
+
<div class="w-16 h-16 bg-yellow-900 rounded-full flex items-center justify-center mx-auto mb-3">
|
335 |
+
<i class="fas fa-warehouse text-2xl text-yellow-400"></i>
|
336 |
+
</div>
|
337 |
+
<h3 class="font-bold text-lg">GARAGE & PERSONNALISATION</h3>
|
338 |
+
<p class="text-sm mt-2 text-gray-300">Gérez votre flotte de véhicules</p>
|
339 |
+
<div class="mt-6 h-8 flex items-center justify-center">
|
340 |
+
<i class="fas fa-arrow-right text-xl text-yellow-400"></i>
|
341 |
+
</div>
|
342 |
+
</div>
|
343 |
|
344 |
+
<div class="mission-card bg-gray-800 p-6 rounded-xl text-center" onclick="showCompanyManager()">
|
345 |
+
<div class="w-16 h-16 bg-indigo-900 rounded-full flex items-center justify-center mx-auto mb-3">
|
346 |
+
<i class="fas fa-building text-2xl text-indigo-400"></i>
|
347 |
+
</div>
|
348 |
+
<h3 class="font-bold text-lg">GESTION D'ENTREPRISE</h3>
|
349 |
+
<p class="text-sm mt-2 text-gray-300">Développez votre compagnie</p>
|
350 |
+
<div class="mt-6 h-8 flex items-center justify-center">
|
351 |
+
<i class="fas fa-arrow-right text-xl text-indigo-400"></i>
|
352 |
+
</div>
|
353 |
+
</div>
|
354 |
+
</div>
|
355 |
|
356 |
+
<div class="flex flex-col md:flex-row justify-between items-center pt-4 border-t border-gray-700">
|
357 |
+
<div class="flex items-center mb-4 md:mb-0">
|
358 |
+
<img src="https://upload.wikimedia.org/wikipedia/commons/f/f6/Flag_of_La_Reunion.svg" class="w-8 h-6 mr-2">
|
359 |
+
<div class="text-sm">Simulation ultra-réaliste de La Réunion</div>
|
360 |
+
</div>
|
361 |
+
|
362 |
+
<div class="flex space-x-3">
|
363 |
+
<button class="px-6 py-2 bg-blue-600 hover:bg-blue-700 rounded-lg flex items-center" onclick="showSettings()">
|
364 |
+
<i class="fas fa-cog mr-2"></i> Réglages
|
365 |
+
</button>
|
366 |
+
<button class="px-6 py-2 bg-gray-700 hover:bg-gray-600 rounded-lg flex items-center" onclick="hideMenu()">
|
367 |
+
<i class="fas fa-play mr-2"></i> Continuer
|
368 |
+
</button>
|
369 |
+
</div>
|
370 |
+
</div>
|
371 |
+
</div>
|
372 |
+
</div>
|
373 |
+
|
374 |
+
<!-- Garage amélioré -->
|
375 |
+
<div id="garage-menu" class="fixed inset-0 bg-black bg-opacity-90 z-40 hidden flex items-center justify-center p-4">
|
376 |
+
<div class="glass-effect p-8 rounded-2xl max-w-6xl w-full realistic-shadow">
|
377 |
+
<div class="flex justify-between items-center mb-6">
|
378 |
+
<div>
|
379 |
+
<h2 class="text-3xl font-bold text-blue-400">GARAGE RÉUNION</h2>
|
380 |
+
<div class="text-sm text-gray-400">Gérez votre flotte de véhicules</div>
|
381 |
+
</div>
|
382 |
+
<button class="px-6 py-2 bg-gray-700 hover:bg-gray-600 rounded-lg flex items-center" onclick="hideGarage()">
|
383 |
+
<i class="fas fa-arrow-left mr-2"></i> Retour
|
384 |
+
</button>
|
385 |
+
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
386 |
|
387 |
+
<div class="grid grid-cols-1 lg:grid-cols-3 gap-8">
|
388 |
+
<!-- Liste des véhicules -->
|
389 |
+
<div class="lg:col-span-1">
|
390 |
+
<h3 class="font-bold text-xl mb-4">VOTRE FLOTTE</h3>
|
|
|
391 |
|
392 |
+
<div class="space-y-3 max-h-96 overflow-y-auto pr-2">
|
393 |
+
<div class="bg-gray-800 rounded-xl p-4 flex items-center cursor-pointer hover:bg-gray-700 border border-blue-500">
|
394 |
+
<img src="https://cdn-icons-png.flaticon.com/512/2972/2972495.png" class="w-12 h-12 mr-3">
|
395 |
+
<div class="flex-1">
|
396 |
+
<div class="font-bold">Renault Master</div>
|
397 |
+
<div class="text-xs text-gray-400">2019 - Diesel - 3.5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
398 |
</html>
|
prompts.txt
CHANGED
@@ -5,4 +5,7 @@ UN TABLEAU DE BORD SOFISTIQUE TRES PUISSANT POUR TOUT CONTROLER
|
|
5 |
JE VEUT SYSTEME SATELITE ET GPS POUR TOUT STRANSMETRE EN TEMP REEL AVEC DIFFERENT VUE AVEC VUE PANORAMIQUE
|
6 |
JE VEUT UNE PAGE D ACCUEIL POUR POUVOIR CONDUIRE EN TEMP REE
|
7 |
TABLEAU DE BORD DE CONDUITE
|
8 |
-
je veux developper la conduite de divers camion controler par systeme robotiser par des arméés d' IA pour piloté ce projet realistes en temp normal avec systeme gps et satelite pour que tout soit reel robotiser , sur les route de l'ile de la reunion , avec ses merveilleux paysage realiste le tout creer par de tres puissant IA et leur assisant puissant IA
|
|
|
|
|
|
|
|
5 |
JE VEUT SYSTEME SATELITE ET GPS POUR TOUT STRANSMETRE EN TEMP REEL AVEC DIFFERENT VUE AVEC VUE PANORAMIQUE
|
6 |
JE VEUT UNE PAGE D ACCUEIL POUR POUVOIR CONDUIRE EN TEMP REE
|
7 |
TABLEAU DE BORD DE CONDUITE
|
8 |
+
je veux developper la conduite de divers camion controler par systeme robotiser par des arméés d' IA pour piloté ce projet realistes en temp normal avec systeme gps et satelite pour que tout soit reel robotiser , sur les route de l'ile de la reunion , avec ses merveilleux paysage realiste le tout creer par de tres puissant IA et leur assisant puissant IA
|
9 |
+
JE VEUX UNE PAGE POUR LA CONDUITE REEL
|
10 |
+
je veux creer , un jeu de simulation de véhicule dans lequel le joueur traverse une version légèrement fictive de l' ILE DELA REUNION effectue des livraisons et des ramassages et apprend tout sur son véhicule. A propos du jeu Couvrant une grande partie de LA REUNION , la carte s'étend DE st denis en passant a st pierre , par les plaine etc.., et
|
11 |
+
je veux creer un jeux comme Euro Truck Simulator mais beaucoup plus puissant s'péciale ile de la reunion
|