SaidAmchghal commited on
Commit
3567698
·
verified ·
1 Parent(s): 8b74ee0

Add 3 files

Browse files
Files changed (3) hide show
  1. README.md +6 -4
  2. index.html +840 -19
  3. prompts.txt +1 -0
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Math Application
3
- emoji: 🌖
4
- colorFrom: green
5
  colorTo: gray
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: math-application
3
+ emoji: 🐳
4
+ colorFrom: purple
5
  colorTo: gray
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,840 @@
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>Application Trilingue - Bac Scientifique</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
+ .rtl {
11
+ direction: rtl;
12
+ }
13
+ .ltr {
14
+ direction: ltr;
15
+ }
16
+ .subject-card {
17
+ transition: transform 0.3s, box-shadow 0.3s;
18
+ }
19
+ .subject-card:hover {
20
+ transform: translateY(-5px);
21
+ box-shadow: 0 10px 20px rgba(0,0,0,0.1);
22
+ }
23
+ .exam-card {
24
+ border-left: 4px solid;
25
+ }
26
+ .math-card {
27
+ border-left-color: #3b82f6;
28
+ }
29
+ .physics-card {
30
+ border-left-color: #ef4444;
31
+ }
32
+ .biology-card {
33
+ border-left-color: #10b981;
34
+ }
35
+ .chemistry-card {
36
+ border-left-color: #f59e0b;
37
+ }
38
+ .dark-mode {
39
+ background-color: #1a1a1a;
40
+ color: #e5e7eb;
41
+ }
42
+ .dark-mode .bg-white {
43
+ background-color: #2d2d2d !important;
44
+ color: #e5e7eb;
45
+ }
46
+ .dark-mode .text-gray-700 {
47
+ color: #d1d5db !important;
48
+ }
49
+ .dark-mode .border-gray-200 {
50
+ border-color: #4b5563 !important;
51
+ }
52
+ .dark-mode .subject-card:hover {
53
+ box-shadow: 0 10px 20px rgba(255,255,255,0.05);
54
+ }
55
+ .resource-item {
56
+ transition: all 0.3s;
57
+ }
58
+ .resource-item:hover {
59
+ background-color: #f3f4f6 !important;
60
+ }
61
+ .dark-mode .resource-item:hover {
62
+ background-color: #374151 !important;
63
+ }
64
+ .course-content {
65
+ max-height: 0;
66
+ overflow: hidden;
67
+ transition: max-height 0.3s ease-out;
68
+ }
69
+ .course-content.show {
70
+ max-height: 1000px;
71
+ }
72
+ .course-toggle {
73
+ transition: transform 0.3s;
74
+ }
75
+ .course-toggle.rotated {
76
+ transform: rotate(180deg);
77
+ }
78
+ </style>
79
+ </head>
80
+ <body class="bg-gray-50 text-gray-800 transition-colors duration-300">
81
+ <header class="bg-blue-600 text-white py-4 px-6 shadow-md">
82
+ <div class="container mx-auto flex flex-wrap justify-between items-center">
83
+ <div class="flex items-center space-x-2">
84
+ <i class="fas fa-graduation-cap text-2xl"></i>
85
+ <h1 id="headerTitle" class="text-xl font-bold">Application Éducative - Bac Scientifique</h1>
86
+ </div>
87
+ <div class="flex items-center space-x-4 mt-2 sm:mt-0">
88
+ <select id="languageSelect" class="bg-blue-700 text-white px-3 py-1 rounded border-none focus:ring-2 focus:ring-blue-300">
89
+ <option value="fr">Français</option>
90
+ <option value="en">English</option>
91
+ <option value="ar">العربية</option>
92
+ </select>
93
+ <button id="modeToggle" class="bg-blue-700 hover:bg-blue-800 text-white px-3 py-1 rounded flex items-center space-x-1">
94
+ <i class="fas fa-moon"></i>
95
+ <span>Mode Sombre</span>
96
+ </button>
97
+ </div>
98
+ </div>
99
+ </header>
100
+
101
+ <nav class="bg-white shadow-sm sticky top-0 z-10 dark:bg-gray-800">
102
+ <div class="container mx-auto px-6 py-3">
103
+ <ul class="flex flex-wrap space-x-6">
104
+ <li><a href="#cours" id="navCours" class="text-blue-600 hover:text-blue-800 font-medium dark:text-blue-300 dark:hover:text-blue-200">Cours</a></li>
105
+ <li><a href="#examens" id="navExamens" class="text-blue-600 hover:text-blue-800 font-medium dark:text-blue-300 dark:hover:text-blue-200">Examens</a></li>
106
+ <li><a href="#ressources" id="navRessources" class="text-blue-600 hover:text-blue-800 font-medium dark:text-blue-300 dark:hover:text-blue-200">Ressources</a></li>
107
+ <li><a href="#quiz" id="navQuiz" class="text-blue-600 hover:text-blue-800 font-medium dark:text-blue-300 dark:hover:text-blue-200">Quiz</a></li>
108
+ </ul>
109
+ </div>
110
+ </nav>
111
+
112
+ <main class="container mx-auto px-4 py-8">
113
+ <!-- Section Cours -->
114
+ <section id="cours" class="mb-12">
115
+ <div class="bg-white rounded-lg shadow-md p-6 dark:bg-gray-800">
116
+ <h2 id="sectionCoursTitle" class="text-2xl font-bold mb-4 text-blue-600 dark:text-blue-300">Cours Scientifiques</h2>
117
+ <p id="coursDescription" class="text-gray-700 mb-6 dark:text-gray-300">
118
+ Bienvenue sur notre plateforme d'apprentissage. Ici, vous pouvez consulter vos cours, approfondir vos connaissances et interagir avec des exercices interactifs.
119
+ </p>
120
+
121
+ <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6">
122
+ <!-- Mathématiques -->
123
+ <div class="subject-card bg-white rounded-lg shadow p-6 border border-gray-200 dark:border-gray-700">
124
+ <div class="flex items-center mb-4">
125
+ <div class="bg-blue-100 p-3 rounded-full mr-3 dark:bg-blue-900">
126
+ <i class="fas fa-square-root-alt text-blue-600 text-xl dark:text-blue-300"></i>
127
+ </div>
128
+ <h3 class="font-bold text-lg">Mathématiques</h3>
129
+ </div>
130
+ <ul class="space-y-2 text-gray-700 dark:text-gray-300">
131
+ <li><i class="fas fa-check-circle text-green-500 mr-2"></i> Algèbre et analyse</li>
132
+ <li><i class="fas fa-check-circle text-green-500 mr-2"></i> Géométrie dans l'espace</li>
133
+ <li><i class="fas fa-check-circle text-green-500 mr-2"></i> Probabilités</li>
134
+ <li><i class="fas fa-check-circle text-green-500 mr-2"></i> Suites numériques</li>
135
+ </ul>
136
+ <button class="mt-4 bg-blue-600 hover:bg-blue-700 text-white px-4 py-2 rounded-md w-full transition-colors course-toggle-btn" data-subject="math">
137
+ <i class="fas fa-book-open mr-2"></i> Voir le cours
138
+ </button>
139
+
140
+ <!-- Contenu du cours de Mathématiques -->
141
+ <div class="course-content mt-4" id="math-content">
142
+ <div class="border-t pt-4">
143
+ <h4 class="font-semibold mb-2">Suites Numériques</h4>
144
+ <p class="text-sm mb-2">Une suite numérique est une fonction définie sur ℕ à valeurs dans ℝ.</p>
145
+
146
+ <div class="bg-blue-50 p-3 rounded mb-3 dark:bg-gray-700">
147
+ <h5 class="font-medium text-blue-800 dark:text-blue-300">Exemple de suite arithmétique :</h5>
148
+ <p class="text-sm">Soit (Uₙ) la suite définie par U₀ = 5 et Uₙ₊₁ = Uₙ + 3</p>
149
+ <p class="text-sm">Terme général : Uₙ = 5 + 3n</p>
150
+ </div>
151
+
152
+ <div class="bg-blue-50 p-3 rounded dark:bg-gray-700">
153
+ <h5 class="font-medium text-blue-800 dark:text-blue-300">Exemple de suite géométrique :</h5>
154
+ <p class="text-sm">Soit (Vₙ) la suite définie par V₀ = 2 et Vₙ₊₁ = 3 × Vₙ</p>
155
+ <p class="text-sm">Terme général : Vₙ = 2 × 3ⁿ</p>
156
+ </div>
157
+
158
+ <button class="mt-3 bg-blue-100 hover:bg-blue-200 text-blue-800 px-3 py-1 rounded text-sm w-full dark:bg-blue-900 dark:text-blue-200">
159
+ <i class="fas fa-download mr-1"></i> Télécharger le PDF
160
+ </button>
161
+ </div>
162
+ </div>
163
+ </div>
164
+
165
+ <!-- Physique -->
166
+ <div class="subject-card bg-white rounded-lg shadow p-6 border border-gray-200 dark:border-gray-700">
167
+ <div class="flex items-center mb-4">
168
+ <div class="bg-red-100 p-3 rounded-full mr-3 dark:bg-red-900">
169
+ <i class="fas fa-atom text-red-600 text-xl dark:text-red-300"></i>
170
+ </div>
171
+ <h3 class="font-bold text-lg">Physique</h3>
172
+ </div>
173
+ <ul class="space-y-2 text-gray-700 dark:text-gray-300">
174
+ <li><i class="fas fa-check-circle text-green-500 mr-2"></i> Mécanique</li>
175
+ <li><i class="fas fa-check-circle text-green-500 mr-2"></i> Électricité</li>
176
+ <li><i class="fas fa-check-circle text-green-500 mr-2"></i> Ondes et optique</li>
177
+ <li><i class="fas fa-check-circle text-green-500 mr-2"></i> Thermodynamique</li>
178
+ </ul>
179
+ <button class="mt-4 bg-red-600 hover:bg-red-700 text-white px-4 py-2 rounded-md w-full transition-colors course-toggle-btn" data-subject="physics">
180
+ <i class="fas fa-book-open mr-2"></i> Voir le cours
181
+ </button>
182
+
183
+ <!-- Contenu du cours de Physique -->
184
+ <div class="course-content mt-4" id="physics-content">
185
+ <div class="border-t pt-4">
186
+ <h4 class="font-semibold mb-2">Mécanique - Lois de Newton</h4>
187
+ <p class="text-sm mb-2">La mécanique newtonienne repose sur trois lois fondamentales.</p>
188
+
189
+ <div class="bg-red-50 p-3 rounded mb-3 dark:bg-gray-700">
190
+ <h5 class="font-medium text-red-800 dark:text-red-300">1ère loi : Principe d'inertie</h5>
191
+ <p class="text-sm">Un corps persévère dans son état de repos ou de mouvement rectiligne uniforme si les forces qui s'exercent sur lui se compensent.</p>
192
+ </div>
193
+
194
+ <div class="bg-red-50 p-3 rounded dark:bg-gray-700">
195
+ <h5 class="font-medium text-red-800 dark:text-red-300">2ème loi : Relation fondamentale</h5>
196
+ <p class="text-sm">ΣF = m×a (la somme des forces égale la masse fois l'accélération)</p>
197
+ <p class="text-sm mt-1">Exemple : Un objet de 2kg soumis à une force de 10N a une accélération de 5m/s²</p>
198
+ </div>
199
+
200
+ <button class="mt-3 bg-red-100 hover:bg-red-200 text-red-800 px-3 py-1 rounded text-sm w-full dark:bg-red-900 dark:text-red-200">
201
+ <i class="fas fa-download mr-1"></i> Télécharger le PDF
202
+ </button>
203
+ </div>
204
+ </div>
205
+ </div>
206
+
207
+ <!-- Chimie -->
208
+ <div class="subject-card bg-white rounded-lg shadow p-6 border border-gray-200 dark:border-gray-700">
209
+ <div class="flex items-center mb-4">
210
+ <div class="bg-yellow-100 p-3 rounded-full mr-3 dark:bg-yellow-900">
211
+ <i class="fas fa-flask text-yellow-600 text-xl dark:text-yellow-300"></i>
212
+ </div>
213
+ <h3 class="font-bold text-lg">Chimie</h3>
214
+ </div>
215
+ <ul class="space-y-2 text-gray-700 dark:text-gray-300">
216
+ <li><i class="fas fa-check-circle text-green-500 mr-2"></i> Cinétique chimique</li>
217
+ <li><i class="fas fa-check-circle text-green-500 mr-2"></i> Équilibres chimiques</li>
218
+ <li><i class="fas fa-check-circle text-green-500 mr-2"></i> Chimie organique</li>
219
+ <li><i class="fas fa-check-circle text-green-500 mr-2"></i> Électrochimie</li>
220
+ </ul>
221
+ <button class="mt-4 bg-yellow-600 hover:bg-yellow-700 text-white px-4 py-2 rounded-md w-full transition-colors course-toggle-btn" data-subject="chemistry">
222
+ <i class="fas fa-book-open mr-2"></i> Voir le cours
223
+ </button>
224
+
225
+ <!-- Contenu du cours de Chimie -->
226
+ <div class="course-content mt-4" id="chemistry-content">
227
+ <div class="border-t pt-4">
228
+ <h4 class="font-semibold mb-2">Réactions d'oxydoréduction</h4>
229
+ <p class="text-sm mb-2">Une réaction d'oxydoréduction met en jeu un transfert d'électrons entre deux espèces chimiques.</p>
230
+
231
+ <div class="bg-yellow-50 p-3 rounded mb-3 dark:bg-gray-700">
232
+ <h5 class="font-medium text-yellow-800 dark:text-yellow-300">Demi-équations :</h5>
233
+ <p class="text-sm">Cu²⁺ + 2e⁻ → Cu (réduction)</p>
234
+ <p class="text-sm">Zn → Zn²⁺ + 2e⁻ (oxydation)</p>
235
+ </div>
236
+
237
+ <div class="bg-yellow-50 p-3 rounded dark:bg-gray-700">
238
+ <h5 class="font-medium text-yellow-800 dark:text-yellow-300">Pile zinc-cuivre :</h5>
239
+ <p class="text-sm">Zn | Zn²⁺ || Cu²⁺ | Cu</p>
240
+ <p class="text-sm mt-1">FEM = E°(Cu²⁺/Cu) - E°(Zn²⁺/Zn) = +0,34 - (-0,76) = 1,10V</p>
241
+ </div>
242
+
243
+ <button class="mt-3 bg-yellow-100 hover:bg-yellow-200 text-yellow-800 px-3 py-1 rounded text-sm w-full dark:bg-yellow-900 dark:text-yellow-200">
244
+ <i class="fas fa-download mr-1"></i> Télécharger le PDF
245
+ </button>
246
+ </div>
247
+ </div>
248
+ </div>
249
+
250
+ <!-- SVT -->
251
+ <div class="subject-card bg-white rounded-lg shadow p-6 border border-gray-200 dark:border-gray-700">
252
+ <div class="flex items-center mb-4">
253
+ <div class="bg-green-100 p-3 rounded-full mr-3 dark:bg-green-900">
254
+ <i class="fas fa-dna text-green-600 text-xl dark:text-green-300"></i>
255
+ </div>
256
+ <h3 class="font-bold text-lg">Sciences de la Vie</h3>
257
+ </div>
258
+ <ul class="space-y-2 text-gray-700 dark:text-gray-300">
259
+ <li><i class="fas fa-check-circle text-green-500 mr-2"></i> Génétique</li>
260
+ <li><i class="fas fa-check-circle text-green-500 mr-2"></i> Évolution</li>
261
+ <li><i class="fas fa-check-circle text-green-500 mr-2"></i> Immunologie</li>
262
+ <li><i class="fas fa-check-circle text-green-500 mr-2"></i> Écologie</li>
263
+ </ul>
264
+ <button class="mt-4 bg-green-600 hover:bg-green-700 text-white px-4 py-2 rounded-md w-full transition-colors course-toggle-btn" data-subject="biology">
265
+ <i class="fas fa-book-open mr-2"></i> Voir le cours
266
+ </button>
267
+
268
+ <!-- Contenu du cours de SVT -->
269
+ <div class="course-content mt-4" id="biology-content">
270
+ <div class="border-t pt-4">
271
+ <h4 class="font-semibold mb-2">La Réplication de l'ADN</h4>
272
+ <p class="text-sm mb-2">La réplication est semi-conservative et nécessite plusieurs enzymes.</p>
273
+
274
+ <div class="bg-green-50 p-3 rounded mb-3 dark:bg-gray-700">
275
+ <h5 class="font-medium text-green-800 dark:text-green-300">Étapes clés :</h5>
276
+ <ol class="list-decimal pl-4 text-sm space-y-1">
277
+ <li>Déroulement de l'hélice par l'hélicase</li>
278
+ <li>Synthèse des brins complémentaires par l'ADN polymérase</li>
279
+ <li>Correction des erreurs par l'ADN polymérase</li>
280
+ </ol>
281
+ </div>
282
+
283
+ <div class="bg-green-50 p-3 rounded dark:bg-gray-700">
284
+ <h5 class="font-medium text-green-800 dark:text-green-300">Brins direct et retardé :</h5>
285
+ <p class="text-sm">Le brin direct est synthétisé continûment alors que le brin retardé est synthétisé sous forme de fragments d'Okazaki.</p>
286
+ </div>
287
+
288
+ <button class="mt-3 bg-green-100 hover:bg-green-200 text-green-800 px-3 py-1 rounded text-sm w-full dark:bg-green-900 dark:text-green-200">
289
+ <i class="fas fa-download mr-1"></i> Télécharger le PDF
290
+ </button>
291
+ </div>
292
+ </div>
293
+ </div>
294
+ </div>
295
+ </div>
296
+ </section>
297
+
298
+ <!-- Section Examens -->
299
+ <section id="examens" class="mb-12">
300
+ <div class="bg-white rounded-lg shadow-md p-6 dark:bg-gray-800">
301
+ <h2 id="sectionExamensTitle" class="text-2xl font-bold mb-4 text-blue-600 dark:text-blue-300">Préparation aux Examens</h2>
302
+ <p id="examensDescription" class="text-gray-700 mb-6 dark:text-gray-300">
303
+ Découvrez des conseils, astuces et annales pour réussir brillamment vos examens du baccalauréat scientifique.
304
+ </p>
305
+
306
+ <div class="space-y-6">
307
+ <!-- Conseils généraux -->
308
+ <div class="bg-blue-50 rounded-lg p-6 dark:bg-gray-700">
309
+ <h3 class="font-bold text-lg mb-3 text-blue-700 dark:text-blue-300"><i class="fas fa-lightbulb mr-2"></i> Conseils pour réussir</h3>
310
+ <ul class="list-disc pl-5 space-y-2 text-gray-700 dark:text-gray-300">
311
+ <li>Gérez bien votre temps pendant l'examen</li>
312
+ <li>Lisez attentivement tous les énoncés avant de commencer</li>
313
+ <li>Commencez par les questions qui vous semblent les plus faciles</li>
314
+ <li>Vérifiez toujours vos calculs et vos unités</li>
315
+ <li>Ne laissez aucune question sans réponse</li>
316
+ </ul>
317
+ </div>
318
+
319
+ <!-- Annales -->
320
+ <div>
321
+ <h3 class="font-bold text-lg mb-4 text-gray-800 dark:text-gray-200"><i class="fas fa-file-alt mr-2"></i> Annales des années précédentes</h3>
322
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-4">
323
+ <!-- Mathématiques -->
324
+ <div class="exam-card math-card bg-white rounded shadow p-4 border-l-4 dark:bg-gray-700">
325
+ <div class="flex items-start">
326
+ <div class="bg-blue-100 p-2 rounded-full mr-3 dark:bg-blue-900">
327
+ <i class="fas fa-square-root-alt text-blue-600 dark:text-blue-300"></i>
328
+ </div>
329
+ <div>
330
+ <h4 class="font-bold">Mathématiques</h4>
331
+ <p class="text-sm text-gray-600 dark:text-gray-400">Série S - 2023</p>
332
+ <div class="mt-2 flex space-x-2">
333
+ <a href="#" class="text-blue-600 text-sm hover:underline dark:text-blue-300">Télécharger</a>
334
+ <a href="#" class="text-blue-600 text-sm hover:underline dark:text-blue-300">Corrigé</a>
335
+ </div>
336
+ </div>
337
+ </div>
338
+ </div>
339
+
340
+ <!-- Physique -->
341
+ <div class="exam-card physics-card bg-white rounded shadow p-4 border-l-4 dark:bg-gray-700">
342
+ <div class="flex items-start">
343
+ <div class="bg-red-100 p-2 rounded-full mr-3 dark:bg-red-900">
344
+ <i class="fas fa-atom text-red-600 dark:text-red-300"></i>
345
+ </div>
346
+ <div>
347
+ <h4 class="font-bold">Physique-Chimie</h4>
348
+ <p class="text-sm text-gray-600 dark:text-gray-400">Série S - 2023</p>
349
+ <div class="mt-2 flex space-x-2">
350
+ <a href="#" class="text-blue-600 text-sm hover:underline dark:text-blue-300">Télécharger</a>
351
+ <a href="#" class="text-blue-600 text-sm hover:underline dark:text-blue-300">Corrigé</a>
352
+ </div>
353
+ </div>
354
+ </div>
355
+ </div>
356
+
357
+ <!-- SVT -->
358
+ <div class="exam-card biology-card bg-white rounded shadow p-4 border-l-4 dark:bg-gray-700">
359
+ <div class="flex items-start">
360
+ <div class="bg-green-100 p-2 rounded-full mr-3 dark:bg-green-900">
361
+ <i class="fas fa-dna text-green-600 dark:text-green-300"></i>
362
+ </div>
363
+ <div>
364
+ <h4 class="font-bold">Sciences de la Vie</h4>
365
+ <p class="text-sm text-gray-600 dark:text-gray-400">Série S - 2023</p>
366
+ <div class="mt-2 flex space-x-2">
367
+ <a href="#" class="text-blue-600 text-sm hover:underline dark:text-blue-300">Télécharger</a>
368
+ <a href="#" class="text-blue-600 text-sm hover:underline dark:text-blue-300">Corrigé</a>
369
+ </div>
370
+ </div>
371
+ </div>
372
+ </div>
373
+
374
+ <!-- Anglais -->
375
+ <div class="exam-card chemistry-card bg-white rounded shadow p-4 border-l-4 dark:bg-gray-700">
376
+ <div class="flex items-start">
377
+ <div class="bg-yellow-100 p-2 rounded-full mr-3 dark:bg-yellow-900">
378
+ <i class="fas fa-language text-yellow-600 dark:text-yellow-300"></i>
379
+ </div>
380
+ <div>
381
+ <h4 class="font-bold">Anglais LV1</h4>
382
+ <p class="text-sm text-gray-600 dark:text-gray-400">Série S - 2023</p>
383
+ <div class="mt-2 flex space-x-2">
384
+ <a href="#" class="text-blue-600 text-sm hover:underline dark:text-blue-300">Télécharger</a>
385
+ <a href="#" class="text-blue-600 text-sm hover:underline dark:text-blue-300">Corrigé</a>
386
+ </div>
387
+ </div>
388
+ </div>
389
+ </div>
390
+ </div>
391
+ </div>
392
+ </div>
393
+ </div>
394
+ </section>
395
+
396
+ <!-- Section Ressources -->
397
+ <section id="ressources" class="mb-12">
398
+ <div class="bg-white rounded-lg shadow-md p-6 dark:bg-gray-800">
399
+ <h2 id="sectionRessourcesTitle" class="text-2xl font-bold mb-4 text-blue-600 dark:text-blue-300">Ressources Externes</h2>
400
+ <p id="ressourcesDescription" class="text-gray-700 mb-6 dark:text-gray-300">
401
+ Chargez des ressources supplémentaires via des API gratuites pour enrichir votre apprentissage.
402
+ </p>
403
+
404
+ <div class="mb-6">
405
+ <button id="loadResources" class="bg-blue-600 hover:bg-blue-700 text-white px-4 py-2 rounded-md flex items-center space-x-2">
406
+ <i class="fas fa-sync-alt"></i>
407
+ <span>Charger les Ressources</span>
408
+ </button>
409
+ </div>
410
+
411
+ <div id="resourcesContainer" class="space-y-4">
412
+ <!-- Exemples de ressources statiques -->
413
+ <div class="resource-item bg-gray-50 p-4 rounded-lg border border-gray-200 dark:bg-gray-700 dark:border-gray-600">
414
+ <div class="flex items-start">
415
+ <div class="bg-blue-100 p-2 rounded-full mr-3 dark:bg-blue-900">
416
+ <i class="fas fa-book text-blue-600 dark:text-blue-300"></i>
417
+ </div>
418
+ <div>
419
+ <h4 class="font-bold">Khan Academy</h4>
420
+ <p class="text-sm text-gray-600 dark:text-gray-400">Ressources gratuites pour les mathématiques et les sciences</p>
421
+ <a href="https://www.khanacademy.org" target="_blank" class="text-blue-600 text-sm hover:underline dark:text-blue-300">Visiter le site</a>
422
+ </div>
423
+ </div>
424
+ </div>
425
+
426
+ <div class="resource-item bg-gray-50 p-4 rounded-lg border border-gray-200 dark:bg-gray-700 dark:border-gray-600">
427
+ <div class="flex items-start">
428
+ <div class="bg-green-100 p-2 rounded-full mr-3 dark:bg-green-900">
429
+ <i class="fas fa-video text-green-600 dark:text-green-300"></i>
430
+ </div>
431
+ <div>
432
+ <h4 class="font-bold">YouTube EDU</h4>
433
+ <p class="text-sm text-gray-600 dark:text-gray-400">Chaînes éducatives pour le bac scientifique</p>
434
+ <a href="https://www.youtube.com/edu" target="_blank" class="text-blue-600 text-sm hover:underline dark:text-blue-300">Visiter la chaîne</a>
435
+ </div>
436
+ </div>
437
+ </div>
438
+
439
+ <div class="resource-item bg-gray-50 p-4 rounded-lg border border-gray-200 dark:bg-gray-700 dark:border-gray-600">
440
+ <div class="flex items-start">
441
+ <div class="bg-purple-100 p-2 rounded-full mr-3 dark:bg-purple-900">
442
+ <i class="fas fa-flask text-purple-600 dark:text-purple-300"></i>
443
+ </div>
444
+ <div>
445
+ <h4 class="font-bold">PhET Simulations</h4>
446
+ <p class="text-sm text-gray-600 dark:text-gray-400">Simulations interactives pour la physique et la chimie</p>
447
+ <a href="https://phet.colorado.edu" target="_blank" class="text-blue-600 text-sm hover:underline dark:text-blue-300">Visiter le site</a>
448
+ </div>
449
+ </div>
450
+ </div>
451
+ </div>
452
+ </div>
453
+ </section>
454
+
455
+ <!-- Section Quiz -->
456
+ <section id="quiz" class="mb-12">
457
+ <div class="bg-white rounded-lg shadow-md p-6 dark:bg-gray-800">
458
+ <h2 id="sectionQuizTitle" class="text-2xl font-bold mb-4 text-blue-600 dark:text-blue-300">Quiz Scientifique</h2>
459
+ <p id="quizDescription" class="text-gray-700 mb-6 dark:text-gray-300">
460
+ Testez vos connaissances avec nos quiz interactifs couvrant toutes les matières du bac scientifique.
461
+ </p>
462
+
463
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-6">
464
+ <!-- Quiz Mathématiques -->
465
+ <div class="bg-blue-50 rounded-lg p-6 dark:bg-gray-700">
466
+ <div class="flex items-center mb-4">
467
+ <div class="bg-blue-100 p-3 rounded-full mr-3 dark:bg-blue-900">
468
+ <i class="fas fa-square-root-alt text-blue-600 dark:text-blue-300"></i>
469
+ </div>
470
+ <h3 class="font-bold text-lg">Quiz Mathématiques</h3>
471
+ </div>
472
+ <p class="text-gray-700 mb-4 dark:text-gray-300">10 questions sur les suites, fonctions et probabilités</p>
473
+ <div class="flex justify-between items-center">
474
+ <span class="text-sm text-gray-600 dark:text-gray-400"><i class="fas fa-clock mr-1"></i> 15 min</span>
475
+ <button class="bg-blue-600 hover:bg-blue-700 text-white px-4 py-2 rounded-md">
476
+ Commencer <i class="fas fa-arrow-right ml-1"></i>
477
+ </button>
478
+ </div>
479
+ </div>
480
+
481
+ <!-- Quiz Physique -->
482
+ <div class="bg-red-50 rounded-lg p-6 dark:bg-gray-700">
483
+ <div class="flex items-center mb-4">
484
+ <div class="bg-red-100 p-3 rounded-full mr-3 dark:bg-red-900">
485
+ <i class="fas fa-atom text-red-600 dark:text-red-300"></i>
486
+ </div>
487
+ <h3 class="font-bold text-lg">Quiz Physique</h3>
488
+ </div>
489
+ <p class="text-gray-700 mb-4 dark:text-gray-300">12 questions sur la mécanique et l'électricité</p>
490
+ <div class="flex justify-between items-center">
491
+ <span class="text-sm text-gray-600 dark:text-gray-400"><i class="fas fa-clock mr-1"></i> 20 min</span>
492
+ <button class="bg-red-600 hover:bg-red-700 text-white px-4 py-2 rounded-md">
493
+ Commencer <i class="fas fa-arrow-right ml-1"></i>
494
+ </button>
495
+ </div>
496
+ </div>
497
+
498
+ <!-- Quiz Chimie -->
499
+ <div class="bg-yellow-50 rounded-lg p-6 dark:bg-gray-700">
500
+ <div class="flex items-center mb-4">
501
+ <div class="bg-yellow-100 p-3 rounded-full mr-3 dark:bg-yellow-900">
502
+ <i class="fas fa-flask text-yellow-600 dark:text-yellow-300"></i>
503
+ </div>
504
+ <h3 class="font-bold text-lg">Quiz Chimie</h3>
505
+ </div>
506
+ <p class="text-gray-700 mb-4 dark:text-gray-300">8 questions sur la cinétique et les équilibres</p>
507
+ <div class="flex justify-between items-center">
508
+ <span class="text-sm text-gray-600 dark:text-gray-400"><i class="fas fa-clock mr-1"></i> 12 min</span>
509
+ <button class="bg-yellow-600 hover:bg-yellow-700 text-white px-4 py-2 rounded-md">
510
+ Commencer <i class="fas fa-arrow-right ml-1"></i>
511
+ </button>
512
+ </div>
513
+ </div>
514
+
515
+ <!-- Quiz SVT -->
516
+ <div class="bg-green-50 rounded-lg p-6 dark:bg-gray-700">
517
+ <div class="flex items-center mb-4">
518
+ <div class="bg-green-100 p-3 rounded-full mr-3 dark:bg-green-900">
519
+ <i class="fas fa-dna text-green-600 dark:text-green-300"></i>
520
+ </div>
521
+ <h3 class="font-bold text-lg">Quiz SVT</h3>
522
+ </div>
523
+ <p class="text-gray-700 mb-4 dark:text-gray-300">15 questions sur la génétique et l'évolution</p>
524
+ <div class="flex justify-between items-center">
525
+ <span class="text-sm text-gray-600 dark:text-gray-400"><i class="fas fa-clock mr-1"></i> 25 min</span>
526
+ <button class="bg-green-600 hover:bg-green-700 text-white px-4 py-2 rounded-md">
527
+ Commencer <i class="fas fa-arrow-right ml-1"></i>
528
+ </button>
529
+ </div>
530
+ </div>
531
+ </div>
532
+ </div>
533
+ </section>
534
+ </main>
535
+
536
+ <footer class="bg-gray-800 text-white py-8">
537
+ <div class="container mx-auto px-6">
538
+ <div class="flex flex-col md:flex-row justify-between">
539
+ <div class="mb-6 md:mb-0">
540
+ <h3 class="text-lg font-bold mb-4" id="footerTitle">Application Éducative</h3>
541
+ <p id="footerDescription" class="text-gray-400">Votre compagnon pour réussir le baccalauréat scientifique.</p>
542
+ </div>
543
+ <div class="grid grid-cols-2 gap-8">
544
+ <div>
545
+ <h4 class="text-sm font-semibold uppercase tracking-wider mb-4">Navigation</h4>
546
+ <ul class="space-y-2">
547
+ <li><a href="#cours" class="text-gray-400 hover:text-white transition-colors" id="footerNavCours">Cours</a></li>
548
+ <li><a href="#examens" class="text-gray-400 hover:text-white transition-colors" id="footerNavExamens">Examens</a></li>
549
+ <li><a href="#ressources" class="text-gray-400 hover:text-white transition-colors" id="footerNavRessources">Ressources</a></li>
550
+ <li><a href="#quiz" class="text-gray-400 hover:text-white transition-colors" id="footerNavQuiz">Quiz</a></li>
551
+ </ul>
552
+ </div>
553
+ <div>
554
+ <h4 class="text-sm font-semibold uppercase tracking-wider mb-4">Contact</h4>
555
+ <ul class="space-y-2">
556
+ <li class="flex items-center"><i class="fas fa-envelope mr-2 text-gray-400"></i> <span class="text-gray-400">contact@education-app.com</span></li>
557
+ <li class="flex items-center"><i class="fas fa-phone mr-2 text-gray-400"></i> <span class="text-gray-400">+33 1 23 45 67 89</span></li>
558
+ </ul>
559
+ </div>
560
+ </div>
561
+ </div>
562
+ <div class="border-t border-gray-700 mt-8 pt-8 flex flex-col md:flex-row justify-between items-center">
563
+ <p id="footerText" class="text-gray-400 text-sm">© 2025 Application Éducative - Tous droits réservés.</p>
564
+ <div class="flex space-x-6 mt-4 md:mt-0">
565
+ <a href="#" class="text-gray-400 hover:text-white"><i class="fab fa-facebook-f"></i></a>
566
+ <a href="#" class="text-gray-400 hover:text-white"><i class="fab fa-twitter"></i></a>
567
+ <a href="#" class="text-gray-400 hover:text-white"><i class="fab fa-instagram"></i></a>
568
+ <a href="#" class="text-gray-400 hover:text-white"><i class="fab fa-youtube"></i></a>
569
+ </div>
570
+ </div>
571
+ </div>
572
+ </footer>
573
+
574
+ <script>
575
+ // Objet de traductions étendu avec les nouvelles sections
576
+ const translations = {
577
+ fr: {
578
+ headerTitle: "Application Éducative - Bac Scientifique",
579
+ navCours: "Cours",
580
+ navExamens: "Examens",
581
+ navRessources: "Ressources",
582
+ navQuiz: "Quiz",
583
+ sectionCoursTitle: "Cours Scientifiques",
584
+ coursDescription: "Bienvenue sur notre plateforme d'apprentissage. Ici, vous pouvez consulter vos cours, approfondir vos connaissances et interagir avec des exercices interactifs.",
585
+ sectionExamensTitle: "Préparation aux Examens",
586
+ examensDescription: "Découvrez des conseils, astuces et annales pour réussir brillamment vos examens du baccalauréat scientifique.",
587
+ sectionRessourcesTitle: "Ressources Externes",
588
+ ressourcesDescription: "Chargez des ressources supplémentaires via des API gratuites pour enrichir votre apprentissage.",
589
+ sectionQuizTitle: "Quiz Scientifique",
590
+ quizDescription: "Testez vos connaissances avec nos quiz interactifs couvrant toutes les matières du bac scientifique.",
591
+ loadResources: "Charger les Ressources",
592
+ footerTitle: "Application Éducative",
593
+ footerDescription: "Votre compagnon pour réussir le baccalauréat scientifique.",
594
+ footerNavCours: "Cours",
595
+ footerNavExamens: "Examens",
596
+ footerNavRessources: "Ressources",
597
+ footerNavQuiz: "Quiz",
598
+ footerText: "© 2025 Application Éducative - Tous droits réservés.",
599
+ modeToggleLight: "Mode Sombre",
600
+ modeToggleDark: "Mode Clair",
601
+ viewCourse: "Voir le cours",
602
+ downloadPDF: "Télécharger le PDF"
603
+ },
604
+ en: {
605
+ headerTitle: "Educational Application - Scientific Baccalaureate",
606
+ navCours: "Courses",
607
+ navExamens: "Exams",
608
+ navRessources: "Resources",
609
+ navQuiz: "Quizzes",
610
+ sectionCoursTitle: "Scientific Courses",
611
+ coursDescription: "Welcome to our learning platform. Here you can view your courses, deepen your knowledge and interact with interactive exercises.",
612
+ sectionExamensTitle: "Exam Preparation",
613
+ examensDescription: "Discover tips, strategies and past papers to excel in your scientific baccalaureate exams.",
614
+ sectionRessourcesTitle: "External Resources",
615
+ ressourcesDescription: "Load additional resources via free APIs to enhance your learning.",
616
+ sectionQuizTitle: "Science Quizzes",
617
+ quizDescription: "Test your knowledge with our interactive quizzes covering all scientific subjects.",
618
+ loadResources: "Load Resources",
619
+ footerTitle: "Educational App",
620
+ footerDescription: "Your companion to succeed in the scientific baccalaureate.",
621
+ footerNavCours: "Courses",
622
+ footerNavExamens: "Exams",
623
+ footerNavRessources: "Resources",
624
+ footerNavQuiz: "Quizzes",
625
+ footerText: "© 2025 Educational Application - All rights reserved.",
626
+ modeToggleLight: "Dark Mode",
627
+ modeToggleDark: "Light Mode",
628
+ viewCourse: "View Course",
629
+ downloadPDF: "Download PDF"
630
+ },
631
+ ar: {
632
+ headerTitle: "تطبيق تعليمي - البكالوريا العلمية",
633
+ navCours: "الدروس",
634
+ navExamens: "الامتحانات",
635
+ navRessources: "المصادر",
636
+ navQuiz: "اختبارات",
637
+ sectionCoursTitle: "الدروس العلمية",
638
+ coursDescription: "مرحباً بكم في منصتنا التعليمية. هنا يمكنك الاطلاع على الدروس، تعميق معارفك والتفاعل مع التمارين التفاعلية.",
639
+ sectionExamensTitle: "التحضير للامتحانات",
640
+ examensDescription: "اكتشف النصائح والاستراتيجيات وال��متحانات السابقة لتتفوق في امتحانات البكالوريا العلمية.",
641
+ sectionRessourcesTitle: "مصادر خارجية",
642
+ ressourcesDescription: "حمّل المزيد من المصادر عبر API مجانية لتعزيز تعلمك.",
643
+ sectionQuizTitle: "اختبارات علمية",
644
+ quizDescription: "اختبر معلوماتك مع اختباراتنا التفاعلية التي تغطي جميع المواد العلمية.",
645
+ loadResources: "تحميل المصادر",
646
+ footerTitle: "التطبيق التعليمي",
647
+ footerDescription: "رفيقك للنجاح في البكالوريا العلمية.",
648
+ footerNavCours: "الدروس",
649
+ footerNavExamens: "الامتحانات",
650
+ footerNavRessources: "المصادر",
651
+ footerNavQuiz: "اختبارات",
652
+ footerText: "© 2025 التطبيق التعليمي - جميع الحقوق محفوظة.",
653
+ modeToggleLight: "الوضع الداكن",
654
+ modeToggleDark: "الوضع الفاتح",
655
+ viewCourse: "عرض الدرس",
656
+ downloadPDF: "تحميل PDF"
657
+ }
658
+ };
659
+
660
+ // Fonction de mise à jour de l'interface en fonction de la langue sélectionnée
661
+ function updateLanguage(lang) {
662
+ document.getElementById("headerTitle").innerText = translations[lang].headerTitle;
663
+ document.getElementById("navCours").innerText = translations[lang].navCours;
664
+ document.getElementById("navExamens").innerText = translations[lang].navExamens;
665
+ document.getElementById("navRessources").innerText = translations[lang].navRessources;
666
+ document.getElementById("navQuiz").innerText = translations[lang].navQuiz;
667
+ document.getElementById("sectionCoursTitle").innerText = translations[lang].sectionCoursTitle;
668
+ document.getElementById("coursDescription").innerText = translations[lang].coursDescription;
669
+ document.getElementById("sectionExamensTitle").innerText = translations[lang].sectionExamensTitle;
670
+ document.getElementById("examensDescription").innerText = translations[lang].examensDescription;
671
+ document.getElementById("sectionRessourcesTitle").innerText = translations[lang].sectionRessourcesTitle;
672
+ document.getElementById("ressourcesDescription").innerText = translations[lang].ressourcesDescription;
673
+ document.getElementById("sectionQuizTitle").innerText = translations[lang].sectionQuizTitle;
674
+ document.getElementById("quizDescription").innerText = translations[lang].quizDescription;
675
+ document.getElementById("loadResources").innerHTML = `<i class="fas fa-sync-alt"></i> <span>${translations[lang].loadResources}</span>`;
676
+ document.getElementById("footerTitle").innerText = translations[lang].footerTitle;
677
+ document.getElementById("footerDescription").innerText = translations[lang].footerDescription;
678
+ document.getElementById("footerNavCours").innerText = translations[lang].footerNavCours;
679
+ document.getElementById("footerNavExamens").innerText = translations[lang].footerNavExamens;
680
+ document.getElementById("footerNavRessources").innerText = translations[lang].footerNavRessources;
681
+ document.getElementById("footerNavQuiz").innerText = translations[lang].footerNavQuiz;
682
+ document.getElementById("footerText").innerText = translations[lang].footerText;
683
+
684
+ // Mettre à jour les boutons "Voir le cours"
685
+ document.querySelectorAll('.course-toggle-btn').forEach(btn => {
686
+ btn.innerHTML = `<i class="fas fa-book-open mr-2"></i> ${translations[lang].viewCourse}`;
687
+ });
688
+
689
+ // Mettre à jour les boutons "Télécharger le PDF"
690
+ document.querySelectorAll('.course-content button').forEach(btn => {
691
+ btn.innerHTML = `<i class="fas fa-download mr-1"></i> ${translations[lang].downloadPDF}`;
692
+ });
693
+
694
+ // Mettre à jour le texte du bouton mode sombre/clair
695
+ if(document.body.classList.contains("dark-mode")) {
696
+ document.getElementById("modeToggle").innerHTML = `<i class="fas fa-sun"></i> <span>${translations[lang].modeToggleDark}</span>`;
697
+ } else {
698
+ document.getElementById("modeToggle").innerHTML = `<i class="fas fa-moon"></i> <span>${translations[lang].modeToggleLight}</span>`;
699
+ }
700
+
701
+ // Modifier la direction du texte pour l'arabe
702
+ if (lang === "ar") {
703
+ document.documentElement.lang = "ar";
704
+ document.body.classList.add("rtl");
705
+ document.body.classList.remove("ltr");
706
+ } else {
707
+ document.documentElement.lang = lang;
708
+ document.body.classList.add("ltr");
709
+ document.body.classList.remove("rtl");
710
+ }
711
+ }
712
+
713
+ // Gestion du changement de langue via le selecteur
714
+ document.getElementById("languageSelect").addEventListener("change", function() {
715
+ updateLanguage(this.value);
716
+ });
717
+
718
+ // Basculement entre mode sombre et clair
719
+ const modeToggle = document.getElementById("modeToggle");
720
+ modeToggle.addEventListener("click", function() {
721
+ document.body.classList.toggle("dark-mode");
722
+
723
+ // Changer l'icône et le texte du bouton
724
+ const lang = document.getElementById("languageSelect").value;
725
+ if(document.body.classList.contains("dark-mode")) {
726
+ this.innerHTML = `<i class="fas fa-sun"></i> <span>${translations[lang].modeToggleDark}</span>`;
727
+ } else {
728
+ this.innerHTML = `<i class="fas fa-moon"></i> <span>${translations[lang].modeToggleLight}</span>`;
729
+ }
730
+ });
731
+
732
+ // Chargement de ressources externes via une API gratuite
733
+ document.getElementById("loadResources").addEventListener("click", function() {
734
+ const button = this;
735
+ const lang = document.getElementById("languageSelect").value;
736
+
737
+ // Afficher un indicateur de chargement
738
+ button.innerHTML = `<i class="fas fa-spinner fa-spin"></i> <span>${translations[lang].loadResources}</span>`;
739
+ button.disabled = true;
740
+
741
+ // Utilisation de l'API publique "Public APIs" pour récupérer des ressources dans la catégorie éducation
742
+ fetch("https://api.publicapis.org/entries?category=Education")
743
+ .then(response => response.json())
744
+ .then(data => {
745
+ const resourcesContainer = document.getElementById("resourcesContainer");
746
+ resourcesContainer.innerHTML = "";
747
+
748
+ // Affichage des 5 premiers résultats
749
+ data.entries.slice(0, 5).forEach(entry => {
750
+ const randomIcon = getRandomIcon();
751
+ const randomColor = getRandomColor();
752
+
753
+ const resourceItem = document.createElement("div");
754
+ resourceItem.className = "resource-item bg-gray-50 p-4 rounded-lg border border-gray-200 dark:bg-gray-700 dark:border-gray-600";
755
+ resourceItem.innerHTML = `
756
+ <div class="flex items-start">
757
+ <div class="${randomColor.bg} p-2 rounded-full mr-3 dark:${randomColor.bgDark}">
758
+ <i class="${randomIcon} ${randomColor.text} dark:${randomColor.textDark}"></i>
759
+ </div>
760
+ <div>
761
+ <h4 class="font-bold">${entry.API}</h4>
762
+ <p class="text-sm text-gray-600 dark:text-gray-400">${entry.Description}</p>
763
+ <a href="${entry.Link}" target="_blank" class="text-blue-600 text-sm hover:underline dark:text-blue-300">${translations[lang].loadResources}</a>
764
+ </div>
765
+ </div>
766
+ `;
767
+ resourcesContainer.appendChild(resourceItem);
768
+ });
769
+ })
770
+ .catch(error => {
771
+ console.error("Erreur lors du chargement des ressources :", error);
772
+ alert(translations[lang].loadError || "Erreur lors du chargement des ressources");
773
+ })
774
+ .finally(() => {
775
+ // Réinitialiser le bouton
776
+ button.innerHTML = `<i class="fas fa-sync-alt"></i> <span>${translations[lang].loadResources}</span>`;
777
+ button.disabled = false;
778
+ });
779
+ });
780
+
781
+ // Fonction pour obtenir une icône aléatoire
782
+ function getRandomIcon() {
783
+ const icons = [
784
+ "fas fa-book",
785
+ "fas fa-graduation-cap",
786
+ "fas fa-university",
787
+ "fas fa-chalkboard-teacher",
788
+ "fas fa-atom",
789
+ "fas fa-flask",
790
+ "fas fa-square-root-alt",
791
+ "fas fa-dna",
792
+ "fas fa-microscope",
793
+ "fas fa-brain"
794
+ ];
795
+ return icons[Math.floor(Math.random() * icons.length)];
796
+ }
797
+
798
+ // Fonction pour obtenir une couleur aléatoire
799
+ function getRandomColor() {
800
+ const colors = [
801
+ { bg: "bg-blue-100", text: "text-blue-600", bgDark: "bg-blue-900", textDark: "text-blue-300" },
802
+ { bg: "bg-red-100", text: "text-red-600", bgDark: "bg-red-900", textDark: "text-red-300" },
803
+ { bg: "bg-green-100", text: "text-green-600", bgDark: "bg-green-900", textDark: "text-green-300" },
804
+ { bg: "bg-yellow-100", text: "text-yellow-600", bgDark: "bg-yellow-900", textDark: "text-yellow-300" },
805
+ { bg: "bg-purple-100", text: "text-purple-600", bgDark: "bg-purple-900", textDark: "text-purple-300" },
806
+ { bg: "bg-pink-100", text: "text-pink-600", bgDark: "bg-pink-900", textDark: "text-pink-300" },
807
+ { bg: "bg-indigo-100", text: "text-indigo-600", bgDark: "bg-indigo-900", textDark: "text-indigo-300" }
808
+ ];
809
+ return colors[Math.floor(Math.random() * colors.length)];
810
+ }
811
+
812
+ // Gestion de l'affichage des contenus de cours
813
+ document.querySelectorAll('.course-toggle-btn').forEach(button => {
814
+ button.addEventListener('click', function() {
815
+ const subject = this.getAttribute('data-subject');
816
+ const content = document.getElementById(`${subject}-content`);
817
+ const icon = this.querySelector('i');
818
+
819
+ // Basculer la classe 'show' pour afficher/masquer le contenu
820
+ content.classList.toggle('show');
821
+
822
+ // Faire pivoter l'icône
823
+ icon.classList.toggle('fa-book-open');
824
+ icon.classList.toggle('fa-times');
825
+
826
+ // Changer le texte du bouton
827
+ const lang = document.getElementById("languageSelect").value;
828
+ if(content.classList.contains('show')) {
829
+ this.innerHTML = `<i class="fas fa-times mr-2"></i> ${translations[lang].viewCourse}`;
830
+ } else {
831
+ this.innerHTML = `<i class="fas fa-book-open mr-2"></i> ${translations[lang].viewCourse}`;
832
+ }
833
+ });
834
+ });
835
+
836
+ // Initialisation par défaut en français
837
+ updateLanguage("fr");
838
+ </script>
839
+ <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=SaidAmchghal/math-application" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
840
+ </html>
prompts.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ Enrichir le contenu de cette application par des exemples des cours