driir commited on
Commit
7a2bed3
·
verified ·
1 Parent(s): da59031

je veux que ce logo soit le même que sur mon site www.e-mage.fi - Initial Deployment

Browse files
Files changed (2) hide show
  1. README.md +6 -4
  2. index.html +605 -19
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Eric
3
- emoji: 🔥
4
- colorFrom: red
5
  colorTo: green
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: eric
3
+ emoji: 🐳
4
+ colorFrom: yellow
5
  colorTo: green
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,605 @@
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" class="scroll-smooth">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <meta name="description" content="Portfolio d'art et d'illustrations modernes - Décoration intérieure avec des œuvres uniques - Artiste spécialisé en illustrations minimalistes">
7
+ <meta name="keywords" content="art, décoration, illustration, portfolio artistique, œuvres d'art, design intérieur">
8
+ <title>E-mage | Portfolio d'Art et Illustrations</title>
9
+ <script src="https://cdn.tailwindcss.com"></script>
10
+ <link rel="preconnect" href="https://fonts.googleapis.com">
11
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
12
+ <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
13
+ <script>
14
+ tailwind.config = {
15
+ theme: {
16
+ extend: {
17
+ colors: {
18
+ olive: '#6B8E23',
19
+ lightolive: '#8FBC8F',
20
+ },
21
+ fontFamily: {
22
+ sans: ['Inter', 'sans-serif'],
23
+ },
24
+ }
25
+ }
26
+ }
27
+ </script>
28
+ <style>
29
+ #admin-panel {
30
+ transition: opacity 0.3s ease;
31
+ }
32
+
33
+ #admin-panel:not(.hidden) {
34
+ opacity: 1;
35
+ }
36
+
37
+ .gallery-item {
38
+ transition: all 0.3s ease;
39
+ }
40
+ .gallery-item:hover {
41
+ transform: scale(1.03);
42
+ box-shadow: 0 10px 25px rgba(0,0,0,0.1);
43
+ }
44
+ .language-selector {
45
+ appearance: none;
46
+ background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B8E23' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
47
+ background-repeat: no-repeat;
48
+ background-position: right 0.5rem center;
49
+ background-size: 1em;
50
+ }
51
+ .mobile-menu {
52
+ max-height: 0;
53
+ overflow: hidden;
54
+ transition: max-height 0.3s ease-out;
55
+ }
56
+ .mobile-menu.open {
57
+ max-height: 500px;
58
+ }
59
+ </style>
60
+ </head>
61
+ <body class="font-sans bg-white text-gray-800 antialiased">
62
+ <!-- Header -->
63
+ <header class="sticky top-0 z-50 bg-white shadow-sm">
64
+ <div class="container mx-auto px-4 py-4 flex justify-between items-center">
65
+ <a href="#home" class="text-2xl font-bold bg-gradient-to-r from-blue-500 to-purple-600 bg-clip-text text-transparent">E-mage</a>
66
+
67
+ <!-- Desktop Navigation -->
68
+ <nav class="hidden md:flex space-x-8">
69
+ <a href="#home" class="hover:text-olive transition">Accueil</a>
70
+ <a href="#portfolio" class="hover:text-olive transition">Portfolio</a>
71
+ <a href="#about" class="hover:text-olive transition">À propos</a>
72
+ <a href="#contact" class="hover:text-olive transition">Contact</a>
73
+
74
+ <select class="language-selector bg-transparent border-none text-sm focus:ring-0 focus:outline-none text-olive">
75
+ <option value="fr">FR</option>
76
+ <option value="en">EN</option>
77
+ <option value="fi">FI</option>
78
+ </select>
79
+ </nav>
80
+
81
+ <!-- Mobile Menu Button -->
82
+ <button id="mobile-menu-button" class="md:hidden text-olive focus:outline-none">
83
+ <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
84
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16"></path>
85
+ </svg>
86
+ </button>
87
+ </div>
88
+
89
+ <!-- Mobile Navigation -->
90
+ <div id="mobile-menu" class="mobile-menu md:hidden bg-white">
91
+ <div class="container mx-auto px-4 py-2 flex flex-col space-y-4">
92
+ <a href="#home" class="py-2 hover:text-olive transition">Accueil</a>
93
+ <a href="#portfolio" class="py-2 hover:text-olive transition">Portfolio</a>
94
+ <a href="#about" class="py-2 hover:text-olive transition">À propos</a>
95
+ <a href="#contact" class="py-2 hover:text-olive transition">Contact</a>
96
+
97
+ <div class="flex space-x-4 py-2">
98
+ <span class="text-sm text-gray-500">Langue:</span>
99
+ <a href="#" class="text-sm text-olive">FR</a>
100
+ <a href="#" class="text-sm">EN</a>
101
+ <a href="#" class="text-sm">FI</a>
102
+ </div>
103
+ </div>
104
+ </div>
105
+ </header>
106
+
107
+ <!-- Hero Section -->
108
+ <section id="home" class="relative bg-gradient-to-b from-lightolive to-white">
109
+ <div class="container mx-auto px-4 py-20 md:py-32 flex flex-col md:flex-row items-center">
110
+ <div class="md:w-1/2 mb-10 md:mb-0">
111
+ <h1 class="text-4xl md:text-5xl font-bold text-gray-800 mb-6">Art & Illustrations <span class="text-olive">Uniques</span></h1>
112
+ <p class="text-lg text-gray-600 mb-8">Découvrez des œuvres d'art originales et des illustrations qui transforment vos espaces en lieux d'inspiration.</p>
113
+ <div class="flex space-x-4">
114
+ <a href="#portfolio" class="bg-olive text-white px-6 py-3 rounded-lg hover:bg-opacity-90 transition">Voir le portfolio</a>
115
+ <a href="#contact" class="border border-olive text-olive px-6 py-3 rounded-lg hover:bg-olive hover:text-white transition">Contactez-moi</a>
116
+ </div>
117
+ </div>
118
+ <div class="md:w-1/2 flex justify-center">
119
+ <img src="https://www.e-mage.fi/wp-content/uploads/2023/05/emage-illustration-1.png" alt="Illustration artistique" class="rounded-lg shadow-xl max-w-full h-auto md:max-w-md">
120
+ </div>
121
+ </div>
122
+ </section>
123
+
124
+ <!-- Portfolio Section -->
125
+ <section id="portfolio" class="py-20 bg-white">
126
+ <div class="container mx-auto px-4">
127
+ <div class="text-center mb-16">
128
+ <h2 class="text-3xl font-bold text-gray-800 mb-4">Portfolio d'<span class="text-olive">Illustrations</span></h2>
129
+ <p class="text-gray-600 max-w-2xl mx-auto">Explorez une collection d'œuvres d'art et d'illustrations qui allient esthétique moderne et sensibilité artistique.</p>
130
+ </div>
131
+
132
+ <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
133
+ <!-- Portfolio Item 1 -->
134
+ <div class="gallery-item bg-white rounded-lg overflow-hidden shadow-md hover:shadow-lg transition">
135
+ <img src="https://www.e-mage.fi/wp-content/uploads/2023/05/emage-illustration-2.png" alt="Illustration minimaliste" class="w-full h-64 object-cover">
136
+ <div class="p-6">
137
+ <h3 class="text-xl font-semibold mb-2">Harmonie Naturelle</h3>
138
+ <p class="text-gray-600 mb-4">Illustration minimaliste inspirée par les formes organiques.</p>
139
+ <a href="#" class="text-olive font-medium hover:underline">Voir en détail</a>
140
+ </div>
141
+ </div>
142
+
143
+ <!-- Portfolio Item 2 -->
144
+ <div class="gallery-item bg-white rounded-lg overflow-hidden shadow-md hover:shadow-lg transition">
145
+ <img src="https://www.e-mage.fi/wp-content/uploads/2023/05/emage-illustration-3.png" alt="Décoration murale" class="w-full h-64 object-cover">
146
+ <div class="p-6">
147
+ <h3 class="text-xl font-semibold mb-2">Équilibre Urbain</h3>
148
+ <p class="text-gray-600 mb-4">Série limitée pour décoration murale contemporaine.</p>
149
+ <a href="#" class="text-olive font-medium hover:underline">Voir en détail</a>
150
+ </div>
151
+ </div>
152
+
153
+ <!-- Portfolio Item 3 -->
154
+ <div class="gallery-item bg-white rounded-lg overflow-hidden shadow-md hover:shadow-lg transition">
155
+ <img src="https://www.e-mage.fi/wp-content/uploads/2023/05/emage-illustration-4.png" alt="Art abstrait" class="w-full h-64 object-cover">
156
+ <div class="p-6">
157
+ <h3 class="text-xl font-semibold mb-2">Rythmes Abstraits</h3>
158
+ <p class="text-gray-600 mb-4">Exploration de formes géométriques et de couleurs.</p>
159
+ <a href="#" class="text-olive font-medium hover:underline">Voir en détail</a>
160
+ </div>
161
+ </div>
162
+
163
+ <!-- Portfolio Item 4 -->
164
+ <div class="gallery-item bg-white rounded-lg overflow-hidden shadow-md hover:shadow-lg transition">
165
+ <img src="https://www.e-mage.fi/wp-content/uploads/2023/05/emage-illustration-5.png" alt="Illustration botanique" class="w-full h-64 object-cover">
166
+ <div class="p-6">
167
+ <h3 class="text-xl font-semibold mb-2">Flore Imaginaire</h3>
168
+ <p class="text-gray-600 mb-4">Interprétation moderne de motifs botaniques.</p>
169
+ <a href="#" class="text-olive font-medium hover:underline">Voir en détail</a>
170
+ </div>
171
+ </div>
172
+
173
+ <!-- Portfolio Item 5 -->
174
+ <div class="gallery-item bg-white rounded-lg overflow-hidden shadow-md hover:shadow-lg transition">
175
+ <img src="https://www.e-mage.fi/wp-content/uploads/2023/05/emage-illustration-6.png" alt="Design graphique" class="w-full h-64 object-cover">
176
+ <div class="p-6">
177
+ <h3 class="text-xl font-semibold mb-2">Synthèse Graphique</h3>
178
+ <p class="text-gray-600 mb-4">Expérimentations avec des éléments graphiques purs.</p>
179
+ <a href="#" class="text-olive font-medium hover:underline">Voir en détail</a>
180
+ </div>
181
+ </div>
182
+
183
+ <!-- Portfolio Item 6 -->
184
+ <div class="gallery-item bg-white rounded-lg overflow-hidden shadow-md hover:shadow-lg transition">
185
+ <img src="https://www.e-mage.fi/wp-content/uploads/2023/05/emage-illustration-7.png" alt="Illustration conceptuelle" class="w-full h-64 object-cover">
186
+ <div class="p-6">
187
+ <h3 class="text-xl font-semibold mb-2">Concept Minimal</h3>
188
+ <p class="text-gray-600 mb-4">Illustration conceptuelle avec un style épuré.</p>
189
+ <a href="#" class="text-olive font-medium hover:underline">Voir en détail</a>
190
+ </div>
191
+ </div>
192
+ </div>
193
+
194
+ <div class="text-center mt-12">
195
+ <a href="#" class="inline-block border border-olive text-olive px-6 py-3 rounded-lg hover:bg-olive hover:text-white transition">
196
+ Voir plus d'œuvres
197
+ </a>
198
+ </div>
199
+ </div>
200
+ </section>
201
+
202
+ <!-- About Section -->
203
+ <section id="about" class="py-20 bg-gray-50">
204
+ <div class="container mx-auto px-4">
205
+ <div class="flex flex-col md:flex-row items-center">
206
+ <div class="md:w-1/2 mb-10 md:mb-0 md:pr-10">
207
+ <img src="https://www.e-mage.fi/wp-content/uploads/2023/05/emage-about.png" alt="À propos de l'artiste" class="rounded-lg shadow-lg max-w-full h-auto">
208
+ </div>
209
+ <div class="md:w-1/2">
210
+ <h2 class="text-3xl font-bold text-gray-800 mb-6">À propos de <span class="text-olive">l'artiste</span></h2>
211
+ <p class="text-gray-600 mb-6">Je suis un artiste et illustrateur passionné par la création d'œuvres qui évoquent émotion et harmonie. Mon travail s'inspire des formes naturelles, de l'architecture moderne et des mouvements artistiques minimalistes.</p>
212
+ <p class="text-gray-600 mb-6">Avec plus de 10 ans d'expérience dans le domaine de l'illustration et du design, j'ai développé un style unique qui allie précision technique et sensibilité artistique.</p>
213
+ <p class="text-gray-600 mb-8">Chaque pièce est créée avec soin et attention aux détails, visant à apporter beauté et inspiration dans les espaces de vie et de travail.</p>
214
+ <div class="flex space-x-4">
215
+ <a href="#" class="flex items-center text-gray-600 hover:text-olive transition">
216
+ <svg class="w-5 h-5 mr-2" fill="currentColor" viewBox="0 0 24 24">
217
+ <path d="M12 2C6.477 2 2 6.477 2 12c0 4.42 2.865 8.167 6.839 9.49.5.09.682-.217.682-.482 0-.237-.008-.866-.013-1.7-2.782.603-3.369-1.34-3.369-1.34-.454-1.156-1.11-1.462-1.11-1.462-.908-.62.069-.608.069-.608 1.003.07 1.531 1.03 1.531 1.03.892 1.529 2.341 1.087 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.11-4.555-4.943 0-1.091.39-1.984 1.029-2.683-.103-.253-.446-1.27.098-2.647 0 0 .84-.268 2.75 1.025A9.578 9.578 0 0112 6.836c.85.004 1.705.115 2.504.337 1.909-1.293 2.747-1.025 2.747-1.025.546 1.377.203 2.394.1 2.647.64.699 1.028 1.592 1.028 2.683 0 3.842-2.339 4.687-4.566 4.935.359.309.678.919.678 1.852 0 1.336-.012 2.415-.012 2.743 0 .267.18.578.688.48C19.138 20.163 22 16.418 22 12c0-5.523-4.477-10-10-10z"></path>
218
+ </svg>
219
+ Voir mon processus
220
+ </a>
221
+ </div>
222
+ </div>
223
+ </div>
224
+ </div>
225
+ </section>
226
+
227
+ <!-- Testimonials Section -->
228
+ <section class="py-16 bg-olive text-white">
229
+ <div class="container mx-auto px-4">
230
+ <div class="text-center mb-12">
231
+ <h2 class="text-3xl font-bold mb-4">Ce qu'ils en disent</h2>
232
+ <p class="max-w-2xl mx-auto opacity-90">Découvrez les retours de clients et collectionneurs qui ont acquis mes œuvres.</p>
233
+ </div>
234
+
235
+ <div class="grid grid-cols-1 md:grid-cols-3 gap-8">
236
+ <!-- Testimonial 1 -->
237
+ <div class="bg-white bg-opacity-10 p-8 rounded-lg">
238
+ <div class="flex items-center mb-4">
239
+ <div class="text-2xl text-lightolive mr-2">“</div>
240
+ <p class="italic">L'illustration que j'ai acquise apporte une touche d'élégance et de modernité à mon salon. La qualité est exceptionnelle.</p>
241
+ </div>
242
+ <div class="flex items-center">
243
+ <div class="w-10 h-10 rounded-full bg-white bg-opacity-20 mr-3"></div>
244
+ <div>
245
+ <h4 class="font-medium">Sophie L.</h4>
246
+ <p class="text-sm opacity-80">Collectionneuse d'art</p>
247
+ </div>
248
+ </div>
249
+ </div>
250
+
251
+ <!-- Testimonial 2 -->
252
+ <div class="bg-white bg-opacity-10 p-8 rounded-lg">
253
+ <div class="flex items-center mb-4">
254
+ <div class="text-2xl text-lightolive mr-2">“</div>
255
+ <p class="italic">Nous avons commandé une œuvre sur mesure pour notre entreprise et le résultat a dépassé nos attentes. Professionnalisme remarquable.</p>
256
+ </div>
257
+ <div class="flex items-center">
258
+ <div class="w-10 h-10 rounded-full bg-white bg-opacity-20 mr-3"></div>
259
+ <div>
260
+ <h4 class="font-medium">Marc D.</h4>
261
+ <p class="text-sm opacity-80">Directeur créatif</p>
262
+ </div>
263
+ </div>
264
+ </div>
265
+
266
+ <!-- Testimonial 3 -->
267
+ <div class="bg-white bg-opacity-10 p-8 rounded-lg">
268
+ <div class="flex items-center mb-4">
269
+ <div class="text-2xl text-lightolive mr-2">“</div>
270
+ <p class="italic">Le style unique de cet artiste apporte une atmosphère particulière à notre espace d'exposition. Les visiteurs adorent.</p>
271
+ </div>
272
+ <div class="flex items-center">
273
+ <div class="w-10 h-10 rounded-full bg-white bg-opacity-20 mr-3"></div>
274
+ <div>
275
+ <h4 class="font-medium">Emma K.</h4>
276
+ <p class="text-sm opacity-80">Galerie d'art</p>
277
+ </div>
278
+ </div>
279
+ </div>
280
+ </div>
281
+ </div>
282
+ </section>
283
+
284
+ <!-- Contact Section -->
285
+ <section id="contact" class="py-20 bg-white">
286
+ <div class="container mx-auto px-4">
287
+ <div class="max-w-4xl mx-auto">
288
+ <div class="text-center mb-16">
289
+ <h2 class="text-3xl font-bold text-gray-800 mb-4">Contactez-<span class="text-olive">moi</span></h2>
290
+ <p class="text-gray-600">Pour des commandes spéciales, collaborations ou simplement pour en savoir plus sur mon travail.</p>
291
+ </div>
292
+
293
+ <form class="grid grid-cols-1 md:grid-cols-2 gap-8">
294
+ <div>
295
+ <label for="name" class="block text-gray-700 mb-2">Nom complet</label>
296
+ <input type="text" id="name" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-olive focus:border-olive outline-none transition">
297
+ </div>
298
+
299
+ <div>
300
+ <label for="email" class="block text-gray-700 mb-2">Email</label>
301
+ <input type="email" id="email" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-olive focus:border-olive outline-none transition">
302
+ </div>
303
+
304
+ <div>
305
+ <label for="subject" class="block text-gray-700 mb-2">Sujet</label>
306
+ <select id="subject" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-olive focus:border-olive outline-none transition">
307
+ <option value="">Sélectionnez un sujet</option>
308
+ <option value="commission">Commande spéciale</option>
309
+ <option value="collaboration">Collaboration</option>
310
+ <option value="exhibition">Exposition</option>
311
+ <option value="other">Autre</option>
312
+ </select>
313
+ </div>
314
+
315
+ <div>
316
+ <label for="phone" class="block text-gray-700 mb-2">Téléphone (optionnel)</label>
317
+ <input type="tel" id="phone" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-olive focus:border-olive outline-none transition">
318
+ </div>
319
+
320
+ <div class="md:col-span-2">
321
+ <label for="message" class="block text-gray-700 mb-2">Message</label>
322
+ <textarea id="message" rows="5" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-olive focus:border-olive outline-none transition"></textarea>
323
+ </div>
324
+
325
+ <div class="md:col-span-2 flex justify-center">
326
+ <button type="submit" class="bg-olive text-white px-8 py-3 rounded-lg hover:bg-opacity-90 transition">Envoyer le message</button>
327
+ </div>
328
+ </form>
329
+ </div>
330
+ </div>
331
+ </section>
332
+
333
+ <!-- Footer -->
334
+ <footer class="bg-gray-800 text-white py-12">
335
+ <div class="container mx-auto px-4">
336
+ <div class="grid grid-cols-1 md:grid-cols-4 gap-8">
337
+ <div>
338
+ <h3 class="text-xl font-bold text-olive mb-4">E-MAGE</h3>
339
+ <p class="text-gray-400">Portfolio d'art et d'illustrations contemporaines. Créations uniques pour décoration intérieure et collections.</p>
340
+ </div>
341
+
342
+ <div>
343
+ <h4 class="font-semibold mb-4">Navigation</h4>
344
+ <ul class="space-y-2">
345
+ <li><a href="#home" class="text-gray-400 hover:text-olive transition">Accueil</a></li>
346
+ <li><a href="#portfolio" class="text-gray-400 hover:text-olive transition">Portfolio</a></li>
347
+ <li><a href="#about" class="text-gray-400 hover:text-olive transition">À propos</a></li>
348
+ <li><a href="#contact" class="text-gray-400 hover:text-olive transition">Contact</a></li>
349
+ </ul>
350
+ </div>
351
+
352
+ <div>
353
+ <h4 class="font-semibold mb-4">Informations</h4>
354
+ <ul class="space-y-2">
355
+ <li><a href="#" class="text-gray-400 hover:text-olive transition">Conditions générales</a></li>
356
+ <li><a href="#" class="text-gray-400 hover:text-olive transition">Politique de confidentialité</a></li>
357
+ <li><a href="#" class="text-gray-400 hover:text-olive transition">FAQ</a></li>
358
+ <li><a href="#" class="text-gray-400 hover:text-olive transition">Livraison & retours</a></li>
359
+ </ul>
360
+ </div>
361
+
362
+ <div>
363
+ <h4 class="font-semibold mb-4">Réseaux sociaux</h4>
364
+ <div class="flex space-x-4">
365
+ <a href="#" class="w-10 h-10 rounded-full bg-gray-700 flex items-center justify-center hover:bg-olive transition">
366
+ <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 24 24">
367
+ <path d="M22 12c0-5.523-4.477-10-10-10S2 6.477 2 12c0 4.991 3.657 9.128 8.438 9.878v-6.987h-2.54V12h2.54V9.797c0-2.506 1.492-3.89 3.777-3.89 1.094 0 2.238.195 2.238.195v2.46h-1.26c-1.243 0-1.63.771-1.63 1.562V12h2.773l-.443 2.89h-2.33v6.988C18.343 21.128 22 16.991 22 12z"></path>
368
+ </svg>
369
+ </a>
370
+ <a href="#" class="w-10 h-10 rounded-full bg-gray-700 flex items-center justify-center hover:bg-olive transition">
371
+ <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 24 24">
372
+ <path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.052.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98C8.333 23.986 8.741 24 12 24c3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 100 12.324 6.162 6.162 0 000-12.324zM12 16a4 4 0 110-8 4 4 0 010 8zm6.406-11.845a1.44 1.44 0 100 2.881 1.44 1.44 0 000-2.881z"></path>
373
+ </svg>
374
+ </a>
375
+ </div>
376
+
377
+ <div class="mt-6">
378
+ <h4 class="font-semibold mb-2">Langues</h4>
379
+ <div class="flex space-x-2">
380
+ <a href="#" class="text-sm bg-gray-700 px-3 py-1 rounded hover:bg-olive transition">FR</a>
381
+ <a href="#" class="text-sm bg-gray-700 px-3 py-1 rounded hover:bg-olive transition">EN</a>
382
+ <a href="#" class="text-sm bg-gray-700 px-3 py-1 rounded hover:bg-olive transition">FI</a>
383
+ </div>
384
+ </div>
385
+ </div>
386
+ </div>
387
+
388
+ <div class="border-t border-gray-700 mt-12 pt-8 text-center text-gray-400">
389
+ <p>&copy; 2023 E-MAGE. Tous droits réservés.</p>
390
+ </div>
391
+ </div>
392
+ </footer>
393
+
394
+ <!-- Admin Floating Button -->
395
+ <div id="admin-button" class="fixed bottom-8 right-8 z-50">
396
+ <button class="bg-gray-800 text-white w-12 h-12 rounded-full shadow-lg hover:bg-olive transition flex items-center justify-center">
397
+ <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
398
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z" />
399
+ </svg>
400
+ </button>
401
+ </div>
402
+
403
+ <!-- Admin Panel (hidden by default) -->
404
+ <div id="admin-panel" class="fixed inset-0 bg-black bg-opacity-50 z-50 hidden">
405
+ <div class="absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 bg-white rounded-lg shadow-xl w-full max-w-2xl max-h-[90vh] overflow-y-auto">
406
+ <div class="p-6">
407
+ <div class="flex justify-between items-center mb-6">
408
+ <h3 class="text-xl font-bold text-gray-800">Tableau de bord d'administration</h3>
409
+ <button id="close-admin" class="text-gray-500 hover:text-gray-700">
410
+ <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
411
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
412
+ </svg>
413
+ </button>
414
+ </div>
415
+
416
+ <div class="space-y-6">
417
+ <div>
418
+ <h4 class="font-medium mb-3">Modifier le contenu</h4>
419
+ <div class="space-y-4">
420
+ <div>
421
+ <label class="block text-sm text-gray-600 mb-1">Titre principal</label>
422
+ <input type="text" id="edit-main-title" class="w-full px-3 py-2 border rounded">
423
+ </div>
424
+ <div>
425
+ <label class="block text-sm text-gray-600 mb-1">Sous-titre</label>
426
+ <input type="text" id="edit-main-subtitle" class="w-full px-3 py-2 border rounded">
427
+ </div>
428
+ </div>
429
+ </div>
430
+
431
+ <div>
432
+ <h4 class="font-medium mb-3">Galerie</h4>
433
+ <div class="space-y-4" id="gallery-editor">
434
+ <!-- Gallery items will be added here dynamically -->
435
+ </div>
436
+ <button id="add-gallery-item" class="mt-3 text-sm text-olive hover:underline">+ Ajouter un élément</button>
437
+ </div>
438
+
439
+ <div class="pt-4 border-t">
440
+ <button id="save-changes" class="bg-olive text-white px-4 py-2 rounded hover:bg-opacity-90">Enregistrer les modifications</button>
441
+ </div>
442
+ </div>
443
+ </div>
444
+ </div>
445
+ </div>
446
+
447
+ <script>
448
+ // Admin panel toggle
449
+ document.getElementById('admin-button').addEventListener('click', function() {
450
+ document.getElementById('admin-panel').classList.remove('hidden');
451
+ loadCurrentContent();
452
+ });
453
+
454
+ document.getElementById('close-admin').addEventListener('click', function() {
455
+ document.getElementById('admin-panel').classList.add('hidden');
456
+ });
457
+
458
+ // Load current content into form
459
+ function loadCurrentContent() {
460
+ // Main title and subtitle
461
+ const mainTitle = document.querySelector('#home h1').textContent;
462
+ const mainSubtitle = document.querySelector('#home p').textContent;
463
+
464
+ document.getElementById('edit-main-title').value = mainTitle;
465
+ document.getElementById('edit-main-subtitle').value = mainSubtitle;
466
+
467
+ // Gallery items
468
+ const galleryItems = document.querySelectorAll('#portfolio .gallery-item');
469
+ const galleryEditor = document.getElementById('gallery-editor');
470
+ galleryEditor.innerHTML = '';
471
+
472
+ galleryItems.forEach((item, index) => {
473
+ const title = item.querySelector('h3').textContent;
474
+ const description = item.querySelector('p').textContent;
475
+
476
+ galleryEditor.innerHTML += `
477
+ <div class="border p-4 rounded" data-index="${index}">
478
+ <div class="flex justify-between mb-2">
479
+ <h5 class="font-medium">Élément ${index + 1}</h5>
480
+ <button class="text-red-500 text-sm delete-item">Supprimer</button>
481
+ </div>
482
+ <div class="space-y-2">
483
+ <div>
484
+ <label class="block text-xs text-gray-500 mb-1">Titre</label>
485
+ <input type="text" value="${title}" class="w-full px-2 py-1 border rounded gallery-title">
486
+ </div>
487
+ <div>
488
+ <label class="block text-xs text-gray-500 mb-1">Description</label>
489
+ <input type="text" value="${description}" class="w-full px-2 py-1 border rounded gallery-desc">
490
+ </div>
491
+ </div>
492
+ </div>
493
+ `;
494
+ });
495
+ }
496
+
497
+ // Save changes
498
+ document.getElementById('save-changes').addEventListener('click', function() {
499
+ // Update main title and subtitle
500
+ const newTitle = document.getElementById('edit-main-title').value;
501
+ const newSubtitle = document.getElementById('edit-main-subtitle').value;
502
+
503
+ document.querySelector('#home h1').textContent = newTitle;
504
+ document.querySelector('#home p').textContent = newSubtitle;
505
+
506
+ // Update gallery items
507
+ document.querySelectorAll('#gallery-editor [data-index]').forEach(editorItem => {
508
+ const index = editorItem.getAttribute('data-index');
509
+ const galleryItem = document.querySelectorAll('#portfolio .gallery-item')[index];
510
+
511
+ if (galleryItem) {
512
+ const newTitle = editorItem.querySelector('.gallery-title').value;
513
+ const newDesc = editorItem.querySelector('.gallery-desc').value;
514
+
515
+ galleryItem.querySelector('h3').textContent = newTitle;
516
+ galleryItem.querySelector('p').textContent = newDesc;
517
+ }
518
+ });
519
+
520
+ // Close panel
521
+ document.getElementById('admin-panel').classList.add('hidden');
522
+ alert('Modifications enregistrées!');
523
+ });
524
+
525
+ // Add new gallery item
526
+ document.getElementById('add-gallery-item').addEventListener('click', function() {
527
+ const galleryEditor = document.getElementById('gallery-editor');
528
+ const newIndex = galleryEditor.children.length;
529
+
530
+ galleryEditor.innerHTML += `
531
+ <div class="border p-4 rounded" data-index="${newIndex}">
532
+ <div class="flex justify-between mb-2">
533
+ <h5 class="font-medium">Nouvel élément</h5>
534
+ <button class="text-red-500 text-sm delete-item">Supprimer</button>
535
+ </div>
536
+ <div class="space-y-2">
537
+ <div>
538
+ <label class="block text-xs text-gray-500 mb-1">Titre</label>
539
+ <input type="text" value="Nouveau titre" class="w-full px-2 py-1 border rounded gallery-title">
540
+ </div>
541
+ <div>
542
+ <label class="block text-xs text-gray-500 mb-1">Description</label>
543
+ <input type="text" value="Nouvelle description" class="w-full px-2 py-1 border rounded gallery-desc">
544
+ </div>
545
+ </div>
546
+ </div>
547
+ `;
548
+ });
549
+
550
+ // Delete gallery item
551
+ document.addEventListener('click', function(e) {
552
+ if (e.target.classList.contains('delete-item')) {
553
+ if (confirm('Supprimer cet élément?')) {
554
+ e.target.closest('[data-index]').remove();
555
+ }
556
+ }
557
+ });
558
+
559
+ // Mobile menu toggle
560
+ document.getElementById('mobile-menu-button').addEventListener('click', function() {
561
+ const menu = document.getElementById('mobile-menu');
562
+ menu.classList.toggle('open');
563
+ });
564
+
565
+ // Language selector
566
+ document.querySelector('.language-selector').addEventListener('change', function() {
567
+ // In a real implementation, this would redirect to the selected language version
568
+ console.log('Language changed to:', this.value);
569
+ });
570
+
571
+ // Smooth scrolling for anchor links
572
+ document.querySelectorAll('a[href^="#"]').forEach(anchor => {
573
+ anchor.addEventListener('click', function(e) {
574
+ e.preventDefault();
575
+
576
+ const targetId = this.getAttribute('href');
577
+ if (targetId === '#') return;
578
+
579
+ const targetElement = document.querySelector(targetId);
580
+ if (targetElement) {
581
+ targetElement.scrollIntoView({
582
+ behavior: 'smooth'
583
+ });
584
+
585
+ // Close mobile menu if open
586
+ const mobileMenu = document.getElementById('mobile-menu');
587
+ if (mobileMenu.classList.contains('open')) {
588
+ mobileMenu.classList.remove('open');
589
+ }
590
+ }
591
+ });
592
+ });
593
+
594
+ // Form submission
595
+ const contactForm = document.querySelector('form');
596
+ if (contactForm) {
597
+ contactForm.addEventListener('submit', function(e) {
598
+ e.preventDefault();
599
+ alert('Merci pour votre message! Je vous répondrai dès que possible.');
600
+ this.reset();
601
+ });
602
+ }
603
+ </script>
604
+ <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=driir/eric" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
605
+ </html>