Docfile commited on
Commit
06ecb20
·
verified ·
1 Parent(s): fc29912

Update templates/index.html

Browse files
Files changed (1) hide show
  1. templates/index.html +161 -132
templates/index.html CHANGED
@@ -3,7 +3,7 @@
3
  <head>
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>Générateur d'évaluation gymnique</title>
7
  <script src="https://cdn.tailwindcss.com"></script>
8
  <script src="https://cdnjs.cloudflare.com/ajax/libs/alpinejs/3.13.0/cdn.min.js" defer></script>
9
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css" />
@@ -45,152 +45,181 @@
45
  transform: translateY(-3px);
46
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
47
  }
 
 
 
 
48
  </style>
49
  </head>
50
- <body class="min-h-screen py-8">
51
- <div class="container max-w-4xl mx-auto px-4" x-data="{ elements: [{}] }">
52
- <div class="mb-8 text-center animate__animated animate__fadeInDown">
53
- <h1 class="text-3xl md:text-4xl font-bold text-indigo-700 mb-2">Générateur d'évaluation gymnique</h1>
54
- <p class="text-gray-600 max-w-2xl mx-auto">Créez facilement des documents d'évaluation personnalisés pour vos examens de gymnastique</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
55
  </div>
 
56
 
57
- <form method="POST" class="space-y-8 animate__animated animate__fadeIn">
58
- <!-- Card principale -->
59
- <div class="bg-white rounded-xl card-shadow p-6 md:p-8">
60
- <!-- Informations d'évaluation -->
61
- <div class="mb-8">
62
- <h2 class="text-xl font-semibold text-indigo-600 mb-4 flex items-center">
63
- <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5 mr-2" fill="none" viewBox="0 0 24 24" stroke="currentColor">
64
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z" />
65
- </svg>
66
- Informations générales
67
- </h2>
68
-
69
- <div class="grid grid-cols-1 md:grid-cols-2 gap-6">
70
- <div>
71
- <label for="centre_examen" class="block text-sm font-medium text-gray-700 mb-1">Centre d'examen</label>
72
- <input type="text" id="centre_examen" name="centre_examen" placeholder="Nom du centre d'examen"
73
- class="w-full px-4 py-2 bg-gray-50 border border-gray-200 rounded-lg input-focus-effect focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent">
74
- </div>
75
-
76
- <div>
77
- <label for="type_examen" class="block text-sm font-medium text-gray-700 mb-1">Type d'examen</label>
78
- <select id="type_examen" name="type_examen"
79
- class="w-full px-4 py-2 bg-gray-50 border border-gray-200 rounded-lg input-focus-effect focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent">
80
- <option value="Bac Général">Bac Général</option>
81
- <option value="Bac Technologique">Bac Technologique</option>
82
- <option value="Bac Professionnel">Bac Professionnel</option>
83
- <option value="Brevet">Brevet</option>
84
- <option value="Autre">Autre</option>
85
- </select>
86
- </div>
87
-
88
- <div>
89
- <label for="serie" class="block text-sm font-medium text-gray-700 mb-1">Série</label>
90
- <input type="text" id="serie" name="serie" placeholder="Série de l'examen"
91
- class="w-full px-4 py-2 bg-gray-50 border border-gray-200 rounded-lg input-focus-effect focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent">
92
- </div>
93
 
94
- <div>
95
- <label for="etablissement" class="block text-sm font-medium text-gray-700 mb-1">Établissement</label>
96
- <input type="text" id="etablissement" name="etablissement" placeholder="Nom de l'établissement"
97
- class="w-full px-4 py-2 bg-gray-50 border border-gray-200 rounded-lg input-focus-effect focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
98
  </div>
 
 
 
 
 
 
 
 
 
 
99
 
100
- <div>
101
- <label for="session" class="block text-sm font-medium text-gray-700 mb-1">Session</label>
102
- <input type="text" id="session" name="session" placeholder="Année de la session"
103
- class="w-full px-4 py-2 bg-gray-50 border border-gray-200 rounded-lg input-focus-effect focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
104
  </div>
105
 
106
- <div>
107
- <label for="nom_candidat" class="block text-sm font-medium text-gray-700 mb-1">Nom du candidat</label>
108
- <input type="text" id="nom_candidat" name="nom_candidat" placeholder="Nom et prénom du candidat"
109
- class="w-full px-4 py-2 bg-gray-50 border border-gray-200 rounded-lg input-focus-effect focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent">
 
 
 
 
110
  </div>
111
  </div>
112
  </div>
113
-
114
- <!-- Éléments techniques -->
115
- <div>
116
- <h2 class="text-xl font-semibold text-indigo-600 mb-4 flex items-center">
 
117
  <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5 mr-2" fill="none" viewBox="0 0 24 24" stroke="currentColor">
118
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2" />
119
  </svg>
120
- Éléments techniques
121
- </h2>
122
-
123
- <div id="elements_container" class="space-y-4">
124
- <template x-for="(element, index) in elements" :key="index">
125
- <div class="p-5 bg-gray-50 border border-gray-200 rounded-lg element-card">
126
- <div class="flex items-center justify-between mb-3">
127
- <h3 class="font-medium text-indigo-600">Élément #<span x-text="index + 1"></span></h3>
128
- <button type="button" x-show="elements.length > 1" @click="elements.splice(index, 1)"
129
- class="text-red-500 hover:text-red-700 transition-colors duration-200">
130
- <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" fill="none" viewBox="0 0 24 24" stroke="currentColor">
131
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16" />
132
- </svg>
133
- </button>
134
- </div>
135
-
136
- <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
137
- <div class="md:col-span-2">
138
- <label class="block text-sm font-medium text-gray-700 mb-1">Nom de l'élément</label>
139
- <input type="text" name="element_name[]" placeholder="Ex : Saut groupé"
140
- class="w-full px-4 py-2 bg-white border border-gray-200 rounded-lg input-focus-effect focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent">
141
- </div>
142
-
143
- <div>
144
- <label class="block text-sm font-medium text-gray-700 mb-1">Catégorie</label>
145
- <select name="element_categorie[]"
146
- class="w-full px-4 py-2 bg-white border border-gray-200 rounded-lg input-focus-effect focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent">
147
- <option value="A">A</option>
148
- <option value="B">B</option>
149
- <option value="C">C</option>
150
- <option value="D">D</option>
151
- <option value="E">E</option>
152
- </select>
153
- </div>
154
-
155
- <div class="md:col-span-2">
156
- <label class="block text-sm font-medium text-gray-700 mb-1">Description</label>
157
- <input type="text" name="element_description[]" placeholder="Description de l'élément"
158
- class="w-full px-4 py-2 bg-white border border-gray-200 rounded-lg input-focus-effect focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent">
159
- </div>
160
-
161
- <div>
162
- <label class="block text-sm font-medium text-gray-700 mb-1">Points</label>
163
- <input type="number" name="element_points[]" placeholder="Ex : 1.5" step="0.1" min="0"
164
- class="w-full px-4 py-2 bg-white border border-gray-200 rounded-lg input-focus-effect focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent">
165
- </div>
166
- </div>
167
- </div>
168
- </template>
169
- </div>
170
-
171
- <div class="flex justify-center mt-6">
172
- <button type="button" @click="elements.push({})"
173
- class="inline-flex items-center px-4 py-2 bg-indigo-100 text-indigo-700 rounded-lg btn-hover-effect">
174
- <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5 mr-2" fill="none" viewBox="0 0 24 24" stroke="currentColor">
175
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 6v6m0 0v6m0-6h6m-6 0H6" />
176
- </svg>
177
- Ajouter un autre élément
178
- </button>
179
- </div>
180
  </div>
181
- </div>
182
-
183
- <!-- Bouton de génération -->
184
- <div class="animate__animated animate__fadeInUp">
185
- <button type="submit"
186
- class="w-full py-3 px-6 bg-gradient-to-r from-indigo-600 to-blue-500 text-white font-medium rounded-lg btn-hover-effect flex items-center justify-center">
187
- <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5 mr-2" fill="none" viewBox="0 0 24 24" stroke="currentColor">
188
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 10v6m0 0l-3-3m3 3l3-3m2 8H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z" />
189
- </svg>
190
- Générer le document d'évaluation
191
- </button>
192
- </div>
193
- </form>
194
  </div>
195
  </body>
196
  </html>
 
3
  <head>
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Générateur d'évaluation gymnique - Mariam Eps</title>
7
  <script src="https://cdn.tailwindcss.com"></script>
8
  <script src="https://cdnjs.cloudflare.com/ajax/libs/alpinejs/3.13.0/cdn.min.js" defer></script>
9
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css" />
 
45
  transform: translateY(-3px);
46
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
47
  }
48
+
49
+ .navbar-shadow {
50
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
51
+ }
52
  </style>
53
  </head>
54
+ <body class="min-h-screen">
55
+ <!-- Barre de navigation "Mariam Eps" -->
56
+ <header class="bg-indigo-700 text-white navbar-shadow fixed w-full top-0 z-50">
57
+ <div class="container mx-auto px-4 py-3 flex justify-between items-center">
58
+ <div class="flex items-center">
59
+ <span class="font-bold text-xl tracking-wider">Mariam Eps</span>
60
+ </div>
61
+ <div>
62
+ <button class="md:hidden focus:outline-none">
63
+ <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
64
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16m-7 6h7" />
65
+ </svg>
66
+ </button>
67
+ <nav class="hidden md:flex space-x-6">
68
+ <a href="#" class="hover:text-indigo-200 transition-colors duration-200 font-medium">Accueil</a>
69
+ <a href="#" class="hover:text-indigo-200 transition-colors duration-200 font-medium">Évaluations</a>
70
+ <a href="#" class="hover:text-indigo-200 transition-colors duration-200 font-medium">Ressources</a>
71
+ <a href="#" class="hover:text-indigo-200 transition-colors duration-200 font-medium">Contact</a>
72
+ </nav>
73
+ </div>
74
  </div>
75
+ </header>
76
 
77
+ <!-- Contenu principal (avec espacement pour la barre de navigation) -->
78
+ <div class="pt-16 pb-8">
79
+ <div class="container max-w-4xl mx-auto px-4 mt-8" x-data="{ elements: [{}] }">
80
+ <div class="mb-8 text-center animate__animated animate__fadeInDown">
81
+ <h1 class="text-3xl md:text-4xl font-bold text-indigo-700 mb-2">Générateur d'évaluation gymnique</h1>
82
+ <p class="text-gray-600 max-w-2xl mx-auto">Créez facilement des documents d'évaluation personnalisés pour vos examens de gymnastique</p>
83
+ </div>
84
+
85
+ <form method="POST" class="space-y-8 animate__animated animate__fadeIn">
86
+ <!-- Card principale -->
87
+ <div class="bg-white rounded-xl card-shadow p-6 md:p-8">
88
+ <!-- Informations d'évaluation -->
89
+ <div class="mb-8">
90
+ <h2 class="text-xl font-semibold text-indigo-600 mb-4 flex items-center">
91
+ <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5 mr-2" fill="none" viewBox="0 0 24 24" stroke="currentColor">
92
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z" />
93
+ </svg>
94
+ Informations générales
95
+ </h2>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
96
 
97
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-6">
98
+ <div>
99
+ <label for="centre_examen" class="block text-sm font-medium text-gray-700 mb-1">Centre d'examen</label>
100
+ <input type="text" id="centre_examen" name="centre_examen" placeholder="Nom du centre d'examen"
101
+ class="w-full px-4 py-2 bg-gray-50 border border-gray-200 rounded-lg input-focus-effect focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent">
102
+ </div>
103
+
104
+ <div>
105
+ <label for="type_examen" class="block text-sm font-medium text-gray-700 mb-1">Type d'examen</label>
106
+ <select id="type_examen" name="type_examen"
107
+ class="w-full px-4 py-2 bg-gray-50 border border-gray-200 rounded-lg input-focus-effect focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent">
108
+ <option value="Bac Général">Bac Général</option>
109
+ <option value="Bac Technologique">Bac Technologique</option>
110
+ <option value="Bac Professionnel">Bac Professionnel</option>
111
+ <option value="Brevet">Brevet</option>
112
+ <option value="Autre">Autre</option>
113
+ </select>
114
+ </div>
115
+
116
+ <div>
117
+ <label for="serie" class="block text-sm font-medium text-gray-700 mb-1">Série</label>
118
+ <input type="text" id="serie" name="serie" placeholder="Série de l'examen"
119
+ class="w-full px-4 py-2 bg-gray-50 border border-gray-200 rounded-lg input-focus-effect focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent">
120
+ </div>
121
+
122
+ <div>
123
+ <label for="etablissement" class="block text-sm font-medium text-gray-700 mb-1">Établissement</label>
124
+ <input type="text" id="etablissement" name="etablissement" placeholder="Nom de l'établissement"
125
+ class="w-full px-4 py-2 bg-gray-50 border border-gray-200 rounded-lg input-focus-effect focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent">
126
+ </div>
127
+
128
+ <div>
129
+ <label for="session" class="block text-sm font-medium text-gray-700 mb-1">Session</label>
130
+ <input type="text" id="session" name="session" placeholder="Année de la session"
131
+ class="w-full px-4 py-2 bg-gray-50 border border-gray-200 rounded-lg input-focus-effect focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent">
132
+ </div>
133
+
134
+ <div>
135
+ <label for="nom_candidat" class="block text-sm font-medium text-gray-700 mb-1">Nom du candidat</label>
136
+ <input type="text" id="nom_candidat" name="nom_candidat" placeholder="Nom et prénom du candidat"
137
+ class="w-full px-4 py-2 bg-gray-50 border border-gray-200 rounded-lg input-focus-effect focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent">
138
+ </div>
139
  </div>
140
+ </div>
141
+
142
+ <!-- Éléments techniques -->
143
+ <div>
144
+ <h2 class="text-xl font-semibold text-indigo-600 mb-4 flex items-center">
145
+ <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5 mr-2" fill="none" viewBox="0 0 24 24" stroke="currentColor">
146
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2" />
147
+ </svg>
148
+ Éléments techniques
149
+ </h2>
150
 
151
+ <div id="elements_container" class="space-y-4">
152
+ <template x-for="(element, index) in elements" :key="index">
153
+ <div class="p-5 bg-gray-50 border border-gray-200 rounded-lg element-card">
154
+ <div class="flex items-center justify-between mb-3">
155
+ <h3 class="font-medium text-indigo-600">Élément #<span x-text="index + 1"></span></h3>
156
+ <button type="button" x-show="elements.length > 1" @click="elements.splice(index, 1)"
157
+ class="text-red-500 hover:text-red-700 transition-colors duration-200">
158
+ <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" fill="none" viewBox="0 0 24 24" stroke="currentColor">
159
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16" />
160
+ </svg>
161
+ </button>
162
+ </div>
163
+
164
+ <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
165
+ <div class="md:col-span-2">
166
+ <label class="block text-sm font-medium text-gray-700 mb-1">Nom de l'élément</label>
167
+ <input type="text" name="element_name[]" placeholder="Ex : Saut groupé"
168
+ class="w-full px-4 py-2 bg-white border border-gray-200 rounded-lg input-focus-effect focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent">
169
+ </div>
170
+
171
+ <div>
172
+ <label class="block text-sm font-medium text-gray-700 mb-1">Catégorie</label>
173
+ <select name="element_categorie[]"
174
+ class="w-full px-4 py-2 bg-white border border-gray-200 rounded-lg input-focus-effect focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent">
175
+ <option value="A">A</option>
176
+ <option value="B">B</option>
177
+ <option value="C">C</option>
178
+ <option value="D">D</option>
179
+ <option value="E">E</option>
180
+ </select>
181
+ </div>
182
+
183
+ <div class="md:col-span-2">
184
+ <label class="block text-sm font-medium text-gray-700 mb-1">Description</label>
185
+ <input type="text" name="element_description[]" placeholder="Description de l'élément"
186
+ class="w-full px-4 py-2 bg-white border border-gray-200 rounded-lg input-focus-effect focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent">
187
+ </div>
188
+
189
+ <div>
190
+ <label class="block text-sm font-medium text-gray-700 mb-1">Points</label>
191
+ <input type="number" name="element_points[]" placeholder="Ex : 1.5" step="0.1" min="0"
192
+ class="w-full px-4 py-2 bg-white border border-gray-200 rounded-lg input-focus-effect focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent">
193
+ </div>
194
+ </div>
195
+ </div>
196
+ </template>
197
  </div>
198
 
199
+ <div class="flex justify-center mt-6">
200
+ <button type="button" @click="elements.push({})"
201
+ class="inline-flex items-center px-4 py-2 bg-indigo-100 text-indigo-700 rounded-lg btn-hover-effect">
202
+ <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5 mr-2" fill="none" viewBox="0 0 24 24" stroke="currentColor">
203
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 6v6m0 0v6m0-6h6m-6 0H6" />
204
+ </svg>
205
+ Ajouter un autre élément
206
+ </button>
207
  </div>
208
  </div>
209
  </div>
210
+
211
+ <!-- Bouton de génération -->
212
+ <div class="animate__animated animate__fadeInUp">
213
+ <button type="submit"
214
+ class="w-full py-3 px-6 bg-gradient-to-r from-indigo-600 to-blue-500 text-white font-medium rounded-lg btn-hover-effect flex items-center justify-center">
215
  <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5 mr-2" fill="none" viewBox="0 0 24 24" stroke="currentColor">
216
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 10v6m0 0l-3-3m3 3l3-3m2 8H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z" />
217
  </svg>
218
+ Générer le document d'évaluation
219
+ </button>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
220
  </div>
221
+ </form>
222
+ </div>
 
 
 
 
 
 
 
 
 
 
 
223
  </div>
224
  </body>
225
  </html>