Maheri commited on
Commit
738b87d
·
verified ·
1 Parent(s): c3116f0

undefined - Initial Deployment

Browse files
Files changed (2) hide show
  1. README.md +6 -4
  2. index.html +1105 -19
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Plc Sousse
3
- emoji: 🐢
4
- colorFrom: pink
5
  colorTo: purple
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: plc-sousse
3
+ emoji: 🐳
4
+ colorFrom: blue
5
  colorTo: purple
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,1105 @@
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
+ <title>Analyse Interactive : Polyclinique La Corniche</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
9
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
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@400;500;600;700&display=swap" rel="stylesheet" />
13
+ <script>
14
+ tailwind.config = {
15
+ theme: {
16
+ extend: {
17
+ colors: {
18
+ 'primary': '#0f766e',
19
+ 'primary-light': '#0d9488',
20
+ 'secondary': '#d97706',
21
+ 'accent': '#7c3aed',
22
+ 'dark': '#1e293b',
23
+ 'light': '#f8fafc'
24
+ }
25
+ }
26
+ }
27
+ }
28
+ </script>
29
+ <style>
30
+ body {
31
+ font-family: "Inter", sans-serif;
32
+ background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
33
+ }
34
+ .chart-container {
35
+ position: relative;
36
+ width: 100%;
37
+ max-width: 900px;
38
+ margin-left: auto;
39
+ margin-right: auto;
40
+ height: 400px;
41
+ max-height: 50vh;
42
+ }
43
+ @media (min-width: 768px) {
44
+ .chart-container {
45
+ height: 500px;
46
+ }
47
+ }
48
+ .nav-link {
49
+ transition: all 0.3s ease;
50
+ position: relative;
51
+ }
52
+ .nav-link::after {
53
+ content: '';
54
+ position: absolute;
55
+ bottom: -2px;
56
+ left: 0;
57
+ width: 0;
58
+ height: 2px;
59
+ background-color: #d97706;
60
+ transition: width 0.3s ease;
61
+ }
62
+ .nav-link:hover::after {
63
+ width: 100%;
64
+ }
65
+ .active-link {
66
+ color: #d97706;
67
+ }
68
+ .active-link::after {
69
+ width: 100%;
70
+ }
71
+ .btn-filter {
72
+ transition: all 0.3s ease;
73
+ }
74
+ .btn-filter.active {
75
+ background-color: #0f766e;
76
+ color: white;
77
+ transform: translateY(-2px);
78
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
79
+ }
80
+ .swot-card {
81
+ transition: transform 0.3s ease, box-shadow 0.3s ease;
82
+ }
83
+ .swot-card:hover {
84
+ transform: translateY(-5px);
85
+ box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
86
+ }
87
+ .timeline-dot {
88
+ width: 24px;
89
+ height: 24px;
90
+ border-radius: 50%;
91
+ position: absolute;
92
+ top: 0;
93
+ left: 50%;
94
+ transform: translateX(-50%);
95
+ z-index: 10;
96
+ }
97
+ .timeline-line {
98
+ position: absolute;
99
+ top: 12px;
100
+ bottom: 12px;
101
+ left: 50%;
102
+ width: 2px;
103
+ transform: translateX(-50%);
104
+ z-index: 1;
105
+ }
106
+ .stat-card {
107
+ transition: all 0.3s ease;
108
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
109
+ }
110
+ .stat-card:hover {
111
+ transform: translateY(-5px);
112
+ box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
113
+ }
114
+ .counter {
115
+ font-size: 2.5rem;
116
+ font-weight: 700;
117
+ background: linear-gradient(135deg, #0f766e 0%, #0d9488 100%);
118
+ -webkit-background-clip: text;
119
+ -webkit-text-fill-color: transparent;
120
+ }
121
+ .section-title {
122
+ position: relative;
123
+ display: inline-block;
124
+ }
125
+ .section-title::after {
126
+ content: '';
127
+ position: absolute;
128
+ bottom: -8px;
129
+ left: 0;
130
+ width: 60px;
131
+ height: 3px;
132
+ background-color: #d97706;
133
+ border-radius: 3px;
134
+ }
135
+ .floating-nav {
136
+ position: fixed;
137
+ bottom: 2rem;
138
+ right: 2rem;
139
+ z-index: 100;
140
+ display: flex;
141
+ flex-direction: column;
142
+ gap: 0.5rem;
143
+ }
144
+ .floating-btn {
145
+ width: 50px;
146
+ height: 50px;
147
+ border-radius: 50%;
148
+ display: flex;
149
+ align-items: center;
150
+ justify-content: center;
151
+ background-color: #0f766e;
152
+ color: white;
153
+ box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
154
+ transition: all 0.3s ease;
155
+ }
156
+ .floating-btn:hover {
157
+ transform: translateY(-3px) scale(1.05);
158
+ box-shadow: 0 6px 15px rgba(0, 0, 0, 0.3);
159
+ }
160
+ </style>
161
+ </head>
162
+ <body class="text-slate-700">
163
+ <!-- Floating Navigation -->
164
+ <div class="floating-nav">
165
+ <a href="#synthese" class="floating-btn">
166
+ <i class="fas fa-home"></i>
167
+ </a>
168
+ <a href="#diagnostic" class="floating-btn">
169
+ <i class="fas fa-stethoscope"></i>
170
+ </a>
171
+ <a href="#concurrence" class="floating-btn">
172
+ <i class="fas fa-chart-bar"></i>
173
+ </a>
174
+ <a href="#plan" class="floating-btn">
175
+ <i class="fas fa-road"></i>
176
+ </a>
177
+ </div>
178
+
179
+ <header class="bg-white shadow-md sticky top-0 z-50">
180
+ <nav class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
181
+ <div class="flex justify-between items-center py-4">
182
+ <div class="flex items-center space-x-3">
183
+ <div class="bg-primary-light p-2 rounded-lg">
184
+ <i class="fas fa-hospital text-white text-xl"></i>
185
+ </div>
186
+ <h1 class="text-xl font-bold text-slate-800">
187
+ Analyse Stratégique
188
+ <span class="hidden sm:inline-block">| Polyclinique La Corniche</span>
189
+ </h1>
190
+ </div>
191
+ <div class="hidden md:flex items-center space-x-8 text-sm font-medium">
192
+ <a href="#synthese" class="nav-link">Synthèse</a>
193
+ <a href="#diagnostic" class="nav-link">Diagnostic</a>
194
+ <a href="#concurrence" class="nav-link">Concurrence</a>
195
+ <a href="#plan" class="nav-link">Plan d'Action</a>
196
+ </div>
197
+ <div class="md:hidden">
198
+ <button id="mobile-menu-button" class="text-slate-800">
199
+ <i class="fas fa-bars text-xl"></i>
200
+ </button>
201
+ </div>
202
+ </div>
203
+ <!-- Mobile Menu -->
204
+ <div id="mobile-menu" class="hidden md:hidden py-4 border-t border-slate-200">
205
+ <div class="flex flex-col space-y-3">
206
+ <a href="#synthese" class="nav-link py-2">Synthèse</a>
207
+ <a href="#diagnostic" class="nav-link py-2">Diagnostic</a>
208
+ <a href="#concurrence" class="nav-link py-2">Concurrence</a>
209
+ <a href="#plan" class="nav-link py-2">Plan d'Action</a>
210
+ </div>
211
+ </div>
212
+ </nav>
213
+ </header>
214
+
215
+ <main class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8 md:py-12">
216
+ <!-- Hero Section -->
217
+ <section class="mb-16 bg-gradient-to-r from-primary to-primary-light rounded-2xl p-8 text-white">
218
+ <div class="max-w-3xl mx-auto text-center">
219
+ <h1 class="text-3xl md:text-4xl font-bold mb-4">Transformation Stratégique de la Polyclinique La Corniche</h1>
220
+ <p class="text-lg opacity-90">Un plan d'action pour transformer les défis en opportunités et positionner la clinique comme leader régional</p>
221
+ <div class="mt-8 flex justify-center">
222
+ <a href="#plan" class="bg-white text-primary font-bold px-6 py-3 rounded-full shadow-lg hover:bg-amber-50 transition-all duration-300 transform hover:-translate-y-1">
223
+ Voir le plan d'action <i class="fas fa-arrow-right ml-2"></i>
224
+ </a>
225
+ </div>
226
+ </div>
227
+ </section>
228
+
229
+ <section id="synthese" class="scroll-mt-24 mb-16">
230
+ <div class="text-center mb-12">
231
+ <h2 class="text-3xl md:text-4xl font-bold text-slate-800 mb-2">
232
+ <span class="section-title">Le Constat : Un Potentiel à Revitaliser</span>
233
+ </h2>
234
+ <p class="mt-8 text-lg max-w-3xl mx-auto text-slate-600">
235
+ La Polyclinique La Corniche, un nom historique à Sousse, fait face à
236
+ un décalage critique entre sa réputation et sa réalité
237
+ technologique. Cette analyse révèle des faiblesses structurelles
238
+ mais surtout une opportunité unique de transformation et de
239
+ croissance par l'innovation.
240
+ </p>
241
+ </div>
242
+
243
+ <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-16">
244
+ <div class="stat-card bg-white p-6 rounded-xl shadow-sm border border-slate-100">
245
+ <div class="flex items-center mb-4">
246
+ <div class="bg-amber-100 p-3 rounded-lg mr-4">
247
+ <i class="fas fa-landmark text-amber-600 text-xl"></i>
248
+ </div>
249
+ <h3 class="font-bold text-slate-800">Notoriété Historique</h3>
250
+ </div>
251
+ <p class="text-sm text-slate-500">
252
+ Fondée en 2003, bénéficiant d'un emplacement stratégique.
253
+ </p>
254
+ </div>
255
+ <div class="stat-card bg-white p-6 rounded-xl shadow-sm border border-slate-100">
256
+ <div class="flex items-center mb-4">
257
+ <div class="bg-red-100 p-3 rounded-lg mr-4">
258
+ <i class="fas fa-chart-line text-red-600 text-xl"></i>
259
+ </div>
260
+ <h3 class="font-bold text-slate-800">Retard Technologique</h3>
261
+ </div>
262
+ <p class="text-sm text-slate-500">
263
+ Absence d'IRM et de radiothérapie, équipements clés du marché.
264
+ </p>
265
+ </div>
266
+ <div class="stat-card bg-white p-6 rounded-xl shadow-sm border border-slate-100">
267
+ <div class="flex items-center mb-4">
268
+ <div class="bg-blue-100 p-3 rounded-lg mr-4">
269
+ <i class="fas fa-globe text-blue-600 text-xl"></i>
270
+ </div>
271
+ <h3 class="font-bold text-slate-800">Invisibilité Numérique</h3>
272
+ </div>
273
+ <p class="text-sm text-slate-500">
274
+ Site web obsolète et inaccessible, absence totale des réseaux sociaux.
275
+ </p>
276
+ </div>
277
+ <div class="stat-card bg-white p-6 rounded-xl shadow-sm border border-slate-100">
278
+ <div class="flex items-center mb-4">
279
+ <div class="bg-green-100 p-3 rounded-lg mr-4">
280
+ <i class="fas fa-rocket text-green-600 text-xl"></i>
281
+ </div>
282
+ <h3 class="font-bold text-slate-800">Opportunité Majeure</h3>
283
+ </div>
284
+ <p class="text-sm text-slate-500">
285
+ Un besoin urgent de modernisation qui ouvre la voie à un partenariat stratégique.
286
+ </p>
287
+ </div>
288
+ </div>
289
+
290
+ <div class="mt-16">
291
+ <h3 class="text-2xl font-bold text-center text-slate-800 mb-8">
292
+ Analyse Stratégique (SWOT)
293
+ </h3>
294
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-4 md:gap-6">
295
+ <div class="swot-card bg-green-50 p-6 rounded-xl border-2 border-green-200">
296
+ <div class="flex items-center mb-4">
297
+ <div class="bg-green-200 p-2 rounded-lg mr-3">
298
+ <i class="fas fa-thumbs-up text-green-700"></i>
299
+ </div>
300
+ <h4 class="font-bold text-lg text-green-800">Forces</h4>
301
+ </div>
302
+ <ul class="mt-2 list-disc list-inside text-green-700 space-y-2 text-sm">
303
+ <li>Notoriété historique et confiance locale</li>
304
+ <li>Emplacement stratégique au coeur de Sousse</li>
305
+ <li>Positionnement affiché sur le tourisme médical</li>
306
+ </ul>
307
+ </div>
308
+ <div class="swot-card bg-red-50 p-6 rounded-xl border-2 border-red-200">
309
+ <div class="flex items-center mb-4">
310
+ <div class="bg-red-200 p-2 rounded-lg mr-3">
311
+ <i class="fas fa-thumbs-down text-red-700"></i>
312
+ </div>
313
+ <h4 class="font-bold text-lg text-red-800">Faiblesses</h4>
314
+ </div>
315
+ <ul class="mt-2 list-disc list-inside text-red-700 space-y-2 text-sm">
316
+ <li>Déficit technologique (pas d'IRM/radiothérapie)</li>
317
+ <li>Présence digitale nulle (site inaccessible)</li>
318
+ <li>Absence de certifications qualité internationales</li>
319
+ <li>Capacité d'accueil limitée (45 lits)</li>
320
+ </ul>
321
+ </div>
322
+ <div class="swot-card bg-blue-50 p-6 rounded-xl border-2 border-blue-200">
323
+ <div class="flex items-center mb-4">
324
+ <div class="bg-blue-200 p-2 rounded-lg mr-3">
325
+ <i class="fas fa-bullseye text-blue-700"></i>
326
+ </div>
327
+ <h4 class="font-bold text-lg text-blue-800">Opportunités</h4>
328
+ </div>
329
+ <ul class="mt-2 list-disc list-inside text-blue-700 space-y-2 text-sm">
330
+ <li>Partenariat de transformation digitale et technologique</li>
331
+ <li>Recapture des revenus de l'imagerie externalisée</li>
332
+ <li>Développement de l'e-santé (DPE, télémédecine)</li>
333
+ <li>Marché du tourisme médical en croissance</li>
334
+ </ul>
335
+ </div>
336
+ <div class="swot-card bg-amber-50 p-6 rounded-xl border-2 border-amber-200">
337
+ <div class="flex items-center mb-4">
338
+ <div class="bg-amber-200 p-2 rounded-lg mr-3">
339
+ <i class="fas fa-exclamation-triangle text-amber-700"></i>
340
+ </div>
341
+ <h4 class="font-bold text-lg text-amber-800">Menaces</h4>
342
+ </div>
343
+ <ul class="mt-2 list-disc list-inside text-amber-700 space-y-2 text-sm">
344
+ <li>Concurrence régionale intense et moderne</li>
345
+ <li>Perte des talents médicaux vers des plateformes mieux équipées</li>
346
+ <li>Érosion des parts de marché (surtout internationales)</li>
347
+ <li>Risque d'obsolescence et de marginalisation</li>
348
+ </ul>
349
+ </div>
350
+ </div>
351
+ </div>
352
+ </section>
353
+
354
+ <hr class="my-16 border-slate-200" />
355
+
356
+ <section id="diagnostic" class="scroll-mt-24 mb-16">
357
+ <div class="text-center mb-12">
358
+ <h2 class="text-3xl md:text-4xl font-bold text-slate-800 mb-2">
359
+ <span class="section-title">Diagnostic : La Rupture Numérique et Technologique</span>
360
+ </h2>
361
+ <p class="mt-8 text-lg max-w-3xl mx-auto text-slate-600">
362
+ Le diagnostic révèle une clinique opérant avec les outils d'hier
363
+ dans le monde de demain. Cette section quantifie le retard et met en
364
+ lumière les points de friction les plus critiques pour la patientèle
365
+ et la compétitivité.
366
+ </p>
367
+ </div>
368
+
369
+ <div class="grid grid-cols-1 lg:grid-cols-2 gap-8 mb-12">
370
+ <div class="bg-white p-8 rounded-xl shadow-lg">
371
+ <h3 class="font-bold text-xl text-slate-800 mb-6 flex items-center">
372
+ <i class="fas fa-laptop-medical text-primary mr-3"></i>
373
+ Bilan de Maturité Digitale
374
+ </h3>
375
+
376
+ <div class="flex flex-col items-center justify-center bg-slate-50 p-8 rounded-xl mb-6">
377
+ <div class="counter">0/5</div>
378
+ <p class="mt-2 font-medium text-slate-700">Score de Maturité Digitale</p>
379
+ <div class="w-full bg-slate-200 rounded-full h-2.5 mt-4">
380
+ <div class="bg-red-500 h-2.5 rounded-full" style="width: 0%"></div>
381
+ </div>
382
+ <p class="text-center text-sm mt-4 text-slate-500">
383
+ Un score nul qui reflète une absence totale de stratégie et
384
+ d'outils numériques pour l'acquisition et la gestion des
385
+ patients.
386
+ </p>
387
+ </div>
388
+
389
+ <div class="space-y-4">
390
+ <div class="flex items-start p-3 rounded-lg hover:bg-slate-50">
391
+ <span class="text-red-500 text-xl mr-3 mt-1"><i class="fas fa-times-circle"></i></span>
392
+ <div>
393
+ <h4 class="font-semibold text-slate-800">Site Web Inaccessible</h4>
394
+ <p class="text-sm text-slate-500">
395
+ Basé sur la technologie Flash, obsolète depuis 2020. Invisible pour 99% des utilisateurs.
396
+ </p>
397
+ </div>
398
+ </div>
399
+ <div class="flex items-start p-3 rounded-lg hover:bg-slate-50">
400
+ <span class="text-red-500 text-xl mr-3 mt-1"><i class="fas fa-times-circle"></i></span>
401
+ <div>
402
+ <h4 class="font-semibold text-slate-800">Réseaux Sociaux</h4>
403
+ <p class="text-sm text-slate-500">
404
+ Aucune présence officielle active sur Facebook, LinkedIn ou d'autres plateformes.
405
+ </p>
406
+ </div>
407
+ </div>
408
+ <div class="flex items-start p-3 rounded-lg hover:bg-slate-50">
409
+ <span class="text-red-500 text-xl mr-3 mt-1"><i class="fas fa-times-circle"></i></span>
410
+ <div>
411
+ <h4 class="font-semibold text-slate-800">E-réputation</h4>
412
+ <p class="text-sm text-slate-500">
413
+ Avis patients quasi-inexistants, ne permettant pas de bâtir un capital confiance en ligne.
414
+ </p>
415
+ </div>
416
+ </div>
417
+ </div>
418
+ </div>
419
+
420
+ <div class="bg-white p-8 rounded-xl shadow-lg">
421
+ <h3 class="font-bold text-xl text-slate-800 mb-6 flex items-center">
422
+ <i class="fas fa-x-ray text-primary mr-3"></i>
423
+ Plateau Technique : Le Handicap Stratégique
424
+ </h3>
425
+ <p class="text-slate-600 text-sm mb-6">
426
+ Le positionnement sur des chirurgies complexes (cardiaque, orthopédique) est en totale contradiction avec un plateau d'imagerie interne insuffisant. Cette dépendance à l'externe fragmente le parcours patient et représente une perte de revenus majeure.
427
+ </p>
428
+
429
+ <div class="space-y-4">
430
+ <div class="flex items-center justify-between p-4 bg-green-50 border-2 border-green-200 rounded-xl">
431
+ <div class="flex items-center">
432
+ <i class="fas fa-check-circle text-green-500 mr-3"></i>
433
+ <span class="font-semibold text-green-800">Scanner</span>
434
+ </div>
435
+ <span class="text-xl text-green-500">✅</span>
436
+ </div>
437
+ <p class="text-xs text-slate-400 text-center italic">
438
+ Performance et modèle non spécifiés, probablement anciens.
439
+ </p>
440
+
441
+ <div class="flex items-center justify-between p-4 bg-red-50 border-2 border-red-200 rounded-xl">
442
+ <div class="flex items-center">
443
+ <i class="fas fa-times-circle text-red-500 mr-3"></i>
444
+ <span class="font-semibold text-red-800">Imagerie par Résonance Magnétique (IRM)</span>
445
+ </div>
446
+ <span class="text-xl text-red-500">❌</span>
447
+ </div>
448
+
449
+ <div class="flex items-center justify-between p-4 bg-red-50 border-2 border-red-200 rounded-xl">
450
+ <div class="flex items-center">
451
+ <i class="fas fa-times-circle text-red-500 mr-3"></i>
452
+ <span class="font-semibold text-red-800">Radiothérapie</span>
453
+ </div>
454
+ <span class="text-xl text-red-500">❌</span>
455
+ </div>
456
+
457
+ <div class="flex items-center justify-between p-4 bg-red-50 border-2 border-red-200 rounded-xl">
458
+ <div class="flex items-center">
459
+ <i class="fas fa-times-circle text-red-500 mr-3"></i>
460
+ <span class="font-semibold text-red-800">Certifications Qualité (ISO, JCI...)</span>
461
+ </div>
462
+ <span class="text-xl text-red-500">❌</span>
463
+ </div>
464
+ </div>
465
+
466
+ <div class="mt-8 bg-slate-50 p-4 rounded-xl">
467
+ <h4 class="font-semibold text-slate-800 mb-2">Impact Financier Estimé</h4>
468
+ <div class="flex justify-between items-center">
469
+ <div>
470
+ <div class="text-sm text-slate-500">Perte annuelle due à l'externalisation</div>
471
+ <div class="text-xl font-bold text-primary">750K TND</div>
472
+ </div>
473
+ <div class="bg-primary-light p-2 rounded-lg">
474
+ <i class="fas fa-money-bill-wave text-white"></i>
475
+ </div>
476
+ </div>
477
+ </div>
478
+ </div>
479
+ </div>
480
+ </section>
481
+
482
+ <hr class="my-16 border-slate-200" />
483
+
484
+ <section id="concurrence" class="scroll-mt-24 mb-16">
485
+ <div class="text-center mb-12">
486
+ <h2 class="text-3xl md:text-4xl font-bold text-slate-800 mb-2">
487
+ <span class="section-title">Analyse Concurrentielle Interactive</span>
488
+ </h2>
489
+ <p class="mt-8 text-lg max-w-3xl mx-auto text-slate-600">
490
+ La PLC n'opère pas en vase clos. La région du Sahel est un hub
491
+ médical compétitif où les acteurs investissent massivement. Ce
492
+ graphique interactif compare la maturité digitale des cliniques.
493
+ Utilisez les filtres pour affiner l'analyse.
494
+ </p>
495
+ </div>
496
+
497
+ <div class="bg-white p-6 md:p-8 rounded-xl shadow-lg">
498
+ <div class="flex flex-wrap justify-center gap-2 md:gap-4 mb-6">
499
+ <button
500
+ id="filter-all"
501
+ class="btn-filter active px-4 py-2 text-sm font-medium border border-slate-200 rounded-full transition"
502
+ >
503
+ Tous
504
+ </button>
505
+ <button
506
+ id="filter-mri"
507
+ class="btn-filter px-4 py-2 text-sm font-medium border border-slate-200 rounded-full transition"
508
+ >
509
+ Avec IRM
510
+ </button>
511
+ <button
512
+ id="filter-radio"
513
+ class="btn-filter px-4 py-2 text-sm font-medium border border-slate-200 rounded-full transition"
514
+ >
515
+ Avec Radiothérapie
516
+ </button>
517
+ <button
518
+ id="filter-quality"
519
+ class="btn-filter px-4 py-2 text-sm font-medium border border-slate-200 rounded-full transition"
520
+ >
521
+ Certifiées Qualité
522
+ </button>
523
+ </div>
524
+
525
+ <div class="chart-container">
526
+ <canvas id="competitorChart"></canvas>
527
+ </div>
528
+
529
+ <div class="mt-8 overflow-x-auto">
530
+ <table class="min-w-full divide-y divide-slate-200">
531
+ <thead class="bg-slate-50">
532
+ <tr>
533
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-slate-500 uppercase tracking-wider">Clinique</th>
534
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-slate-500 uppercase tracking-wider">Ville</th>
535
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-slate-500 uppercase tracking-wider">IRM</th>
536
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-slate-500 uppercase tracking-wider">Radiothérapie</th>
537
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-slate-500 uppercase tracking-wider">Certification</th>
538
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-slate-500 uppercase tracking-wider">Score Digital</th>
539
+ </tr>
540
+ </thead>
541
+ <tbody class="bg-white divide-y divide-slate-200" id="competitor-table-body">
542
+ <!-- Table rows will be populated by JavaScript -->
543
+ </tbody>
544
+ </table>
545
+ </div>
546
+
547
+ <p class="text-xs text-center mt-4 text-slate-400">
548
+ Le score de maturité digitale est une évaluation basée sur la
549
+ présence en ligne, les fonctionnalités du site web (RDV, devis) et
550
+ la communication sur les outils internes (DPE, IA).
551
+ </p>
552
+ </div>
553
+ </section>
554
+
555
+ <hr class="my-16 border-slate-200" />
556
+
557
+ <section id="plan" class="scroll-mt-24">
558
+ <div class="text-center mb-12">
559
+ <h2 class="text-3xl md:text-4xl font-bold text-slate-800 mb-2">
560
+ <span class="section-title">Feuille de Route pour la Transformation</span>
561
+ </h2>
562
+ <p class="mt-8 text-lg max-w-3xl mx-auto text-slate-600">
563
+ Transformer les faiblesses en forces nécessite une approche
564
+ structurée. Voici une proposition de feuille de route stratégique en
565
+ 3 phases, conçue pour générer de la valeur à chaque étape et
566
+ positionner la clinique comme un leader moderne.
567
+ </p>
568
+ </div>
569
+
570
+ <div class="relative">
571
+ <!-- Vertical line for timeline -->
572
+ <div class="timeline-line bg-slate-200 hidden md:block"></div>
573
+
574
+ <!-- Timeline items -->
575
+ <div class="space-y-20">
576
+ <!-- Phase 1 -->
577
+ <div class="relative md:grid md:grid-cols-2 md:gap-x-12 items-center">
578
+ <div class="md:text-right pb-10 md:pb-0">
579
+ <div class="timeline-dot bg-amber-500"></div>
580
+ <div
581
+ class="inline-block bg-amber-100 text-amber-700 font-bold px-4 py-1 rounded-full text-sm mb-4"
582
+ >
583
+ Phase 1 (0-6 mois)
584
+ </div>
585
+ <h3 class="text-2xl font-bold text-slate-800 mt-2">
586
+ Visibilité & "Quick Wins"
587
+ </h3>
588
+ <div class="mt-4 bg-amber-50 p-4 rounded-lg inline-block">
589
+ <div class="flex items-center">
590
+ <i class="fas fa-bullseye text-amber-600 mr-2"></i>
591
+ <span class="font-semibold">Objectif:</span>
592
+ </div>
593
+ <p class="text-sm mt-1">
594
+ Stopper l'hémorragie de parts de marché en rendant la clinique visible, moderne et accessible en ligne.
595
+ </p>
596
+ </div>
597
+ </div>
598
+ <div class="mt-4 md:mt-0 md:pl-12">
599
+ <div class="bg-white p-6 rounded-xl shadow-md border-l-4 border-amber-500">
600
+ <ul class="space-y-3">
601
+ <li class="flex items-start">
602
+ <span class="bg-amber-100 text-amber-800 rounded-full w-6 h-6 flex items-center justify-center text-xs mr-3 mt-1">1</span>
603
+ <span>Lancement d'un site web moderne et multilingue</span>
604
+ </li>
605
+ <li class="flex items-start">
606
+ <span class="bg-amber-100 text-amber-800 rounded-full w-6 h-6 flex items-center justify-center text-xs mr-3 mt-1">2</span>
607
+ <span>Intégration de la prise de RDV et devis en ligne</span>
608
+ </li>
609
+ <li class="flex items-start">
610
+ <span class="bg-amber-100 text-amber-800 rounded-full w-6 h-6 flex items-center justify-center text-xs mr-3 mt-1">3</span>
611
+ <span>Création et animation des réseaux sociaux (LinkedIn, Facebook)</span>
612
+ </li>
613
+ <li class="flex items-start">
614
+ <span class="bg-amber-100 text-amber-800 rounded-full w-6 h-6 flex items-center justify-center text-xs mr-3 mt-1">4</span>
615
+ <span>Lancement de l'étude de faisabilité pour l'imagerie</span>
616
+ </li>
617
+ </ul>
618
+ <div class="mt-6 bg-slate-50 p-4 rounded-lg">
619
+ <div class="flex items-center">
620
+ <i class="fas fa-chart-line text-amber-600 mr-2"></i>
621
+ <span class="font-semibold">Impact attendu:</span>
622
+ </div>
623
+ <p class="text-sm mt-1">
624
+ +30% de visibilité en ligne, +20% de nouveaux patients via le numérique
625
+ </p>
626
+ </div>
627
+ </div>
628
+ </div>
629
+ </div>
630
+
631
+ <!-- Phase 2 -->
632
+ <div class="relative md:grid md:grid-cols-2 md:gap-x-12 items-center">
633
+ <div class="md:text-right md:order-2 pb-10 md:pb-0">
634
+ <div class="timeline-dot bg-blue-500"></div>
635
+ <div
636
+ class="inline-block bg-blue-100 text-blue-700 font-bold px-4 py-1 rounded-full text-sm mb-4"
637
+ >
638
+ Phase 2 (6-18 mois)
639
+ </div>
640
+ <h3 class="text-2xl font-bold text-slate-800 mt-2">
641
+ Investissement Cœur de Métier
642
+ </h3>
643
+ <div class="mt-4 bg-blue-50 p-4 rounded-lg inline-block">
644
+ <div class="flex items-center">
645
+ <i class="fas fa-bullseye text-blue-600 mr-2"></i>
646
+ <span class="font-semibold">Objectif:</span>
647
+ </div>
648
+ <p class="text-sm mt-1">
649
+ Renforcer le plateau technique pour soutenir les spécialités clés et moderniser la gestion interne.
650
+ </p>
651
+ </div>
652
+ </div>
653
+ <div class="mt-4 md:mt-0 md:order-1 md:pr-12">
654
+ <div class="bg-white p-6 rounded-xl shadow-md border-l-4 border-blue-500">
655
+ <ul class="space-y-3">
656
+ <li class="flex items-start">
657
+ <span class="bg-blue-100 text-blue-800 rounded-full w-6 h-6 flex items-center justify-center text-xs mr-3 mt-1">1</span>
658
+ <span>Finalisation du business plan pour le pôle imagerie (Scanner/IRM)</span>
659
+ </li>
660
+ <li class="flex items-start">
661
+ <span class="bg-blue-100 text-blue-800 rounded-full w-6 h-6 flex items-center justify-center text-xs mr-3 mt-1">2</span>
662
+ <span>Sélection des fournisseurs et sécurisation du financement</span>
663
+ </li>
664
+ <li class="flex items-start">
665
+ <span class="bg-blue-100 text-blue-800 rounded-full w-6 h-6 flex items-center justify-center text-xs mr-3 mt-1">3</span>
666
+ <span>Lancement des travaux d'aménagement du pôle</span>
667
+ </li>
668
+ <li class="flex items-start">
669
+ <span class="bg-blue-100 text-blue-800 rounded-full w-6 h-6 flex items-center justify-center text-xs mr-3 mt-1">4</span>
670
+ <span>Déploiement d'un Dossier Patient Électronique (DPE) "léger"</span>
671
+ </li>
672
+ </ul>
673
+ <div class="mt-6 bg-slate-50 p-4 rounded-lg">
674
+ <div class="flex items-center">
675
+ <i class="fas fa-chart-line text-blue-600 mr-2"></i>
676
+ <span class="font-semibold">Impact attendu:</span>
677
+ </div>
678
+ <p class="text-sm mt-1">
679
+ Réduction de 40% des examens externalisés, amélioration de 30% de l'efficacité administrative
680
+ </p>
681
+ </div>
682
+ </div>
683
+ </div>
684
+ </div>
685
+
686
+ <!-- Phase 3 -->
687
+ <div class="relative md:grid md:grid-cols-2 md:gap-x-12 items-center">
688
+ <div class="md:text-right pb-10 md:pb-0">
689
+ <div class="timeline-dot bg-green-500"></div>
690
+ <div
691
+ class="inline-block bg-green-100 text-green-700 font-bold px-4 py-1 rounded-full text-sm mb-4"
692
+ >
693
+ Phase 3 (18+ mois)
694
+ </div>
695
+ <h3 class="text-2xl font-bold text-slate-800 mt-2">
696
+ Expansion & Innovation
697
+ </h3>
698
+ <div class="mt-4 bg-green-50 p-4 rounded-lg inline-block">
699
+ <div class="flex items-center">
700
+ <i class="fas fa-bullseye text-green-600 mr-2"></i>
701
+ <span class="font-semibold">Objectif:</span>
702
+ </div>
703
+ <p class="text-sm mt-1">
704
+ Positionner la PLC comme un acteur compétitif et innovant, leader sur ses niches.
705
+ </p>
706
+ </div>
707
+ </div>
708
+ <div class="mt-4 md:mt-0 md:pl-12">
709
+ <div class="bg-white p-6 rounded-xl shadow-md border-l-4 border-green-500">
710
+ <ul class="space-y-3">
711
+ <li class="flex items-start">
712
+ <span class="bg-green-100 text-green-800 rounded-full w-6 h-6 flex items-center justify-center text-xs mr-3 mt-1">1</span>
713
+ <span>Mise en service opérationnelle du scanner et de l'IRM</span>
714
+ </li>
715
+ <li class="flex items-start">
716
+ <span class="bg-green-100 text-green-800 rounded-full w-6 h-6 flex items-center justify-center text-xs mr-3 mt-1">2</span>
717
+ <span>Déploiement complet du DPE dans tous les services</span>
718
+ </li>
719
+ <li class="flex items-start">
720
+ <span class="bg-green-100 text-green-800 rounded-full w-6 h-6 flex items-center justify-center text-xs mr-3 mt-1">3</span>
721
+ <span>Lancement de services pilotes de télémédecine</span>
722
+ </li>
723
+ <li class="flex items-start">
724
+ <span class="bg-green-100 text-green-800 rounded-full w-6 h-6 flex items-center justify-center text-xs mr-3 mt-1">4</span>
725
+ <span>Engagement dans une démarche de certification qualité (ISO 9001)</span>
726
+ </li>
727
+ </ul>
728
+ <div class="mt-6 bg-slate-50 p-4 rounded-lg">
729
+ <div class="flex items-center">
730
+ <i class="fas fa-chart-line text-green-600 mr-2"></i>
731
+ <span class="font-semibold">Impact attendu:</span>
732
+ </div>
733
+ <p class="text-sm mt-1">
734
+ +50% de revenus d'imagerie, +15% de patients internationaux, certification qualité obtenue
735
+ </p>
736
+ </div>
737
+ </div>
738
+ </div>
739
+ </div>
740
+ </div>
741
+ </div>
742
+
743
+ <!-- ROI Section -->
744
+ <div class="mt-20 bg-gradient-to-r from-primary to-primary-light rounded-2xl p-8 text-white">
745
+ <div class="max-w-4xl mx-auto">
746
+ <h3 class="text-2xl font-bold mb-6 text-center">Retour sur Investissement Projeté</h3>
747
+ <div class="grid grid-cols-1 md:grid-cols-3 gap-6">
748
+ <div class="bg-white/10 p-4 rounded-xl text-center">
749
+ <div class="text-3xl font-bold mb-2">750K TND</div>
750
+ <p>Économies annuelles par réduction d'externalisation</p>
751
+ </div>
752
+ <div class="bg-white/10 p-4 rounded-xl text-center">
753
+ <div class="text-3xl font-bold mb-2">+40%</div>
754
+ <p>Augmentation des revenus d'imagerie</p>
755
+ </div>
756
+ <div class="bg-white/10 p-4 rounded-xl text-center">
757
+ <div class="text-3xl font-bold mb-2">3-5 ans</div>
758
+ <p>Retour sur investissement total</p>
759
+ </div>
760
+ </div>
761
+ </div>
762
+ </div>
763
+ </section>
764
+ </main>
765
+
766
+ <footer class="bg-slate-800 text-slate-300 mt-16">
767
+ <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
768
+ <div class="grid grid-cols-1 md:grid-cols-4 gap-8">
769
+ <div>
770
+ <div class="flex items-center mb-4">
771
+ <div class="bg-primary-light p-2 rounded-lg mr-3">
772
+ <i class="fas fa-hospital text-white"></i>
773
+ </div>
774
+ <h4 class="font-bold text-lg">Polyclinique La Corniche</h4>
775
+ </div>
776
+ <p class="text-sm text-slate-400">
777
+ Transformation stratégique pour une clinique moderne et compétitive.
778
+ </p>
779
+ </div>
780
+
781
+ <div>
782
+ <h4 class="font-bold text-slate-200 mb-4">Sections</h4>
783
+ <ul class="space-y-2">
784
+ <li><a href="#synthese" class="text-slate-400 hover:text-white transition">Synthèse</a></li>
785
+ <li><a href="#diagnostic" class="text-slate-400 hover:text-white transition">Diagnostic</a></li>
786
+ <li><a href="#concurrence" class="text-slate-400 hover:text-white transition">Concurrence</a></li>
787
+ <li><a href="#plan" class="text-slate-400 hover:text-white transition">Plan d'Action</a></li>
788
+ </ul>
789
+ </div>
790
+
791
+ <div>
792
+ <h4 class="font-bold text-slate-200 mb-4">Contact</h4>
793
+ <ul class="space-y-2 text-slate-400">
794
+ <li class="flex items-center">
795
+ <i class="fas fa-envelope mr-2"></i>
796
797
+ </li>
798
+ <li class="flex items-center">
799
+ <i class="fas fa-phone mr-2"></i>
800
+ +216 73 000 000
801
+ </li>
802
+ <li class="flex items-center">
803
+ <i class="fas fa-map-marker-alt mr-2"></i>
804
+ Sousse, Tunisie
805
+ </li>
806
+ </ul>
807
+ </div>
808
+
809
+ <div>
810
+ <h4 class="font-bold text-slate-200 mb-4">À propos</h4>
811
+ <p class="text-sm text-slate-400">
812
+ Ce tableau de bord interactif présente une analyse stratégique complète pour la transformation de la Polyclinique La Corniche.
813
+ </p>
814
+ </div>
815
+ </div>
816
+
817
+ <div class="border-t border-slate-700 mt-8 pt-6 text-center text-sm text-slate-400">
818
+ <p>&copy; 2025 - Application d'Analyse Stratégique Interactive.</p>
819
+ <p class="mt-1">
820
+ Générée pour une mission de conseil en e-santé. Données basées sur le rapport d'analyse fourni.
821
+ </p>
822
+ </div>
823
+ </div>
824
+ </footer>
825
+
826
+ <script>
827
+ document.addEventListener("DOMContentLoaded", () => {
828
+ // Mobile menu toggle
829
+ const mobileMenuButton = document.getElementById('mobile-menu-button');
830
+ const mobileMenu = document.getElementById('mobile-menu');
831
+
832
+ mobileMenuButton.addEventListener('click', () => {
833
+ mobileMenu.classList.toggle('hidden');
834
+ });
835
+
836
+ // Competitor data
837
+ const appData = {
838
+ competitors: [
839
+ {
840
+ name: "Polyclinique La Corniche",
841
+ city: "Sousse",
842
+ mri: false,
843
+ radiotherapy: false,
844
+ quality: false,
845
+ digital_maturity: 0,
846
+ color: "#f59e0b",
847
+ },
848
+ {
849
+ name: "Clinique El Yosr Int.",
850
+ city: "Sousse",
851
+ mri: false,
852
+ radiotherapy: false,
853
+ quality: false,
854
+ digital_maturity: 4,
855
+ color: "#64748b",
856
+ },
857
+ {
858
+ name: "Clinique Essalem",
859
+ city: "Sousse",
860
+ mri: false,
861
+ radiotherapy: false,
862
+ quality: true,
863
+ digital_maturity: 3,
864
+ color: "#64748b",
865
+ },
866
+ {
867
+ name: "CMIK",
868
+ city: "Sousse",
869
+ mri: true,
870
+ radiotherapy: true,
871
+ quality: true,
872
+ digital_maturity: 4,
873
+ color: "#64748b",
874
+ },
875
+ {
876
+ name: "Clinique Les Oliviers",
877
+ city: "Sousse",
878
+ mri: false,
879
+ radiotherapy: false,
880
+ quality: false,
881
+ digital_maturity: 3,
882
+ color: "#64748b",
883
+ },
884
+ {
885
+ name: "Carthage Medical",
886
+ city: "Monastir",
887
+ mri: true,
888
+ radiotherapy: false,
889
+ quality: false,
890
+ digital_maturity: 3,
891
+ color: "#64748b",
892
+ },
893
+ {
894
+ name: "Clinique du Centre",
895
+ city: "Ksar Hellal",
896
+ mri: true,
897
+ radiotherapy: false,
898
+ quality: true,
899
+ digital_maturity: 4,
900
+ color: "#64748b",
901
+ },
902
+ {
903
+ name: "Clinique Errahma",
904
+ city: "Mahdia",
905
+ mri: true,
906
+ radiotherapy: false,
907
+ quality: false,
908
+ digital_maturity: 4,
909
+ color: "#64748b",
910
+ },
911
+ ],
912
+ };
913
+
914
+ // Initialize chart
915
+ const ctx = document.getElementById("competitorChart").getContext("2d");
916
+ let competitorChart;
917
+
918
+ // Function to render chart
919
+ function renderChart(data) {
920
+ if (competitorChart) {
921
+ competitorChart.destroy();
922
+ }
923
+
924
+ const chartData = {
925
+ labels: data.map((c) => `${c.name} (${c.city})`),
926
+ datasets: [
927
+ {
928
+ label: "Score de Maturité Digitale (sur 5)",
929
+ data: data.map((c) => c.digital_maturity),
930
+ backgroundColor: data.map((c) => c.color),
931
+ borderColor: data.map((c) =>
932
+ c.color === "#f59e0b" ? "#b45309" : "#475569"
933
+ ),
934
+ borderWidth: 1,
935
+ borderRadius: 4,
936
+ },
937
+ ],
938
+ };
939
+
940
+ const chartOptions = {
941
+ responsive: true,
942
+ maintainAspectRatio: false,
943
+ indexAxis: "y",
944
+ scales: {
945
+ x: {
946
+ beginAtZero: true,
947
+ max: 5,
948
+ grid: {
949
+ color: "#e2e8f0",
950
+ },
951
+ ticks: {
952
+ color: "#475569",
953
+ stepSize: 1
954
+ },
955
+ },
956
+ y: {
957
+ grid: {
958
+ display: false,
959
+ },
960
+ ticks: {
961
+ color: "#1e293b",
962
+ font: {
963
+ weight: "500",
964
+ },
965
+ },
966
+ },
967
+ },
968
+ plugins: {
969
+ legend: {
970
+ display: false,
971
+ },
972
+ tooltip: {
973
+ backgroundColor: "#1e293b",
974
+ titleFont: { size: 14, weight: "bold" },
975
+ bodyFont: { size: 12 },
976
+ padding: 12,
977
+ cornerRadius: 6,
978
+ displayColors: false,
979
+ callbacks: {
980
+ label: function (context) {
981
+ let label = context.dataset.label || "";
982
+ if (label) {
983
+ label += ": ";
984
+ }
985
+ if (context.parsed.x !== null) {
986
+ label += context.parsed.x + " / 5";
987
+ }
988
+ return label;
989
+ },
990
+ },
991
+ },
992
+ },
993
+ };
994
+
995
+ competitorChart = new Chart(ctx, {
996
+ type: "bar",
997
+ data: chartData,
998
+ options: chartOptions,
999
+ });
1000
+
1001
+ // Update table
1002
+ const tableBody = document.getElementById('competitor-table-body');
1003
+ tableBody.innerHTML = '';
1004
+
1005
+ data.forEach(competitor => {
1006
+ const row = document.createElement('tr');
1007
+ row.innerHTML = `
1008
+ <td class="px-6 py-4 whitespace-nowrap ${competitor.name.includes('Corniche') ? 'font-bold text-primary' : 'text-slate-700'}">
1009
+ ${competitor.name}
1010
+ </td>
1011
+ <td class="px-6 py-4 whitespace-nowrap text-slate-500">${competitor.city}</td>
1012
+ <td class="px-6 py-4 whitespace-nowrap">
1013
+ ${competitor.mri ? '<span class="text-green-500"><i class="fas fa-check"></i></span>' : '<span class="text-red-500"><i class="fas fa-times"></i></span>'}
1014
+ </td>
1015
+ <td class="px-6 py-4 whitespace-nowrap">
1016
+ ${competitor.radiotherapy ? '<span class="text-green-500"><i class="fas fa-check"></i></span>' : '<span class="text-red-500"><i class="fas fa-times"></i></span>'}
1017
+ </td>
1018
+ <td class="px-6 py-4 whitespace-nowrap">
1019
+ ${competitor.quality ? '<span class="text-green-500"><i class="fas fa-check"></i></span>' : '<span class="text-red-500"><i class="fas fa-times"></i></span>'}
1020
+ </td>
1021
+ <td class="px-6 py-4 whitespace-nowrap">
1022
+ <div class="flex items-center">
1023
+ <div class="w-16 bg-slate-200 rounded-full h-2 mr-2">
1024
+ <div class="bg-primary h-2 rounded-full" style="width: ${competitor.digital_maturity * 20}%"></div>
1025
+ </div>
1026
+ <span>${competitor.digital_maturity}/5</span>
1027
+ </div>
1028
+ </td>
1029
+ `;
1030
+ tableBody.appendChild(row);
1031
+ });
1032
+ }
1033
+
1034
+ // Filter buttons functionality
1035
+ const filterButtons = document.querySelectorAll(".btn-filter");
1036
+ filterButtons.forEach((button) => {
1037
+ button.addEventListener("click", () => {
1038
+ filterButtons.forEach((btn) => btn.classList.remove("active"));
1039
+ button.classList.add("active");
1040
+
1041
+ let filteredData = appData.competitors;
1042
+ const filterType = button.id;
1043
+
1044
+ if (filterType === "filter-mri") {
1045
+ filteredData = appData.competitors.filter(
1046
+ (c) => c.mri || c.name === "Polyclinique La Corniche"
1047
+ );
1048
+ } else if (filterType === "filter-radio") {
1049
+ filteredData = appData.competitors.filter(
1050
+ (c) => c.radiotherapy || c.name === "Polyclinique La Corniche"
1051
+ );
1052
+ } else if (filterType === "filter-quality") {
1053
+ filteredData = appData.competitors.filter(
1054
+ (c) => c.quality || c.name === "Polyclinique La Corniche"
1055
+ );
1056
+ }
1057
+
1058
+ filteredData.forEach((d) => {
1059
+ d.color =
1060
+ d.name === "Polyclinique La Corniche" ? "#f59e0b" : "#64748b";
1061
+ });
1062
+
1063
+ renderChart(filteredData);
1064
+ });
1065
+ });
1066
+
1067
+ // Initialize with all competitors
1068
+ document.getElementById("filter-all").click();
1069
+
1070
+ // Navigation highlighting
1071
+ const navLinks = document.querySelectorAll(".nav-link");
1072
+ const sections = document.querySelectorAll("section");
1073
+
1074
+ window.addEventListener("scroll", () => {
1075
+ let current = "";
1076
+ sections.forEach((section) => {
1077
+ const sectionTop = section.offsetTop;
1078
+ if (pageYOffset >= sectionTop - 150) {
1079
+ current = section.getAttribute("id");
1080
+ }
1081
+ });
1082
+
1083
+ navLinks.forEach((link) => {
1084
+ link.classList.remove("active-link");
1085
+ if (link.getAttribute("href").includes(current)) {
1086
+ link.classList.add("active-link");
1087
+ }
1088
+ });
1089
+ });
1090
+
1091
+ // Animate counter
1092
+ const counterElement = document.querySelector('.counter');
1093
+ let count = 0;
1094
+ const counterInterval = setInterval(() => {
1095
+ if (count < 5) {
1096
+ count += 0.1;
1097
+ counterElement.textContent = count.toFixed(1) + '/5';
1098
+ } else {
1099
+ clearInterval(counterInterval);
1100
+ }
1101
+ }, 100);
1102
+ });
1103
+ </script>
1104
+ <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=Maheri/plc-sousse" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
1105
+ </html>