docto41 commited on
Commit
a537aaf
·
verified ·
1 Parent(s): 2f96033

Add 3 files

Browse files
Files changed (3) hide show
  1. README.md +6 -4
  2. index.html +551 -19
  3. prompts.txt +2 -0
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Edubot
3
- emoji: 🏢
4
  colorFrom: yellow
5
- colorTo: pink
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: edubot
3
+ emoji: 🐳
4
  colorFrom: yellow
5
+ colorTo: red
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite
10
  ---
11
 
12
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
index.html CHANGED
@@ -1,19 +1,551 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="fr">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>EduBot - Plateforme de Cours Automatisée</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
+ <style>
10
+ @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');
11
+
12
+ body {
13
+ font-family: 'Poppins', sans-serif;
14
+ background-color: #f9fafb;
15
+ }
16
+
17
+ .gradient-bg {
18
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
19
+ }
20
+
21
+ .course-card {
22
+ transition: all 0.3s ease;
23
+ border-radius: 12px;
24
+ overflow: hidden;
25
+ }
26
+
27
+ .course-card:hover {
28
+ transform: translateY(-5px);
29
+ box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
30
+ }
31
+
32
+ .progress-ring {
33
+ transition: stroke-dashoffset 0.5s;
34
+ transform: rotate(-90deg);
35
+ transform-origin: 50% 50%;
36
+ }
37
+
38
+ .loading-dots::after {
39
+ content: '.';
40
+ animation: dots 1.5s steps(5, end) infinite;
41
+ }
42
+
43
+ @keyframes dots {
44
+ 0%, 20% { content: '.'; }
45
+ 40% { content: '..'; }
46
+ 60% { content: '...'; }
47
+ 80%, 100% { content: ''; }
48
+ }
49
+
50
+ .auto-load-container {
51
+ position: relative;
52
+ min-height: 200px;
53
+ }
54
+
55
+ .auto-load-indicator {
56
+ position: absolute;
57
+ bottom: 0;
58
+ left: 0;
59
+ right: 0;
60
+ height: 4px;
61
+ background: linear-gradient(90deg, #4facfe 0%, #00f2fe 100%);
62
+ opacity: 0;
63
+ transition: opacity 0.3s;
64
+ }
65
+
66
+ .auto-load-container.loading .auto-load-indicator {
67
+ opacity: 1;
68
+ animation: loadingPulse 2s infinite;
69
+ }
70
+
71
+ @keyframes loadingPulse {
72
+ 0% { opacity: 0.5; }
73
+ 50% { opacity: 1; }
74
+ 100% { opacity: 0.5; }
75
+ }
76
+ </style>
77
+ </head>
78
+ <body class="antialiased">
79
+ <div class="min-h-screen flex flex-col">
80
+ <!-- Header -->
81
+ <header class="gradient-bg text-white shadow-lg">
82
+ <div class="container mx-auto px-4 py-6">
83
+ <div class="flex justify-between items-center">
84
+ <div class="flex items-center space-x-3">
85
+ <i class="fas fa-robot text-2xl"></i>
86
+ <h1 class="text-2xl font-bold">Edu<span class="text-yellow-300">Bot</span></h1>
87
+ </div>
88
+ <nav class="hidden md:flex space-x-6 items-center">
89
+ <a href="#" class="hover:text-yellow-200 transition">Accueil</a>
90
+ <a href="#" class="hover:text-yellow-200 transition">Cours</a>
91
+ <a href="#" class="hover:text-yellow-200 transition">Parcours</a>
92
+ <a href="#" class="hover:text-yellow-200 transition">Équipe</a>
93
+ <button class="bg-white text-purple-700 px-4 py-2 rounded-full font-medium hover:bg-gray-100 transition">
94
+ Connexion
95
+ </button>
96
+ </nav>
97
+ <button class="md:hidden text-xl">
98
+ <i class="fas fa-bars"></i>
99
+ </button>
100
+ </div>
101
+ </div>
102
+ </header>
103
+
104
+ <!-- Hero Section -->
105
+ <section class="gradient-bg text-white py-16">
106
+ <div class="container mx-auto px-4">
107
+ <div class="flex flex-col md:flex-row items-center">
108
+ <div class="md:w-1/2 mb-10 md:mb-0">
109
+ <h2 class="text-4xl md:text-5xl font-bold mb-6">Apprentissage <span class="text-yellow-300">Automatisé</span></h2>
110
+ <p class="text-xl mb-8">Découvrez des cours adaptatifs générés automatiquement par notre système intelligent.</p>
111
+ <div class="flex flex-col sm:flex-row gap-4">
112
+ <button class="bg-yellow-400 text-gray-900 px-6 py-3 rounded-full font-bold hover:bg-yellow-300 transition flex items-center justify-center">
113
+ <i class="fas fa-play mr-2"></i> Voir la démo
114
+ </button>
115
+ <button class="bg-white bg-opacity-20 px-6 py-3 rounded-full font-medium hover:bg-opacity-30 transition flex items-center justify-center">
116
+ <i class="fas fa-info-circle mr-2"></i> En savoir plus
117
+ </button>
118
+ </div>
119
+ </div>
120
+ <div class="md:w-1/2 flex justify-center">
121
+ <div class="relative">
122
+ <div class="w-64 h-64 md:w-80 md:h-80 bg-white bg-opacity-20 rounded-full flex items-center justify-center">
123
+ <i class="fas fa-robot text-6xl md:text-8xl text-white"></i>
124
+ </div>
125
+ <div class="absolute -bottom-5 -right-5 bg-yellow-400 text-gray-900 px-4 py-2 rounded-full font-bold shadow-lg">
126
+ IA <span class="loading-dots"></span>
127
+ </div>
128
+ </div>
129
+ </div>
130
+ </div>
131
+ </div>
132
+ </section>
133
+
134
+ <!-- Courses Section -->
135
+ <section class="py-16 bg-white">
136
+ <div class="container mx-auto px-4">
137
+ <div class="flex justify-between items-center mb-12">
138
+ <h2 class="text-3xl font-bold text-gray-800">Nos Cours Ribotisés</h2>
139
+ <div class="flex space-x-4">
140
+ <button id="filterAll" class="px-4 py-2 rounded-full bg-purple-600 text-white font-medium">Tous</button>
141
+ <button id="filterTech" class="px-4 py-2 rounded-full bg-gray-200 text-gray-700 hover:bg-gray-300 transition">Technologie</button>
142
+ <button id="filterBusiness" class="px-4 py-2 rounded-full bg-gray-200 text-gray-700 hover:bg-gray-300 transition">Business</button>
143
+ <button id="filterDesign" class="px-4 py-2 rounded-full bg-gray-200 text-gray-700 hover:bg-gray-300 transition">Design</button>
144
+ </div>
145
+ </div>
146
+
147
+ <!-- Course Grid -->
148
+ <div id="courseGrid" class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-8 mb-12">
149
+ <!-- Courses will be loaded here automatically -->
150
+ </div>
151
+
152
+ <!-- Auto Load Container -->
153
+ <div id="autoLoadContainer" class="auto-load-container">
154
+ <div class="text-center py-8">
155
+ <div class="inline-block relative">
156
+ <svg class="w-16 h-16" viewBox="0 0 36 36">
157
+ <circle cx="18" cy="18" r="16" fill="none" stroke="#e6e6e6" stroke-width="2"></circle>
158
+ <circle class="progress-ring" cx="18" cy="18" r="16" fill="none" stroke="#667eea" stroke-width="2" stroke-dasharray="100" stroke-dashoffset="100"></circle>
159
+ </svg>
160
+ <div class="absolute inset-0 flex items-center justify-center">
161
+ <i class="fas fa-sync-alt text-gray-500 animate-spin"></i>
162
+ </div>
163
+ </div>
164
+ <p class="mt-4 text-gray-600">Chargement des cours adaptés à vos besoins...</p>
165
+ </div>
166
+ <div class="auto-load-indicator"></div>
167
+ </div>
168
+ </div>
169
+ </section>
170
+
171
+ <!-- How It Works -->
172
+ <section class="py-16 bg-gray-50">
173
+ <div class="container mx-auto px-4">
174
+ <h2 class="text-3xl font-bold text-center text-gray-800 mb-16">Comment fonctionne notre système automatisé</h2>
175
+
176
+ <div class="grid grid-cols-1 md:grid-cols-3 gap-8">
177
+ <div class="bg-white p-8 rounded-xl shadow-md text-center">
178
+ <div class="w-20 h-20 gradient-bg rounded-full flex items-center justify-center text-white text-3xl mb-6 mx-auto">
179
+ <i class="fas fa-brain"></i>
180
+ </div>
181
+ <h3 class="text-xl font-bold mb-3">Analyse Intelligente</h3>
182
+ <p class="text-gray-600">Notre IA analyse vos préférences et votre historique d'apprentissage pour recommander les meilleurs contenus.</p>
183
+ </div>
184
+
185
+ <div class="bg-white p-8 rounded-xl shadow-md text-center">
186
+ <div class="w-20 h-20 gradient-bg rounded-full flex items-center justify-center text-white text-3xl mb-6 mx-auto">
187
+ <i class="fas fa-cogs"></i>
188
+ </div>
189
+ <h3 class="text-xl font-bold mb-3">Génération Automatique</h3>
190
+ <p class="text-gray-600">Les cours sont générés dynamiquement à partir de notre base de connaissances mise à jour en temps réel.</p>
191
+ </div>
192
+
193
+ <div class="bg-white p-8 rounded-xl shadow-md text-center">
194
+ <div class="w-20 h-20 gradient-bg rounded-full flex items-center justify-center text-white text-3xl mb-6 mx-auto">
195
+ <i class="fas fa-chart-line"></i>
196
+ </div>
197
+ <h3 class="text-xl font-bold mb-3">Adaptation Continue</h3>
198
+ <p class="text-gray-600">Le système s'ajuste en permanence en fonction de votre progression et des nouvelles tendances pédagogiques.</p>
199
+ </div>
200
+ </div>
201
+ </div>
202
+ </section>
203
+
204
+ <!-- Testimonials -->
205
+ <section class="py-16 bg-white">
206
+ <div class="container mx-auto px-4">
207
+ <h2 class="text-3xl font-bold text-center text-gray-800 mb-16">Ce que disent nos apprenants</h2>
208
+
209
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-8">
210
+ <div class="bg-gray-50 p-8 rounded-xl">
211
+ <div class="flex items-center mb-6">
212
+ <div class="w-12 h-12 rounded-full bg-purple-100 flex items-center justify-center text-purple-600 text-xl font-bold mr-4">
213
+ JD
214
+ </div>
215
+ <div>
216
+ <h4 class="font-bold">Jean Dupont</h4>
217
+ <p class="text-gray-500 text-sm">Développeur Fullstack</p>
218
+ </div>
219
+ </div>
220
+ <p class="text-gray-700 mb-4">"Le système automatisé m'a permis de découvrir des cours parfaitement adaptés à mon niveau et à mes objectifs professionnels. Une révolution dans l'apprentissage en ligne !"</p>
221
+ <div class="flex text-yellow-400">
222
+ <i class="fas fa-star"></i>
223
+ <i class="fas fa-star"></i>
224
+ <i class="fas fa-star"></i>
225
+ <i class="fas fa-star"></i>
226
+ <i class="fas fa-star"></i>
227
+ </div>
228
+ </div>
229
+
230
+ <div class="bg-gray-50 p-8 rounded-xl">
231
+ <div class="flex items-center mb-6">
232
+ <div class="w-12 h-12 rounded-full bg-blue-100 flex items-center justify-center text-blue-600 text-xl font-bold mr-4">
233
+ MS
234
+ </div>
235
+ <div>
236
+ <h4 class="font-bold">Marie Simon</h4>
237
+ <p class="text-gray-500 text-sm">Designer UX/UI</p>
238
+ </div>
239
+ </div>
240
+ <p class="text-gray-700 mb-4">"J'ai été impressionnée par la qualité des cours générés automatiquement. Les contenus sont toujours pertinents et parfaitement structurés. Je recommande vivement !"</p>
241
+ <div class="flex text-yellow-400">
242
+ <i class="fas fa-star"></i>
243
+ <i class="fas fa-star"></i>
244
+ <i class="fas fa-star"></i>
245
+ <i class="fas fa-star"></i>
246
+ <i class="fas fa-star-half-alt"></i>
247
+ </div>
248
+ </div>
249
+ </div>
250
+ </div>
251
+ </section>
252
+
253
+ <!-- CTA -->
254
+ <section class="py-16 gradient-bg text-white">
255
+ <div class="container mx-auto px-4 text-center">
256
+ <h2 class="text-3xl md:text-4xl font-bold mb-6">Prêt à révolutionner votre apprentissage ?</h2>
257
+ <p class="text-xl mb-8 max-w-2xl mx-auto">Inscrivez-vous maintenant et laissez notre système intelligent vous guider vers les meilleurs contenus pédagogiques.</p>
258
+ <button class="bg-white text-purple-700 px-8 py-4 rounded-full font-bold text-lg hover:bg-gray-100 transition shadow-lg">
259
+ Commencer gratuitement
260
+ </button>
261
+ </div>
262
+ </section>
263
+
264
+ <!-- Footer -->
265
+ <footer class="bg-gray-900 text-white py-12">
266
+ <div class="container mx-auto px-4">
267
+ <div class="grid grid-cols-1 md:grid-cols-4 gap-8 mb-8">
268
+ <div>
269
+ <h4 class="text-xl font-bold mb-4 flex items-center">
270
+ <i class="fas fa-robot mr-2"></i> EduBot
271
+ </h4>
272
+ <p class="text-gray-400">La plateforme d'apprentissage automatisé nouvelle génération.</p>
273
+ </div>
274
+ <div>
275
+ <h4 class="text-lg font-semibold mb-4">Navigation</h4>
276
+ <ul class="space-y-2">
277
+ <li><a href="#" class="text-gray-400 hover:text-white transition">Accueil</a></li>
278
+ <li><a href="#" class="text-gray-400 hover:text-white transition">Cours</a></li>
279
+ <li><a href="#" class="text-gray-400 hover:text-white transition">Parcours</a></li>
280
+ <li><a href="#" class="text-gray-400 hover:text-white transition">Prix</a></li>
281
+ </ul>
282
+ </div>
283
+ <div>
284
+ <h4 class="text-lg font-semibold mb-4">Ressources</h4>
285
+ <ul class="space-y-2">
286
+ <li><a href="#" class="text-gray-400 hover:text-white transition">Blog</a></li>
287
+ <li><a href="#" class="text-gray-400 hover:text-white transition">Documentation</a></li>
288
+ <li><a href="#" class="text-gray-400 hover:text-white transition">FAQ</a></li>
289
+ <li><a href="#" class="text-gray-400 hover:text-white transition">Support</a></li>
290
+ </ul>
291
+ </div>
292
+ <div>
293
+ <h4 class="text-lg font-semibold mb-4">Contact</h4>
294
+ <ul class="space-y-2">
295
+ <li class="flex items-center">
296
+ <i class="fas fa-envelope text-gray-400 mr-2"></i>
297
+ <span class="text-gray-400">contact@edubot.com</span>
298
+ </li>
299
+ <li class="flex items-center">
300
+ <i class="fas fa-phone text-gray-400 mr-2"></i>
301
+ <span class="text-gray-400">+33 1 23 45 67 89</span>
302
+ </li>
303
+ <li class="flex items-center">
304
+ <i class="fas fa-map-marker-alt text-gray-400 mr-2"></i>
305
+ <span class="text-gray-400">Paris, France</span>
306
+ </li>
307
+ </ul>
308
+ </div>
309
+ </div>
310
+ <div class="pt-8 border-t border-gray-800 flex flex-col md:flex-row justify-between items-center">
311
+ <p class="text-gray-400 mb-4 md:mb-0">© 2023 EduBot. Tous droits réservés.</p>
312
+ <div class="flex space-x-4">
313
+ <a href="#" class="text-gray-400 hover:text-white transition"><i class="fab fa-twitter"></i></a>
314
+ <a href="#" class="text-gray-400 hover:text-white transition"><i class="fab fa-linkedin"></i></a>
315
+ <a href="#" class="text-gray-400 hover:text-white transition"><i class="fab fa-github"></i></a>
316
+ <a href="#" class="text-gray-400 hover:text-white transition"><i class="fab fa-youtube"></i></a>
317
+ </div>
318
+ </div>
319
+ </div>
320
+ </footer>
321
+ </div>
322
+
323
+ <script>
324
+ document.addEventListener('DOMContentLoaded', function() {
325
+ // Sample course data
326
+ const courses = [
327
+ {
328
+ id: 1,
329
+ title: "Introduction à l'IA",
330
+ category: "tech",
331
+ description: "Découvrez les fondamentaux de l'intelligence artificielle et ses applications modernes.",
332
+ duration: "4h30",
333
+ level: "Débutant",
334
+ progress: 65,
335
+ image: "https://images.unsplash.com/photo-1620712943543-bcc4688e7485?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=500&q=80"
336
+ },
337
+ {
338
+ id: 2,
339
+ title: "Marketing Digital Automatisé",
340
+ category: "business",
341
+ description: "Apprenez à automatiser vos campagnes marketing avec les dernières technologies.",
342
+ duration: "6h",
343
+ level: "Intermédiaire",
344
+ progress: 30,
345
+ image: "https://images.unsplash.com/photo-1460925895917-afdab827c52f?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=500&q=80"
346
+ },
347
+ {
348
+ id: 3,
349
+ title: "UI/UX Design Adaptatif",
350
+ category: "design",
351
+ description: "Maîtrisez les principes du design adaptatif pour créer des interfaces utilisateur optimales.",
352
+ duration: "5h15",
353
+ level: "Avancé",
354
+ progress: 85,
355
+ image: "https://images.unsplash.com/photo-1541462608143-67571c6738dd?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=500&q=80"
356
+ },
357
+ {
358
+ id: 4,
359
+ title: "Développement Web Moderne",
360
+ category: "tech",
361
+ description: "Apprenez à créer des sites web modernes avec les dernières technologies front-end.",
362
+ duration: "8h",
363
+ level: "Intermédiaire",
364
+ progress: 45,
365
+ image: "https://images.unsplash.com/photo-1547658719-da2b51169166?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=500&q=80"
366
+ },
367
+ {
368
+ id: 5,
369
+ title: "Gestion de Projet Agile",
370
+ category: "business",
371
+ description: "Découvrez les méthodologies agiles pour une gestion de projet plus efficace.",
372
+ duration: "3h45",
373
+ level: "Débutant",
374
+ progress: 0,
375
+ image: "https://images.unsplash.com/photo-1551288049-bebda4e38f71?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=500&q=80"
376
+ },
377
+ {
378
+ id: 6,
379
+ title: "Data Science pour Tous",
380
+ category: "tech",
381
+ description: "Introduction à la data science sans prérequis en programmation.",
382
+ duration: "7h",
383
+ level: "Débutant",
384
+ progress: 10,
385
+ image: "https://images.unsplash.com/photo-1551288049-bebda4e38f71?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=500&q=80"
386
+ }
387
+ ];
388
+
389
+ // DOM elements
390
+ const courseGrid = document.getElementById('courseGrid');
391
+ const autoLoadContainer = document.getElementById('autoLoadContainer');
392
+ const filterAll = document.getElementById('filterAll');
393
+ const filterTech = document.getElementById('filterTech');
394
+ const filterBusiness = document.getElementById('filterBusiness');
395
+ const filterDesign = document.getElementById('filterDesign');
396
+
397
+ // Current filter
398
+ let currentFilter = 'all';
399
+
400
+ // Function to render courses
401
+ function renderCourses(filter = 'all') {
402
+ courseGrid.innerHTML = '';
403
+
404
+ const filteredCourses = filter === 'all'
405
+ ? courses
406
+ : courses.filter(course => course.category === filter);
407
+
408
+ filteredCourses.forEach(course => {
409
+ const progressPercentage = course.progress;
410
+ const progressCircumference = 2 * Math.PI * 14;
411
+ const progressOffset = progressCircumference - (progressPercentage / 100) * progressCircumference;
412
+
413
+ const courseCard = document.createElement('div');
414
+ courseCard.className = 'course-card bg-white shadow-md';
415
+ courseCard.innerHTML = `
416
+ <div class="relative">
417
+ <img src="${course.image}" alt="${course.title}" class="w-full h-48 object-cover">
418
+ <div class="absolute top-2 right-2 bg-white bg-opacity-90 px-2 py-1 rounded-full text-xs font-medium">
419
+ ${course.duration}
420
+ </div>
421
+ </div>
422
+ <div class="p-6">
423
+ <div class="flex justify-between items-start mb-2">
424
+ <h3 class="font-bold text-lg text-gray-800">${course.title}</h3>
425
+ <div class="text-xs px-2 py-1 rounded-full ${getLevelColor(course.level)}">
426
+ ${course.level}
427
+ </div>
428
+ </div>
429
+ <p class="text-gray-600 text-sm mb-4">${course.description}</p>
430
+ <div class="flex items-center justify-between">
431
+ <div class="flex items-center">
432
+ <div class="relative w-8 h-8 mr-3">
433
+ <svg class="w-8 h-8" viewBox="0 0 36 36">
434
+ <circle cx="18" cy="18" r="14" fill="none" stroke="#e6e6e6" stroke-width="3"></circle>
435
+ <circle class="progress-ring" cx="18" cy="18" r="14" fill="none" stroke="#667eea" stroke-width="3" stroke-dasharray="${progressCircumference}" stroke-dashoffset="${progressOffset}"></circle>
436
+ </svg>
437
+ <div class="absolute inset-0 flex items-center justify-center text-xs font-bold">
438
+ ${progressPercentage}%
439
+ </div>
440
+ </div>
441
+ <span class="text-xs text-gray-500">Progression</span>
442
+ </div>
443
+ <button class="text-purple-600 hover:text-purple-800 transition">
444
+ <i class="fas fa-arrow-right"></i>
445
+ </button>
446
+ </div>
447
+ </div>
448
+ `;
449
+ courseGrid.appendChild(courseCard);
450
+ });
451
+ }
452
+
453
+ // Helper function for level colors
454
+ function getLevelColor(level) {
455
+ switch(level.toLowerCase()) {
456
+ case 'débutant': return 'bg-green-100 text-green-800';
457
+ case 'intermédiaire': return 'bg-blue-100 text-blue-800';
458
+ case 'avancé': return 'bg-purple-100 text-purple-800';
459
+ default: return 'bg-gray-100 text-gray-800';
460
+ }
461
+ }
462
+
463
+ // Filter event listeners
464
+ filterAll.addEventListener('click', () => {
465
+ currentFilter = 'all';
466
+ updateFilters();
467
+ simulateAutoLoad();
468
+ });
469
+
470
+ filterTech.addEventListener('click', () => {
471
+ currentFilter = 'tech';
472
+ updateFilters();
473
+ simulateAutoLoad();
474
+ });
475
+
476
+ filterBusiness.addEventListener('click', () => {
477
+ currentFilter = 'business';
478
+ updateFilters();
479
+ simulateAutoLoad();
480
+ });
481
+
482
+ filterDesign.addEventListener('click', () => {
483
+ currentFilter = 'design';
484
+ updateFilters();
485
+ simulateAutoLoad();
486
+ });
487
+
488
+ // Update filter buttons
489
+ function updateFilters() {
490
+ filterAll.className = 'px-4 py-2 rounded-full bg-gray-200 text-gray-700 hover:bg-gray-300 transition';
491
+ filterTech.className = 'px-4 py-2 rounded-full bg-gray-200 text-gray-700 hover:bg-gray-300 transition';
492
+ filterBusiness.className = 'px-4 py-2 rounded-full bg-gray-200 text-gray-700 hover:bg-gray-300 transition';
493
+ filterDesign.className = 'px-4 py-2 rounded-full bg-gray-200 text-gray-700 hover:bg-gray-300 transition';
494
+
495
+ switch(currentFilter) {
496
+ case 'all':
497
+ filterAll.className = 'px-4 py-2 rounded-full bg-purple-600 text-white font-medium';
498
+ break;
499
+ case 'tech':
500
+ filterTech.className = 'px-4 py-2 rounded-full bg-purple-600 text-white font-medium';
501
+ break;
502
+ case 'business':
503
+ filterBusiness.className = 'px-4 py-2 rounded-full bg-purple-600 text-white font-medium';
504
+ break;
505
+ case 'design':
506
+ filterDesign.className = 'px-4 py-2 rounded-full bg-purple-600 text-white font-medium';
507
+ break;
508
+ }
509
+ }
510
+
511
+ // Simulate auto-loading
512
+ function simulateAutoLoad() {
513
+ autoLoadContainer.classList.add('loading');
514
+
515
+ setTimeout(() => {
516
+ renderCourses(currentFilter);
517
+ autoLoadContainer.classList.remove('loading');
518
+
519
+ // Set up intersection observer for infinite scroll
520
+ setupObserver();
521
+ }, 1500);
522
+ }
523
+
524
+ // Infinite scroll observer
525
+ function setupObserver() {
526
+ const observer = new IntersectionObserver((entries) => {
527
+ entries.forEach(entry => {
528
+ if (entry.isIntersecting) {
529
+ // Simulate loading more courses
530
+ setTimeout(() => {
531
+ autoLoadContainer.classList.add('loading');
532
+
533
+ setTimeout(() => {
534
+ // In a real app, we would fetch more data here
535
+ autoLoadContainer.classList.remove('loading');
536
+ }, 1000);
537
+ }, 500);
538
+ }
539
+ });
540
+ }, { threshold: 0.1 });
541
+
542
+ observer.observe(autoLoadContainer);
543
+ }
544
+
545
+ // Initial render
546
+ updateFilters();
547
+ simulateAutoLoad();
548
+ });
549
+ </script>
550
+ <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/edubot" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
551
+ </html>
prompts.txt ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ Chargement du Mega Site Generator
2
+ creer un site de cours en ligne qui charge les cours en systeme ribotisé en automatique