docto41 commited on
Commit
efa6740
·
verified ·
1 Parent(s): 7ba3a50

Add 2 files

Browse files
Files changed (2) hide show
  1. index.html +704 -708
  2. prompts.txt +2 -1
index.html CHANGED
@@ -379,770 +379,766 @@
379
  <div class="p-6">
380
  <ul class="space-y-3 mb-6">
381
  <li class="flex items-center">
382
- <i class="fas fa-check text-green-500 mr-2"></i>
383
- <span>Tous les avantages Premium</span>
384
- </li>
385
- <li class="flex items-center">
386
- <i class="fas fa-check text-green-500 mr-2"></i>
387
- <span>Accès aux projets avancés</span>
388
- </li>
389
- <li class="flex items-center">
390
- <i class="fas fa-check text-green-500 mr-2"></i>
391
- <span>Mentorat individuel</span>
392
- </li>
393
- <li class="flex items-center">
394
- <i class="fas fa-check text-green-500 mr-2"></i>
395
- <span>Portfolio professionnel</span>
396
- </li>
397
- </ul>
398
- <button onclick="selectPlan('pro')" class="w-full bg-purple-600 hover:bg-purple-700 text-white py-3 rounded-lg font-bold transition transform hover:scale-105 shadow-md glow">
399
- Choisir ce plan
400
- </button>
401
- </div>
402
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
403
  </div>
 
 
404
  </div>
405
- </section>
406
 
407
- <!-- Testimonials -->
408
- <section class="py-16 bg-gray-50">
409
- <div class="container mx-auto px-4">
410
- <div class="text-center mb-12 animate__animated animate__fadeIn">
411
- <h2 class="text-3xl font-bold mb-2">Ce que disent nos étudiants</h2>
412
- <div class="w-20 h-1 bg-indigo-600 mx-auto mt-4"></div>
 
 
 
 
 
 
 
413
  </div>
414
-
415
- <div class="grid grid-cols-1 md:grid-cols-3 gap-8">
416
- <!-- Testimonial 1 -->
417
- <div class="bg-white p-6 rounded-xl shadow-sm card-hover animate__animated animate__fadeIn" style="animation-delay: 0.1s">
418
- <div class="flex items-center mb-4">
419
- <img src="https://randomuser.me/api/portraits/women/32.jpg" alt="Marie D." class="w-12 h-12 rounded-full mr-4 object-cover">
420
- <div>
421
- <h4 class="font-bold">Marie D.</h4>
422
- <div class="flex text-yellow-400">
423
- <i class="fas fa-star"></i>
424
- <i class="fas fa-star"></i>
425
- <i class="fas fa-star"></i>
426
- <i class="fas fa-star"></i>
427
- <i class="fas fa-star"></i>
428
- </div>
429
- </div>
430
- </div>
431
- <p class="text-gray-600">"Grâce au cours de développement web, j'ai pu décrocher mon premier emploi en tant que développeuse front-end. Les projets pratiques sont excellents!"</p>
432
- </div>
433
 
434
- <!-- Testimonial 2 -->
435
- <div class="bg-white p-6 rounded-xl shadow-sm card-hover animate__animated animate__fadeIn" style="animation-delay: 0.2s">
436
- <div class="flex items-center mb-4">
437
- <img src="https://randomuser.me/api/portraits/men/75.jpg" alt="Jean P." class="w-12 h-12 rounded-full mr-4 object-cover">
438
- <div>
439
- <h4 class="font-bold">Jean P.</h4>
440
- <div class="flex text-yellow-400">
441
- <i class="fas fa-star"></i>
442
- <i class="fas fa-star"></i>
443
- <i class="fas fa-star"></i>
444
- <i class="fas fa-star"></i>
445
- <i class="fas fa-star-half-alt"></i>
446
- </div>
447
- </div>
448
- </div>
449
- <p class="text-gray-600">"La qualité des cours de data science est exceptionnelle. J'ai particulièrement apprécié les exercices pratiques avec des datasets réels."</p>
450
- </div>
 
 
 
451
 
452
- <!-- Testimonial 3 -->
453
- <div class="bg-white p-6 rounded-xl shadow-sm card-hover animate__animated animate__fadeIn" style="animation-delay: 0.3s">
454
- <div class="flex items-center mb-4">
455
- <img src="https://randomuser.me/api/portraits/women/63.jpg" alt="Sophie L." class="w-12 h-12 rounded-full mr-4 object-cover">
456
- <div>
457
- <h4 class="font-bold">Sophie L.</h4>
458
- <div class="flex text-yellow-400">
459
- <i class="fas fa-star"></i>
460
- <i class="fas fa-star"></i>
461
- <i class="fas fa-star"></i>
462
- <i class="fas fa-star"></i>
463
- <i class="fas fa-star"></i>
464
- </div>
465
- </div>
466
- </div>
467
- <p class="text-gray-600">"Le mentorat professionnel m'a aidé à créer un portfolio impressionnant qui a retenu l'attention des recruteurs. Je recommande vivement!"</p>
468
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
469
  </div>
 
470
  </div>
471
- </section>
 
 
 
 
 
472
 
473
- <!-- CTA Section -->
474
- <section class="py-16 gradient-bg text-white relative overflow-hidden">
475
- <div class="absolute top-0 left-0 w-full h-full opacity-10">
476
- <div class="absolute top-1/3 left-1/4 w-64 h-64 rounded-full bg-purple-300 mix-blend-multiply filter blur-3xl opacity-70 animate__animated animate__pulse animate__infinite"></div>
477
- <div class="absolute bottom-1/4 right-1/4 w-96 h-96 rounded-full bg-blue-300 mix-blend-multiply filter blur-3xl opacity-70 animate__animated animate__pulse animate__infinite animate__slower"></div>
 
 
 
 
 
 
 
 
 
 
 
 
478
  </div>
479
- <div class="container mx-auto px-4 text-center relative z-10 animate__animated animate__fadeIn">
480
- <h2 class="text-3xl font-bold mb-4">Prêt à transformer votre carrière?</h2>
481
- <p class="text-xl mb-8 max-w-2xl mx-auto">Rejoignez plus de 50,000 étudiants qui ont déjà commencé leur voyage d'apprentissage avec LearnHub.</p>
482
- <button onclick="scrollToPricing()" class="bg-white text-indigo-600 hover:bg-gray-100 px-8 py-4 rounded-lg font-bold text-lg transition shadow-lg pulse transform hover:scale-105">
483
- <i class="fas fa-rocket mr-2"></i>Commencer maintenant
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
484
  </button>
 
485
  </div>
486
- </section>
 
 
487
 
488
- <!-- Footer -->
489
- <footer class="bg-gray-900 text-white py-12">
490
- <div class="container mx-auto px-4">
491
- <div class="grid grid-cols-1 md:grid-cols-4 gap-8">
492
- <div class="animate__animated animate__fadeIn">
493
- <h3 class="text-xl font-bold mb-4">
494
- <i class="fas fa-graduation-cap mr-2"></i>LearnHub
495
- </h3>
496
- <p class="text-gray-400">La plateforme d'apprentissage en ligne la plus innovante pour développer vos compétences.</p>
497
- </div>
498
- <div class="animate__animated animate__fadeIn" style="animation-delay: 0.1s">
499
- <h4 class="font-bold mb-4">Navigation</h4>
500
- <ul class="space-y-2">
501
- <li><a href="#" class="text-gray-400 hover:text-white transition">Accueil</a></li>
502
- <li><a href="#courses" class="text-gray-400 hover:text-white transition">Cours</a></li>
503
- <li><a href="#features" class="text-gray-400 hover:text-white transition">Fonctionnalités</a></li>
504
- <li><a href="#pricing" class="text-gray-400 hover:text-white transition">Tarifs</a></li>
505
- </ul>
506
- </div>
507
- <div class="animate__animated animate__fadeIn" style="animation-delay: 0.2s">
508
- <h4 class="font-bold mb-4">Support</h4>
509
- <ul class="space-y-2">
510
- <li><a href="#" class="text-gray-400 hover:text-white transition">Centre d'aide</a></li>
511
- <li><a href="#" class="text-gray-400 hover:text-white transition">Contactez-nous</a></li>
512
- <li><a href="#" class="text-gray-400 hover:text-white transition">FAQ</a></li>
513
- <li><a href="#" class="text-gray-400 hover:text-white transition">Conditions d'utilisation</a></li>
514
- </ul>
515
- </div>
516
- <div class="animate__animated animate__fadeIn" style="animation-delay: 0.3s">
517
- <h4 class="font-bold mb-4">Suivez-nous</h4>
518
- <div class="flex space-x-4">
519
- <a href="#" class="text-gray-400 hover:text-white text-xl transition transform hover:scale-125"><i class="fab fa-facebook"></i></a>
520
- <a href="#" class="text-gray-400 hover:text-white text-xl transition transform hover:scale-125"><i class="fab fa-twitter"></i></a>
521
- <a href="#" class="text-gray-400 hover:text-white text-xl transition transform hover:scale-125"><i class="fab fa-instagram"></i></a>
522
- <a href="#" class="text-gray-400 hover:text-white text-xl transition transform hover:scale-125"><i class="fab fa-linkedin"></i></a>
523
- <a href="#" class="text-gray-400 hover:text-white text-xl transition transform hover:scale-125"><i class="fab fa-youtube"></i></a>
524
- </div>
525
- <div class="mt-4">
526
- <h4 class="font-bold mb-2">Paiements sécurisés</h4>
527
- <div class="flex space-x-2">
528
- <i class="fab fa-cc-visa text-2xl text-gray-400 hover:text-white transition transform hover:scale-110"></i>
529
- <i class="fab fa-cc-mastercard text-2xl text-gray-400 hover:text-white transition transform hover:scale-110"></i>
530
- <i class="fab fa-cc-paypal text-2xl text-gray-400 hover:text-white transition transform hover:scale-110"></i>
531
- <i class="fab fa-cc-stripe text-2xl text-gray-400 hover:text-white transition transform hover:scale-110"></i>
532
- </div>
533
- </div>
534
  </div>
 
535
  </div>
536
- <div class="border-t border-gray-800 mt-8 pt-8 text-center text-gray-400 animate__animated animate__fadeIn">
537
- <p>© 2023 LearnHub. Tous droits réservés.</p>
 
 
 
 
 
 
 
538
  </div>
539
- </div>
540
- </footer>
541
-
542
- <!-- Shopping Cart Sidebar -->
543
- <div id="cartSidebar" class="fixed top-0 right-0 h-full w-full md:w-96 bg-white shadow-lg transform translate-x-full transition-transform duration-300 z-50">
544
- <div class="p-6 h-full flex flex-col">
545
- <div class="flex justify-between items-center mb-6">
546
- <h3 class="text-xl font-bold">
547
- <i class="fas fa-shopping-cart mr-2"></i>Votre panier
548
- </h3>
549
- <button onclick="toggleCart()" class="text-gray-500 hover:text-gray-700 transition transform hover:rotate-90">
550
- <i class="fas fa-times text-xl"></i>
551
- </button>
552
  </div>
553
-
554
- <div id="cartItems" class="flex-grow overflow-y-auto mb-4">
555
- <!-- Cart items will be added here dynamically -->
556
- <div class="text-center text-gray-500 py-8">
557
- <i class="fas fa-shopping-cart text-4xl mb-4 animate__animated animate__pulse animate__infinite"></i>
558
- <p>Votre panier est vide</p>
559
- </div>
560
- </div>
561
-
562
- <div class="border-t pt-4">
563
- <div class="flex justify-between mb-2">
564
- <span class="font-bold">Total:</span>
565
- <span id="cartTotal" class="font-bold">€0.00</span>
566
- </div>
567
- <button onclick="checkout()" class="w-full bg-indigo-600 hover:bg-indigo-700 text-white py-3 rounded-lg font-bold transition mb-2 transform hover:scale-105 shadow-md glow">
568
- <i class="fas fa-lock mr-2"></i>Payer maintenant
569
- </button>
570
- <div class="flex justify-center space-x-4 mt-4">
571
- <i class="fab fa-cc-paypal text-3xl text-blue-600"></i>
572
- <i class="fab fa-cc-stripe text-3xl text-purple-600"></i>
573
- </div>
574
  </div>
 
 
 
 
575
  </div>
 
 
 
 
 
576
  </div>
577
- <div id="cartOverlay" class="hidden fixed inset-0 bg-black bg-opacity-50 z-40" onclick="toggleCart()"></div>
578
 
579
- <!-- Auth Modal -->
580
- <div id="authModal" class="hidden fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50">
581
- <div class="bg-white rounded-xl shadow-xl w-full max-w-md mx-4 animate__animated animate__zoomIn">
582
- <div class="p-6">
583
- <div class="flex justify-between items-center mb-6">
584
- <h3 class="text-2xl font-bold">Connexion / Inscription</h3>
585
- <button onclick="toggleAuthModal()" class="text-gray-500 hover:text-gray-700 transition transform hover:rotate-90">
586
- <i class="fas fa-times"></i>
587
- </button>
588
- </div>
589
-
590
- <div class="flex border-b mb-6">
591
- <button id="loginTab" onclick="switchAuthTab('login')" class="px-4 py-2 font-medium border-b-2 border-indigo-600 text-indigo-600">Connexion</button>
592
- <button id="registerTab" onclick="switchAuthTab('register')" class="px-4 py-2 font-medium text-gray-500">Inscription</button>
593
- </div>
594
-
595
- <!-- Login Form -->
596
- <div id="loginForm">
597
- <div class="mb-4">
598
- <label class="block text-gray-700 mb-2" for="loginEmail">Email</label>
599
- <input type="email" id="loginEmail" class="w-full px-4 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-600 transition">
600
- </div>
601
- <div class="mb-6">
602
- <label class="block text-gray-700 mb-2" for="loginPassword">Mot de passe</label>
603
- <input type="password" id="loginPassword" class="w-full px-4 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-600 transition">
604
- </div>
605
- <button onclick="login()" class="w-full bg-indigo-600 hover:bg-indigo-700 text-white py-3 rounded-lg font-bold transition mb-4 transform hover:scale-105 shadow-md glow">
606
- Se connecter
607
- </button>
608
- <div class="text-center">
609
- <a href="#" class="text-indigo-600 hover:underline">Mot de passe oublié?</a>
610
- </div>
611
- </div>
612
-
613
- <!-- Register Form -->
614
- <div id="registerForm" class="hidden">
615
- <div class="mb-4">
616
- <label class="block text-gray-700 mb-2" for="registerName">Nom complet</label>
617
- <input type="text" id="registerName" class="w-full px-4 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-600 transition">
618
- </div>
619
- <div class="mb-4">
620
- <label class="block text-gray-700 mb-2" for="registerEmail">Email</label>
621
- <input type="email" id="registerEmail" class="w-full px-4 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-600 transition">
622
- </div>
623
- <div class="mb-6">
624
- <label class="block text-gray-700 mb-2" for="registerPassword">Mot de passe</label>
625
- <input type="password" id="registerPassword" class="w-full px-4 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-600 transition">
626
- </div>
627
- <div class="mb-6">
628
- <label class="flex items-center">
629
- <input type="checkbox" class="form-checkbox h-5 w-5 text-indigo-600 rounded focus:ring-indigo-500">
630
- <span class="ml-2 text-gray-700">J'accepte les conditions d'utilisation</span>
631
- </label>
632
- </div>
633
- <button onclick="register()" class="w-full bg-indigo-600 hover:bg-indigo-700 text-white py-3 rounded-lg font-bold transition transform hover:scale-105 shadow-md glow">
634
- S'inscrire
635
- </button>
636
- </div>
637
-
638
- <div class="mt-6 pt-6 border-t text-center">
639
- <p class="text-gray-600">Ou connectez-vous avec</p>
640
- <div class="flex justify-center space-x-4 mt-4">
641
- <button class="bg-blue-800 text-white p-2 rounded-full transition transform hover:scale-110">
642
- <i class="fab fa-facebook-f"></i>
643
- </button>
644
- <button class="bg-red-600 text-white p-2 rounded-full transition transform hover:scale-110">
645
- <i class="fab fa-google"></i>
646
- </button>
647
- <button class="bg-black text-white p-2 rounded-full transition transform hover:scale-110">
648
- <i class="fab fa-apple"></i>
649
- </button>
650
- </div>
651
- </div>
652
  </div>
 
653
  </div>
654
- </div>
655
 
656
- <!-- Payment Modal -->
657
- <div id="paymentModal" class="hidden fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50">
658
- <div class="bg-white rounded-xl shadow-xl w-full max-w-md mx-4 animate__animated animate__zoomIn">
659
- <div class="p-6">
660
- <div class="flex justify-between items-center mb-6">
661
- <h3 class="text-2xl font-bold">Paiement sécurisé</h3>
662
- <button onclick="closePaymentModal()" class="text-gray-500 hover:text-gray-700 transition transform hover:rotate-90">
663
- <i class="fas fa-times"></i>
664
- </button>
 
 
 
 
 
 
665
  </div>
666
-
667
- <div class="mb-6">
668
- <div class="flex justify-between mb-2">
669
- <span class="text-gray-700">Total à payer:</span>
670
- <span id="paymentTotal" class="font-bold">€0.00</span>
671
- </div>
672
- <div class="bg-gray-100 p-4 rounded-lg">
673
- <p class="text-sm text-gray-600">
674
- <i class="fas fa-lock text-green-500 mr-1"></i>
675
- Votre paiement est sécurisé et crypté.
676
- </p>
677
- </div>
678
  </div>
679
-
680
- <div class="mb-6">
681
- <div class="flex border-b mb-4">
682
- <button id="stripeTab" onclick="switchPaymentTab('stripe')" class="px-4 py-2 font-medium border-b-2 border-purple-600 text-purple-600">Carte Bancaire</button>
683
- <button id="paypalTab" onclick="switchPaymentTab('paypal')" class="px-4 py-2 font-medium text-gray-500">PayPal</button>
684
- </div>
685
-
686
- <!-- Stripe Payment Form -->
687
- <div id="stripePayment">
688
- <div class="mb-4">
689
- <label class="block text-gray-700 mb-2" for="cardNumber">Numéro de carte</label>
690
- <div class="relative">
691
- <input type="text" id="cardNumber" placeholder="1234 5678 9012 3456" class="w-full px-4 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-purple-600 transition">
692
- <div class="absolute right-3 top-3 flex space-x-1">
693
- <i class="fab fa-cc-visa text-gray-400"></i>
694
- <i class="fab fa-cc-mastercard text-gray-400"></i>
695
- <i class="fab fa-cc-amex text-gray-400"></i>
696
- </div>
697
- </div>
698
- </div>
699
- <div class="grid grid-cols-2 gap-4 mb-4">
700
- <div>
701
- <label class="block text-gray-700 mb-2" for="expiryDate">Date d'expiration</label>
702
- <input type="text" id="expiryDate" placeholder="MM/AA" class="w-full px-4 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-purple-600 transition">
703
- </div>
704
- <div>
705
- <label class="block text-gray-700 mb-2" for="cvv">CVV</label>
706
- <input type="text" id="cvv" placeholder="123" class="w-full px-4 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-purple-600 transition">
707
- </div>
708
- </div>
709
- <div class="mb-4">
710
- <label class="block text-gray-700 mb-2" for="cardName">Nom sur la carte</label>
711
- <input type="text" id="cardName" class="w-full px-4 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-purple-600 transition">
712
- </div>
713
- <button onclick="processStripePayment()" class="w-full bg-purple-600 hover:bg-purple-700 text-white py-3 rounded-lg font-bold transition flex items-center justify-center transform hover:scale-105 shadow-md glow">
714
- <i class="fab fa-cc-stripe text-xl mr-2"></i> Payer avec Stripe
715
- </button>
716
- </div>
717
-
718
- <!-- PayPal Payment -->
719
- <div id="paypalPayment" class="hidden">
720
- <div class="bg-gray-100 p-4 rounded-lg mb-4">
721
- <p class="text-sm text-gray-600">
722
- Vous serez redirigé vers PayPal pour compléter votre paiement de manière sécurisée.
723
- </p>
724
- </div>
725
- <button onclick="processPaypalPayment()" class="w-full bg-blue-600 hover:bg-blue-700 text-white py-3 rounded-lg font-bold transition flex items-center justify-center transform hover:scale-105 shadow-md glow">
726
- <i class="fab fa-paypal text-xl mr-2"></i> Payer avec PayPal
727
- </button>
728
- </div>
729
  </div>
730
-
731
- <div class="text-center text-sm text-gray-500 mt-6">
732
- <p>Nous ne stockons pas vos informations de paiement.</p>
733
  </div>
 
 
 
 
734
  </div>
735
- </div>
736
- </div>
737
 
738
- <!-- Dashboard Modal (shown after login) -->
739
- <div id="dashboardModal" class="hidden fixed inset-0 bg-gray-100 z-50 overflow-y-auto">
740
- <div class="min-h-screen">
741
- <!-- Dashboard Header -->
742
- <header class="bg-white shadow">
743
- <div class="container mx-auto px-4 py-4 flex justify-between items-center">
744
- <div class="text-xl font-bold text-indigo-600">
745
- <i class="fas fa-graduation-cap mr-2"></i>LearnHub
 
 
 
 
 
 
 
 
 
746
  </div>
747
- <div class="flex items-center space-x-4">
748
- <button onclick="toggleNotifications()" class="relative p-2 text-gray-600 hover:text-indigo-600 transition transform hover:scale-110">
749
- <i class="fas fa-bell text-xl"></i>
750
- <span class="absolute -top-1 -right-1 bg-red-500 text-white text-xs rounded-full h-5 w-5 flex items-center justify-center animate__animated animate__bounceIn">3</span>
751
- </button>
752
- <div class="relative">
753
- <button onclick="toggleProfileDropdown()" class="flex items-center space-x-2">
754
- <img src="https://randomuser.me/api/portraits/men/32.jpg" alt="Profile" class="w-10 h-10 rounded-full object-cover">
755
- <span class="font-medium">Jean D.</span>
756
- </button>
757
- <div id="profileDropdown" class="hidden absolute right-0 mt-2 w-48 bg-white rounded-md shadow-lg py-1 z-50 animate__animated animate__fadeIn">
758
- <a href="#" class="block px-4 py-2 text-gray-700 hover:bg-gray-100 transition">Mon profil</a>
759
- <a href="#" class="block px-4 py-2 text-gray-700 hover:bg-gray-100 transition">Paramètres</a>
760
- <a href="#" class="block px-4 py-2 text-gray-700 hover:bg-gray-100 border-t transition">Déconnexion</a>
761
- </div>
762
- </div>
763
  </div>
 
 
764
  </div>
765
- </header>
 
766
 
767
- <!-- Dashboard Content -->
768
- <div class="container mx-auto px-4 py-8">
769
- <div class="flex flex-col md:flex-row gap-8">
770
- <!-- Sidebar -->
771
- <div class="md:w-1/4">
772
- <div class="bg-white rounded-lg shadow-md p-6 mb-6 animate__animated animate__fadeInLeft">
773
- <div class="text-center mb-6">
774
- <img src="https://randomuser.me/api/portraits/men/32.jpg" alt="Profile" class="w-24 h-24 rounded-full mx-auto mb-4 object-cover border-4 border-indigo-100">
775
- <h3 class="text-xl font-bold">Jean Dupont</h3>
776
- <p class="text-gray-600">Membre Premium</p>
777
- </div>
778
- <div class="mb-4">
779
- <div class="flex justify-between mb-1">
780
- <span class="text-sm font-medium">Progression du mois</span>
781
- <span class="text-sm font-medium">65%</span>
782
- </div>
783
- <div class="w-full bg-gray-200 rounded-full h-2.5">
784
- <div class="bg-indigo-600 h-2.5 rounded-full animate__animated animate__fadeInRight" style="width: 65%"></div>
785
- </div>
786
- </div>
787
- <div class="space-y-2">
788
- <a href="#" class="flex items-center p-2 text-indigo-600 bg-indigo-50 rounded-lg transition transform hover:translate-x-2">
789
- <i class="fas fa-tachometer-alt mr-3"></i> Tableau de bord
790
- </a>
791
- <a href="#" class="flex items-center p-2 text-gray-600 hover:bg-gray-100 rounded-lg transition transform hover:translate-x-2">
792
- <i class="fas fa-book mr-3"></i> Mes cours
793
- </a>
794
- <a href="#" class="flex items-center p-2 text-gray-600 hover:bg-gray-100 rounded-lg transition transform hover:translate-x-2">
795
- <i class="fas fa-certificate mr-3"></i> Certificats
796
- </a>
797
- <a href="#" class="flex items-center p-2 text-gray-600 hover:bg-gray-100 rounded-lg transition transform hover:translate-x-2">
798
- <i class="fas fa-credit-card mr-3"></i> Paiements
799
- </a>
800
- <a href="#" class="flex items-center p-2 text-gray-600 hover:bg-gray-100 rounded-lg transition transform hover:translate-x-2">
801
- <i class="fas fa-cog mr-3"></i> Paramètres
802
- </a>
803
- </div>
804
  </div>
805
- </div>
806
-
807
- <!-- Main Content -->
808
- <div class="md:w-3/4">
809
- <!-- Welcome Card -->
810
- <div class="bg-gradient-to-r from-indigo-500 to-purple-600 rounded-xl shadow-md p-6 text-white mb-6 animate__animated animate__fadeIn">
811
- <h2 class="text-2xl font-bold mb-2">Bon retour, Jean!</h2>
812
- <p class="mb-4">Continuez votre apprentissage là où vous vous êtes arrêté.</p>
813
- <div class="flex items-center">
814
- <div class="bg-white text-indigo-600 p-2 rounded-full mr-4 animate__animated animate__pulse animate__infinite">
815
- <i class="fas fa-book-open text-xl"></i>
816
- </div>
817
- <div>
818
- <p class="font-medium">Développement Web Fullstack</p>
819
- <p class="text-sm">Module 5: Introduction à React</p>
820
- </div>
821
- <button class="ml-auto bg-white text-indigo-600 px-4 py-2 rounded-lg font-medium transition transform hover:scale-105">
822
- Continuer
823
- </button>
824
- </div>
825
  </div>
826
-
827
- <!-- Courses in Progress -->
828
- <div class="bg-white rounded-xl shadow-md p-6 mb-6 animate__animated animate__fadeIn" style="animation-delay: 0.1s">
829
- <div class="flex justify-between items-center mb-6">
830
- <h3 class="text-xl font-bold">Mes cours en cours</h3>
831
- <a href="#" class="text-indigo-600 hover:underline transition">Voir tout</a>
832
- </div>
833
- <div class="grid grid-cols-1 md:grid-cols-2 gap-4">
834
- <!-- Course 1 -->
835
- <div class="border rounded-lg p-4 flex transition transform hover:scale-105 card-hover">
836
- <img src="https://images.unsplash.com/photo-1547658719-da2b51169166?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1528&q=80" alt="Web Development" class="w-20 h-20 object-cover rounded-lg mr-4">
837
- <div>
838
- <h4 class="font-bold">Développement Web Fullstack</h4>
839
- <div class="flex items-center mt-2 mb-1">
840
- <div class="w-full bg-gray-200 rounded-full h-1.5">
841
- <div class="bg-green-500 h-1.5 rounded-full animate__animated animate__fadeInLeft" style="width: 45%"></div>
842
- </div>
843
- <span class="text-xs ml-2">45%</span>
844
- </div>
845
- <p class="text-xs text-gray-500">Dernière activité: il y a 2 jours</p>
846
- </div>
847
- </div>
848
- <!-- Course 2 -->
849
- <div class="border rounded-lg p-4 flex transition transform hover:scale-105 card-hover">
850
- <img src="https://images.unsplash.com/photo-1551288049-bebda4e38f71?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80" alt="Data Science" class="w-20 h-20 object-cover rounded-lg mr-4">
851
- <div>
852
- <h4 class="font-bold">Data Science pour Débutants</h4>
853
- <div class="flex items-center mt-2 mb-1">
854
- <div class="w-full bg-gray-200 rounded-full h-1.5">
855
- <div class="bg-green-500 h-1.5 rounded-full animate__animated animate__fadeInLeft" style="width: 78%"></div>
856
- </div>
857
- <span class="text-xs ml-2">78%</span>
858
- </div>
859
- <p class="text-xs text-gray-500">Dernière activité: aujourd'hui</p>
860
- </div>
861
- </div>
862
- </div>
863
  </div>
864
-
865
- <!-- Payment History -->
866
- <div class="bg-white rounded-xl shadow-md p-6 animate__animated animate__fadeIn" style="animation-delay: 0.2s">
867
- <div class="flex justify-between items-center mb-6">
868
- <h3 class="text-xl font-bold">Historique des paiements</h3>
869
- <div class="flex space-x-2">
870
- <button onclick="showStripePayment()" class="bg-purple-600 hover:bg-purple-700 text-white px-4 py-2 rounded-lg font-medium text-sm transition transform hover:scale-105 shadow-md glow">
871
- <i class="fab fa-cc-stripe mr-1"></i> Ajouter carte
872
- </button>
873
- <button onclick="showPaypalPayment()" class="bg-blue-600 hover:bg-blue-700 text-white px-4 py-2 rounded-lg font-medium text-sm transition transform hover:scale-105 shadow-md glow">
874
- <i class="fab fa-paypal mr-1"></i> Lier PayPal
875
- </button>
876
- </div>
877
- </div>
878
- <div class="overflow-x-auto">
879
- <table class="min-w-full divide-y divide-gray-200">
880
- <thead class="bg-gray-50">
881
- <tr>
882
- <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Date</th>
883
- <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Méthode</th>
884
- <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Montant</th>
885
- <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Statut</th>
886
- </tr>
887
- </thead>
888
- <tbody class="bg-white divide-y divide-gray-200">
889
- <tr class="transition transform hover:bg-gray-50">
890
- <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">15/10/2023</td>
891
- <td class="px-6 py-4 whitespace-nowrap">
892
- <div class="flex items-center">
893
- <i class="fab fa-cc-stripe text-purple-600 mr-2"></i>
894
- <span class="text-sm">Stripe</span>
895
- </div>
896
- </td>
897
- <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">€19.99</td>
898
- <td class="px-6 py-4 whitespace-nowrap">
899
- <span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">Payé</span>
900
- </td>
901
- </tr>
902
- <tr class="transition transform hover:bg-gray-50">
903
- <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">15/09/2023</td>
904
- <td class="px-6 py-4 whitespace-nowrap">
905
- <div class="flex items-center">
906
- <i class="fab fa-paypal text-blue-600 mr-2"></i>
907
- <span class="text-sm">PayPal</span>
908
- </div>
909
- </td>
910
- <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">€19.99</td>
911
- <td class="px-6 py-4 whitespace-nowrap">
912
- <span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">Payé</span>
913
- </td>
914
- </tr>
915
- <tr class="transition transform hover:bg-gray-50">
916
- <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">15/08/2023</td>
917
- <td class="px-6 py-4 whitespace-nowrap">
918
- <div class="flex items-center">
919
- <i class="fab fa-cc-stripe text-purple-600 mr-2"></i>
920
- <span class="text-sm">Stripe</span>
921
- </div>
922
- </td>
923
- <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">€19.99</td>
924
- <td class="px-6 py-4 whitespace-nowrap">
925
- <span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">Payé</span>
926
- </td>
927
- </tr>
928
- </tbody>
929
- </table>
930
- </div>
931
- </div>
932
- </div>
933
- </div>
934
  </div>
 
935
  </div>
 
936
  </div>
 
937
 
938
- <!-- Chatbot -->
939
- <div id="chatbot" class="fixed bottom-6 right-6 z-40 animate__animated animate__fadeInUp">
940
- <div id="chatbotButton" onclick="toggleChatbot()" class="bg-indigo-600 text-white w-16 h-16 rounded-full flex items-center justify-center shadow-lg cursor-pointer hover:bg-indigo-700 transition transform hover:scale-110 animate__animated animate__pulse animate__infinite">
941
- <i class="fas fa-robot text-2xl"></i>
 
 
 
 
 
 
 
 
 
 
 
 
 
942
  </div>
943
- <div id="chatbotWindow" class="hidden absolute bottom-20 right-0 w-80 bg-white rounded-t-xl shadow-xl border border-gray-200 animate__animated animate__fadeInUp">
944
- <div class="bg-indigo-600 text-white p-4 rounded-t-xl flex justify-between items-center">
945
- <h3 class="font-bold">Assistant LearnHub</h3>
946
- <button onclick="toggleChatbot()" class="text-white hover:text-gray-200 transition transform hover:rotate-90">
947
- <i class="fas fa-times"></i>
948
- </button>
949
- </div>
950
- <div id="chatbotMessages" class="p-4 h-60 overflow-y-auto">
951
- <div class="flex mb-4">
952
- <div class="bg-indigo-100 rounded-lg p-3 max-w-xs animate__animated animate__fadeInLeft">
953
- <p class="text-sm">Bonjour! Je suis l'assistant LearnHub. Comment puis-je vous aider aujourd'hui?</p>
954
- </div>
955
- </div>
956
- </div>
957
- <div class="p-4 border-t">
958
- <div class="flex">
959
- <input type="text" id="chatbotInput" placeholder="Tapez votre message..." class="flex-grow px-4 py-2 border rounded-l-lg focus:outline-none focus:ring-1 focus:ring-indigo-600 transition">
960
- <button onclick="sendChatbotMessage()" class="bg-indigo-600 text-white px-4 py-2 rounded-r-lg hover:bg-indigo-700 transition transform hover:scale-105">
961
- <i class="fas fa-paper-plane"></i>
962
- </button>
963
- </div>
964
- </div>
965
  </div>
 
966
  </div>
 
967
 
968
- <script>
969
- // Global variables
970
- let cart = [];
971
- let isLoggedIn = false;
972
 
973
- // Toggle mobile menu
974
- function toggleMobileMenu() {
975
- document.getElementById('mobileMenu').classList.toggle('hidden');
976
- }
977
 
978
- // Toggle shopping cart
979
- function toggleCart() {
980
- document.getElementById('cartSidebar').classList.toggle('translate-x-full');
981
- document.getElementById('cartOverlay').classList.toggle('hidden');
982
- }
983
 
984
- // Toggle auth modal
985
- function toggleAuthModal() {
986
- document.getElementById('authModal').classList.toggle('hidden');
987
- }
988
 
989
- // Switch between login and register tabs
990
- function switchAuthTab(tab) {
991
- if (tab === 'login') {
992
- document.getElementById('loginForm').classList.remove('hidden');
993
- document.getElementById('registerForm').classList.add('hidden');
994
- document.getElementById('loginTab').classList.add('border-indigo-600', 'text-indigo-600');
995
- document.getElementById('loginTab').classList.remove('text-gray-500');
996
- document.getElementById('registerTab').classList.remove('border-indigo-600', 'text-indigo-600');
997
- document.getElementById('registerTab').classList.add('text-gray-500');
998
- } else {
999
- document.getElementById('loginForm').classList.add('hidden');
1000
- document.getElementById('registerForm').classList.remove('hidden');
1001
- document.getElementById('registerTab').classList.add('border-indigo-600', 'text-indigo-600');
1002
- document.getElementById('registerTab').classList.remove('text-gray-500');
1003
- document.getElementById('loginTab').classList.remove('border-indigo-600', 'text-indigo-600');
1004
- document.getElementById('loginTab').classList.add('text-gray-500');
1005
- }
1006
- }
1007
 
1008
- // Login function
1009
- function login() {
1010
- const email = document.getElementById('loginEmail').value;
1011
- const password = document.getElementById('loginPassword').value;
1012
-
1013
- if (email && password) {
1014
- // In a real app, you would validate credentials with your backend
1015
- isLoggedIn = true;
1016
- document.getElementById('authModal').classList.add('hidden');
1017
- showDashboard();
1018
-
1019
- // Update UI for logged in user
1020
- document.querySelector('nav button:nth-of-type(2)').innerHTML = '<i class="fas fa-user mr-2"></i>Mon compte';
1021
- } else {
1022
- alert('Veuillez entrer un email et un mot de passe valides.');
1023
- }
1024
- }
1025
 
1026
- // Register function
1027
- function register() {
1028
- const name = document.getElementById('registerName').value;
1029
- const email = document.getElementById('registerEmail').value;
1030
- const password = document.getElementById('registerPassword').value;
1031
-
1032
- if (name && email && password) {
1033
- // In a real app, you would send this data to your backend
1034
- isLoggedIn = true;
1035
- document.getElementById('authModal').classList.add('hidden');
1036
- showDashboard();
1037
-
1038
- // Update UI for logged in user
1039
- document.querySelector('nav button:nth-of-type(2)').innerHTML = '<i class="fas fa-user mr-2"></i>Mon compte';
1040
- } else {
1041
- alert('Veuillez remplir tous les champs.');
1042
- }
1043
- }
1044
 
1045
- // Show dashboard
1046
- function showDashboard() {
1047
- document.getElementById('dashboardModal').classList.remove('hidden');
1048
- }
1049
 
1050
- // Close dashboard
1051
- function closeDashboard() {
1052
- document.getElementById('dashboardModal').classList.add('hidden');
1053
- }
1054
 
1055
- // Toggle profile dropdown
1056
- function toggleProfileDropdown() {
1057
- document.getElementById('profileDropdown').classList.toggle('hidden');
1058
- }
1059
 
1060
- // Toggle notifications
1061
- function toggleNotifications() {
1062
- // Implement notification dropdown
1063
- alert('Notifications dropdown would appear here');
1064
- }
1065
 
1066
- // Add to cart function
1067
- function addToCart(name, price, id) {
1068
- if (!isLoggedIn) {
1069
- alert('Veuillez vous connecter pour ajouter des articles à votre panier.');
1070
- toggleAuthModal();
1071
- return;
1072
- }
1073
-
1074
- const existingItem = cart.find(item => item.id === id);
1075
-
1076
- if (existingItem) {
1077
- existingItem.quantity += 1;
1078
- } else {
1079
- cart.push({
1080
- id: id,
1081
- name: name,
1082
- price: price,
1083
- quantity: 1
1084
- });
1085
- }
1086
-
1087
- updateCartUI();
1088
- toggleCart();
1089
- }
1090
 
1091
- // Update cart UI
1092
- function updateCartUI() {
1093
- const cartItemsContainer = document.getElementById('cartItems');
1094
- const cartCount = document.getElementById('cartCount');
1095
- const cartTotal = document.getElementById('cartTotal');
1096
-
1097
- // Update cart count
1098
- const totalItems = cart.reduce((sum, item) => sum + item.quantity, 0);
1099
- cartCount.textContent = totalItems;
1100
-
1101
- // Update cart items
1102
- if (cart.length === 0) {
1103
- cartItemsContainer.innerHTML = `
1104
- <div class="text-center text-gray-500 py-8">
1105
- <i class="fas fa-shopping-cart text-4xl mb-4 animate__animated animate__pulse animate__infinite"></i>
1106
- <p>Votre panier est vide</p>
1107
- </div>
1108
- `;
1109
- cartTotal.textContent = '€0.00';
1110
- } else {
1111
- let itemsHTML = '';
1112
- let total = 0;
1113
-
1114
- cart.forEach(item => {
1115
- const itemTotal = item.price * item.quantity;
1116
- total += itemTotal;
1117
-
1118
- itemsHTML += `
1119
- <div class="flex justify-between items-center py-4 border-b animate__animated animate__fadeIn">
1120
- <div>
1121
- <h4 class="font-medium">${item.name}</h4>
1122
- <p class="text-sm text-gray-500">${item.price.toFixed(2)}€</p>
1123
- </div>
1124
- <div class="flex items-center">
1125
- <button onclick="updateQuantity('${item.id}', -1)" class="bg-gray-200 text-gray-700 px-2 py-1 rounded-l transition hover:bg-gray-300">
1126
- <i class="fas fa-minus"></i>
1127
- </button>
1128
- <span class="bg-gray-100 px-3 py-1">${item.quantity}</span>
1129
- <button onclick="updateQuantity('${item.id}', 1)" class="bg-gray-200 text-gray-700 px-2 py-1 rounded-r transition hover:bg-gray-300">
1130
- <i class="fas fa-plus"></i>
1131
- </button>
1132
- <button onclick="removeFromCart('${item.id}')" class="ml-4 text-red-500 transition hover:text-red-700">
1133
- <i class="fas fa-trash"></i>
1134
- </button>
1135
- </div>
1136
- </div>
1137
- `;
1138
- });
1139
-
1140
- cartItemsContainer.innerHTML = itemsHTML;
1141
- cartTotal.textContent = `€${total.toFixed(2)}`;
1142
- }
1143
- }
1144
 
1145
- // Update item quantity
1146
- function updateQuantity(id, change) {
1147
- const item =
1148
  </html>
 
379
  <div class="p-6">
380
  <ul class="space-y-3 mb-6">
381
  <li class="flex items-center">
382
+ <i class="fas fa-check text-green-500 mr-2"></i>
383
+ <span>Tous les avantages Premium</span>
384
+ </li>
385
+ <li class="flex items-center">
386
+ <i class="fas fa-check text-green-500 mr-2"></i>
387
+ <span>Accès aux projets avancés</span>
388
+ </li>
389
+ <li class="flex items-center">
390
+ <i class="fas fa-check text-green-500 mr-2"></i>
391
+ <span>Mentorat individuel</span>
392
+ </li>
393
+ <li class="flex items-center">
394
+ <i class="fas fa-check text-green-500 mr-2"></i>
395
+ <span>Portfolio professionnel</span>
396
+ </li>
397
+ </ul>
398
+ <button onclick="selectPlan('pro')" class="w-full bg-purple-600 hover:bg-purple-700 text-white py-3 rounded-lg font-bold transition transform hover:scale-105 shadow-md glow">
399
+ Choisir ce plan
400
+ </button>
401
+ </div>
402
+ </div>
403
+ </div>
404
+ </div>
405
+ </section>
406
+
407
+ <!-- Testimonials -->
408
+ <section class="py-16 bg-gray-50">
409
+ <div class="container mx-auto px-4">
410
+ <div class="text-center mb-12 animate__animated animate__fadeIn">
411
+ <h2 class="text-3xl font-bold mb-2">Ce que disent nos étudiants</h2>
412
+ <div class="w-20 h-1 bg-indigo-600 mx-auto mt-4"></div>
413
+ </div>
414
+
415
+ <div class="grid grid-cols-1 md:grid-cols-3 gap-8">
416
+ <!-- Testimonial 1 -->
417
+ <div class="bg-white p-6 rounded-xl shadow-sm card-hover animate__animated animate__fadeIn" style="animation-delay: 0.1s">
418
+ <div class="flex items-center mb-4">
419
+ <img src="https://randomuser.me/api/portraits/women/32.jpg" alt="Marie D." class="w-12 h-12 rounded-full mr-4 object-cover">
420
+ <div>
421
+ <h4 class="font-bold">Marie D.</h4>
422
+ <div class="flex text-yellow-400">
423
+ <i class="fas fa-star"></i>
424
+ <i class="fas fa-star"></i>
425
+ <i class="fas fa-star"></i>
426
+ <i class="fas fa-star"></i>
427
+ <i class="fas fa-star"></i>
428
+ </div>
429
  </div>
430
+ </div>
431
+ <p class="text-gray-600">"Grâce au cours de développement web, j'ai pu décrocher mon premier emploi en tant que développeuse front-end. Les projets pratiques sont excellents!"</p>
432
  </div>
 
433
 
434
+ <!-- Testimonial 2 -->
435
+ <div class="bg-white p-6 rounded-xl shadow-sm card-hover animate__animated animate__fadeIn" style="animation-delay: 0.2s">
436
+ <div class="flex items-center mb-4">
437
+ <img src="https://randomuser.me/api/portraits/men/75.jpg" alt="Jean P." class="w-12 h-12 rounded-full mr-4 object-cover">
438
+ <div>
439
+ <h4 class="font-bold">Jean P.</h4>
440
+ <div class="flex text-yellow-400">
441
+ <i class="fas fa-star"></i>
442
+ <i class="fas fa-star"></i>
443
+ <i class="fas fa-star"></i>
444
+ <i class="fas fa-star"></i>
445
+ <i class="fas fa-star-half-alt"></i>
446
+ </div>
447
  </div>
448
+ </div>
449
+ <p class="text-gray-600">"La qualité des cours de data science est exceptionnelle. J'ai particulièrement apprécié les exercices pratiques avec des datasets réels."</p>
450
+ </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
451
 
452
+ <!-- Testimonial 3 -->
453
+ <div class="bg-white p-6 rounded-xl shadow-sm card-hover animate__animated animate__fadeIn" style="animation-delay: 0.3s">
454
+ <div class="flex items-center mb-4">
455
+ <img src="https://randomuser.me/api/portraits/women/63.jpg" alt="Sophie L." class="w-12 h-12 rounded-full mr-4 object-cover">
456
+ <div>
457
+ <h4 class="font-bold">Sophie L.</h4>
458
+ <div class="flex text-yellow-400">
459
+ <i class="fas fa-star"></i>
460
+ <i class="fas fa-star"></i>
461
+ <i class="fas fa-star"></i>
462
+ <i class="fas fa-star"></i>
463
+ <i class="fas fa-star"></i>
464
+ </div>
465
+ </div>
466
+ </div>
467
+ <p class="text-gray-600">"Le mentorat professionnel m'a aidé à créer un portfolio impressionnant qui a retenu l'attention des recruteurs. Je recommande vivement!"</p>
468
+ </div>
469
+ </div>
470
+ </div>
471
+ </section>
472
 
473
+ <!-- CTA Section -->
474
+ <section class="py-16 gradient-bg text-white relative overflow-hidden">
475
+ <div class="absolute top-0 left-0 w-full h-full opacity-10">
476
+ <div class="absolute top-1/3 left-1/4 w-64 h-64 rounded-full bg-purple-300 mix-blend-multiply filter blur-3xl opacity-70 animate__animated animate__pulse animate__infinite"></div>
477
+ <div class="absolute bottom-1/4 right-1/4 w-96 h-96 rounded-full bg-blue-300 mix-blend-multiply filter blur-3xl opacity-70 animate__animated animate__pulse animate__infinite animate__slower"></div>
478
+ </div>
479
+ <div class="container mx-auto px-4 text-center relative z-10 animate__animated animate__fadeIn">
480
+ <h2 class="text-3xl font-bold mb-4">Prêt à transformer votre carrière?</h2>
481
+ <p class="text-xl mb-8 max-w-2xl mx-auto">Rejoignez plus de 50,000 étudiants qui ont déjà commencé leur voyage d'apprentissage avec LearnHub.</p>
482
+ <button onclick="scrollToPricing()" class="bg-white text-indigo-600 hover:bg-gray-100 px-8 py-4 rounded-lg font-bold text-lg transition shadow-lg pulse transform hover:scale-105">
483
+ <i class="fas fa-rocket mr-2"></i>Commencer maintenant
484
+ </button>
485
+ </div>
486
+ </section>
487
+
488
+ <!-- Footer -->
489
+ <footer class="bg-gray-900 text-white py-12">
490
+ <div class="container mx-auto px-4">
491
+ <div class="grid grid-cols-1 md:grid-cols-4 gap-8">
492
+ <div class="animate__animated animate__fadeIn">
493
+ <h3 class="text-xl font-bold mb-4">
494
+ <i class="fas fa-graduation-cap mr-2"></i>LearnHub
495
+ </h3>
496
+ <p class="text-gray-400">La plateforme d'apprentissage en ligne la plus innovante pour développer vos compétences.</p>
497
+ </div>
498
+ <div class="animate__animated animate__fadeIn" style="animation-delay: 0.1s">
499
+ <h4 class="font-bold mb-4">Navigation</h4>
500
+ <ul class="space-y-2">
501
+ <li><a href="#" class="text-gray-400 hover:text-white transition">Accueil</a></li>
502
+ <li><a href="#courses" class="text-gray-400 hover:text-white transition">Cours</a></li>
503
+ <li><a href="#features" class="text-gray-400 hover:text-white transition">Fonctionnalités</a></li>
504
+ <li><a href="#pricing" class="text-gray-400 hover:text-white transition">Tarifs</a></li>
505
+ </ul>
506
+ </div>
507
+ <div class="animate__animated animate__fadeIn" style="animation-delay: 0.2s">
508
+ <h4 class="font-bold mb-4">Support</h4>
509
+ <ul class="space-y-2">
510
+ <li><a href="#" class="text-gray-400 hover:text-white transition">Centre d'aide</a></li>
511
+ <li><a href="#" class="text-gray-400 hover:text-white transition">Contactez-nous</a></li>
512
+ <li><a href="#" class="text-gray-400 hover:text-white transition">FAQ</a></li>
513
+ <li><a href="#" class="text-gray-400 hover:text-white transition">Conditions d'utilisation</a></li>
514
+ </ul>
515
+ </div>
516
+ <div class="animate__animated animate__fadeIn" style="animation-delay: 0.3s">
517
+ <h4 class="font-bold mb-4">Suivez-nous</h4>
518
+ <div class="flex space-x-4">
519
+ <a href="#" class="text-gray-400 hover:text-white text-xl transition transform hover:scale-125"><i class="fab fa-facebook"></i></a>
520
+ <a href="#" class="text-gray-400 hover:text-white text-xl transition transform hover:scale-125"><i class="fab fa-twitter"></i></a>
521
+ <a href="#" class="text-gray-400 hover:text-white text-xl transition transform hover:scale-125"><i class="fab fa-instagram"></i></a>
522
+ <a href="#" class="text-gray-400 hover:text-white text-xl transition transform hover:scale-125"><i class="fab fa-linkedin"></i></a>
523
+ <a href="#" class="text-gray-400 hover:text-white text-xl transition transform hover:scale-125"><i class="fab fa-youtube"></i></a>
524
+ </div>
525
+ <div class="mt-4">
526
+ <h4 class="font-bold mb-2">Paiements sécurisés</h4>
527
+ <div class="flex space-x-2">
528
+ <i class="fab fa-cc-visa text-2xl text-gray-400 hover:text-white transition transform hover:scale-110"></i>
529
+ <i class="fab fa-cc-mastercard text-2xl text-gray-400 hover:text-white transition transform hover:scale-110"></i>
530
+ <i class="fab fa-cc-paypal text-2xl text-gray-400 hover:text-white transition transform hover:scale-110"></i>
531
+ <i class="fab fa-cc-stripe text-2xl text-gray-400 hover:text-white transition transform hover:scale-110"></i>
532
  </div>
533
+ </div>
534
  </div>
535
+ </div>
536
+ <div class="border-t border-gray-800 mt-8 pt-8 text-center text-gray-400 animate__animated animate__fadeIn">
537
+ <p>© 2023 LearnHub. Tous droits réservés.</p>
538
+ </div>
539
+ </div>
540
+ </footer>
541
 
542
+ <!-- Shopping Cart Sidebar -->
543
+ <div id="cartSidebar" class="fixed top-0 right-0 h-full w-full md:w-96 bg-white shadow-lg transform translate-x-full transition-transform duration-300 z-50">
544
+ <div class="p-6 h-full flex flex-col">
545
+ <div class="flex justify-between items-center mb-6">
546
+ <h3 class="text-xl font-bold">
547
+ <i class="fas fa-shopping-cart mr-2"></i>Votre panier
548
+ </h3>
549
+ <button onclick="toggleCart()" class="text-gray-500 hover:text-gray-700 transition transform hover:rotate-90">
550
+ <i class="fas fa-times text-xl"></i>
551
+ </button>
552
+ </div>
553
+
554
+ <div id="cartItems" class="flex-grow overflow-y-auto mb-4">
555
+ <!-- Cart items will be added here dynamically -->
556
+ <div class="text-center text-gray-500 py-8">
557
+ <i class="fas fa-shopping-cart text-4xl mb-4 animate__animated animate__pulse animate__infinite"></i>
558
+ <p>Votre panier est vide</p>
559
  </div>
560
+ </div>
561
+
562
+ <div class="border-t pt-4">
563
+ <div class="flex justify-between mb-2">
564
+ <span class="font-bold">Total:</span>
565
+ <span id="cartTotal" class="font-bold">€0.00</span>
566
+ </div>
567
+ <button onclick="checkout()" class="w-full bg-indigo-600 hover:bg-indigo-700 text-white py-3 rounded-lg font-bold mb-2 transform hover:scale-105 shadow-md glow">
568
+ <i class="fas fa-lock mr-2"></i>Payer maintenant
569
+ </button>
570
+ <div class="flex justify-center space-x-4 mt-4">
571
+ <i class="fab fa-cc-paypal text-3xl text-blue-600"></i>
572
+ <i class="fab fa-cc-stripe text-3xl text-purple-600"></i>
573
+ </div>
574
+ </div>
575
+ </div>
576
+ </div>
577
+ <div id="cartOverlay" class="hidden fixed inset-0 bg-black bg-opacity-50 z-40" onclick="toggleCart()"></div>
578
+
579
+ <!-- Auth Modal -->
580
+ <div id="authModal" class="hidden fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50">
581
+ <div class="bg-white rounded-xl shadow-xl w-full max-w-md mx-4 animate__animated animate__zoomIn">
582
+ <div class="p-6">
583
+ <div class="flex justify-between items-center mb-6">
584
+ <h3 class="text-2xl font-bold">Connexion / Inscription</h3>
585
+ <button onclick="toggleAuthModal()" class="text-gray-500 hover:text-gray-700 transition transform hover:rotate-90">
586
+ <i class="fas fa-times"></i>
587
+ </button>
588
+ </div>
589
+
590
+ <div class="flex border-b mb-6">
591
+ <button id="loginTab" onclick="switchAuthTab('login')" class="px-4 py-2 font-medium border-b-2 border-indigo-600 text-indigo-600">Connexion</button>
592
+ <button id="registerTab" onclick="switchAuthTab('register')" class="px-4 py-2 font-medium text-gray-500">Inscription</button>
593
+ </div>
594
+
595
+ <!-- Login Form -->
596
+ <div id="loginForm">
597
+ <div class="mb-4">
598
+ <label class="block text-gray-700 mb-2" for="loginEmail">Email</label>
599
+ <input type="email" id="loginEmail" class="w-full px-4 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-600 transition">
600
+ </div>
601
+ <div class="mb-6">
602
+ <label class="block text-gray-700 mb-2" for="loginPassword">Mot de passe</label>
603
+ <input type="password" id="loginPassword" class="w-full px-4 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-600 transition">
604
+ </div>
605
+ <button onclick="login()" class="w-full bg-indigo-600 hover:bg-indigo-700 text-white py-3 rounded-lg font-bold transition mb-4 transform hover:scale-105 shadow-md glow">
606
+ Se connecter
607
+ </button>
608
+ <div class="text-center">
609
+ <a href="#" class="text-indigo-600 hover:underline">Mot de passe oublié?</a>
610
+ </div>
611
+ </div>
612
+
613
+ <!-- Register Form -->
614
+ <div id="registerForm" class="hidden">
615
+ <div class="mb-4">
616
+ <label class="block text-gray-700 mb-2" for="registerName">Nom complet</label>
617
+ <input type="text" id="registerName" class="w-full px-4 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-600 transition">
618
+ </div>
619
+ <div class="mb-4">
620
+ <label class="block text-gray-700 mb-2" for="registerEmail">Email</label>
621
+ <input type="email" id="registerEmail" class="w-full px-4 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-600 transition">
622
+ </div>
623
+ <div class="mb-6">
624
+ <label class="block text-gray-700 mb-2" for="registerPassword">Mot de passe</label>
625
+ <input type="password" id="registerPassword" class="w-full px-4 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-600 transition">
626
+ </div>
627
+ <div class="mb-6">
628
+ <label class="flex items-center">
629
+ <input type="checkbox" class="form-checkbox h-5 w-5 text-indigo-600 rounded focus:ring-indigo-500">
630
+ <span class="ml-2 text-gray-700">J'accepte les conditions d'utilisation</span>
631
+ </label>
632
+ </div>
633
+ <button onclick="register()" class="w-full bg-indigo-600 hover:bg-indigo-700 text-white py-3 rounded-lg font-bold transition transform hover:scale-105 shadow-md glow">
634
+ S'inscrire
635
+ </button>
636
+ </div>
637
+
638
+ <div class="mt-6 pt-6 border-t text-center">
639
+ <p class="text-gray-600">Ou connectez-vous avec</p>
640
+ <div class="flex justify-center space-x-4 mt-4">
641
+ <button class="bg-blue-800 text-white p-2 rounded-full transition transform hover:scale-110">
642
+ <i class="fab fa-facebook-f"></i>
643
+ </button>
644
+ <button class="bg-red-600 text-white p-2 rounded-full transition transform hover:scale-110">
645
+ <i class="fab fa-google"></i>
646
+ </button>
647
+ <button class="bg-black text-white p-2 rounded-full transition transform hover:scale-110">
648
+ <i class="fab fa-apple"></i>
649
  </button>
650
+ </div>
651
  </div>
652
+ </div>
653
+ </div>
654
+ </div>
655
 
656
+ <!-- Payment Modal -->
657
+ <div id="paymentModal" class="hidden fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50">
658
+ <div class="bg-white rounded-xl shadow-xl w-full max-w-md mx-4 animate__animated animate__zoomIn">
659
+ <div class="p-6">
660
+ <div class="flex justify-between items-center mb-6">
661
+ <h3 class="text-2xl font-bold">Paiement sécurisé</h3>
662
+ <button onclick="closePaymentModal()" class="text-gray-500 hover:text-gray-700 transition transform hover:rotate-90">
663
+ <i class="fas fa-times"></i>
664
+ </button>
665
+ </div>
666
+
667
+ <div class="mb-6">
668
+ <div class="flex justify-between mb-2">
669
+ <span class="text-gray-700">Total à payer:</span>
670
+ <span id="paymentTotal" class="font-bold">€0.00</span>
671
+ </div>
672
+ <div class="bg-gray-100 p-4 rounded-lg">
673
+ <p class="text-sm text-gray-600">
674
+ <i class="fas fa-lock text-green-500 mr-1"></i>
675
+ Votre paiement est sécurisé et crypté.
676
+ </p>
677
+ </div>
678
+ </div>
679
+
680
+ <div class="mb-6">
681
+ <div class="flex border-b mb-4">
682
+ <button id="stripeTab" onclick="switchPaymentTab('stripe')" class="px-4 py-2 font-medium border-b-2 border-purple-600 text-purple-600">Carte Bancaire</button>
683
+ <button id="paypalTab" onclick="switchPaymentTab('paypal')" class="px-4 py-2 font-medium text-gray-500">PayPal</button>
684
+ </div>
685
+
686
+ <!-- Stripe Payment Form -->
687
+ <div id="stripePayment">
688
+ <div class="mb-4">
689
+ <label class="block text-gray-700 mb-2" for="cardNumber">Numéro de carte</label>
690
+ <div class="relative">
691
+ <input type="text" id="cardNumber" placeholder="1234 5678 9012 3456" class="w-full px-4 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-purple-600 transition">
692
+ <div class="absolute right-3 top-3 flex space-x-1">
693
+ <i class="fab fa-cc-visa text-gray-400"></i>
694
+ <i class="fab fa-cc-mastercard text-gray-400"></i>
695
+ <i class="fab fa-cc-amex text-gray-400"></i>
 
 
 
 
 
 
696
  </div>
697
+ </div>
698
  </div>
699
+ <div class="grid grid-cols-2 gap-4 mb-4">
700
+ <div>
701
+ <label class="block text-gray-700 mb-2" for="expiryDate">Date d'expiration</label>
702
+ <input type="text" id="expiryDate" placeholder="MM/AA" class="w-full px-4 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-purple-600 transition">
703
+ </div>
704
+ <div>
705
+ <label class="block text-gray-700 mb-2" for="cvv">CVV</label>
706
+ <input type="text" id="cvv" placeholder="123" class="w-full px-4 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-purple-600 transition">
707
+ </div>
708
  </div>
709
+ <div class="mb-4">
710
+ <label class="block text-gray-700 mb-2" for="cardName">Nom sur la carte</label>
711
+ <input type="text" id="cardName" class="w-full px-4 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-purple-600 transition">
 
 
 
 
 
 
 
 
 
 
712
  </div>
713
+ <button onclick="processStripePayment()" class="w-full bg-purple-600 hover:bg-purple-700 text-white py-3 rounded-lg font-bold transition flex items-center justify-center transform hover:scale-105 shadow-md glow">
714
+ <i class="fab fa-cc-stripe text-xl mr-2"></i> Payer avec Stripe
715
+ </button>
716
+ </div>
717
+
718
+ <!-- PayPal Payment -->
719
+ <div id="paypalPayment" class="hidden">
720
+ <div class="bg-gray-100 p-4 rounded-lg mb-4">
721
+ <p class="text-sm text-gray-600">
722
+ Vous serez redirigé vers PayPal pour compléter votre paiement de manière sécurisée.
723
+ </p>
 
 
 
 
 
 
 
 
 
 
724
  </div>
725
+ <button onclick="processPaypalPayment()" class="w-full bg-blue-600 hover:bg-blue-700 text-white py-3 rounded-lg font-bold transition flex items-center justify-center transform hover:scale-105 shadow-md glow">
726
+ <i class="fab fa-paypal text-xl mr-2"></i> Payer avec PayPal
727
+ </button>
728
+ </div>
729
  </div>
730
+
731
+ <div class="text-center text-sm text-gray-500 mt-6">
732
+ <p>Nous ne stockons pas vos informations de paiement.</p>
733
+ </div>
734
+ </div>
735
  </div>
736
+ </div>
737
 
738
+ <!-- Dashboard Modal (shown after login) -->
739
+ <div id="dashboardModal" class="hidden fixed inset-0 bg-gray-100 z-50 overflow-y-auto">
740
+ <div class="min-h-screen">
741
+ <!-- Dashboard Header -->
742
+ <header class="bg-white shadow">
743
+ <div class="container mx-auto px-4 py-4 flex justify-between items-center">
744
+ <div class="text-xl font-bold text-indigo-600">
745
+ <i class="fas fa-graduation-cap mr-2"></i>LearnHub
746
+ </div>
747
+ <div class="flex items-center space-x-4">
748
+ <button onclick="toggleNotifications()" class="relative p-2 text-gray-600 hover:text-indigo-600 transition transform hover:scale-110">
749
+ <i class="fas fa-bell text-xl"></i>
750
+ <span class="absolute -top-1 -right-1 bg-red-500 text-white text-xs rounded-full h-5 w-5 flex items-center justify-center animate__animated animate__bounceIn">3</span>
751
+ </button>
752
+ <div class="relative">
753
+ <button onclick="toggleProfileDropdown()" class="flex items-center space-x-2">
754
+ <img src="https://randomuser.me/api/portraits/men/32.jpg" alt="Profile" class="w-10 h-10 rounded-full object-cover">
755
+ <span class="font-medium">Jean D.</span>
756
+ </button>
757
+ <div id="profileDropdown" class="hidden absolute right-0 mt-2 w-48 bg-white rounded-md shadow-lg py-1 z-50 animate__animated animate__fadeIn">
758
+ <a href="#" class="block px-4 py-2 text-gray-700 hover:bg-gray-100 transition">Mon profil</a>
759
+ <a href="#" class="block px-4 py-2 text-gray-700 hover:bg-gray-100 transition">Paramètres</a>
760
+ <a href="#" class="block px-4 py-2 text-gray-700 hover:bg-gray-100 border-t transition">Déconnexion</a>
761
+ </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
762
  </div>
763
+ </div>
764
  </div>
765
+ </header>
766
 
767
+ <!-- Dashboard Content -->
768
+ <div class="container mx-auto px-4 py-8">
769
+ <div class="flex flex-col md:flex-row gap-8">
770
+ <!-- Sidebar -->
771
+ <div class="md:w-1/4">
772
+ <div class="bg-white rounded-lg shadow-md p-6 mb-6 animate__animated animate__fadeInLeft">
773
+ <div class="text-center mb-6">
774
+ <img src="https://randomuser.me/api/portraits/men/32.jpg" alt="Profile" class="w-24 h-24 rounded-full mx-auto mb-4 object-cover border-4 border-indigo-100">
775
+ <h3 class="text-xl font-bold">Jean Dupont</h3>
776
+ <p class="text-gray-600">Membre Premium</p>
777
+ </div>
778
+ <div class="mb-4">
779
+ <div class="flex justify-between mb-1">
780
+ <span class="text-sm font-medium">Progression du mois</span>
781
+ <span class="text-sm font-medium">65%</span>
782
  </div>
783
+ <div class="w-full bg-gray-200 rounded-full h-2.5">
784
+ <div class="bg-indigo-600 h-2.5 rounded-full animate__animated animate__fadeInRight" style="width: 65%"></div>
 
 
 
 
 
 
 
 
 
 
785
  </div>
786
+ </div>
787
+ <div class="space-y-2">
788
+ <a href="#" class="flex items-center p-2 text-indigo-600 bg-indigo-50 rounded-lg transition transform hover:translate-x-2">
789
+ <i class="fas fa-tachometer-alt mr-3"></i> Tableau de bord
790
+ </a>
791
+ <a href="#" class="flex items-center p-2 text-gray-600 hover:bg-gray-100 rounded-lg transition transform hover:translate-x-2">
792
+ <i class="fas fa-book mr-3"></i> Mes cours
793
+ </a>
794
+ <a href="#" class="flex items-center p-2 text-gray-600 hover:bg-gray-100 rounded-lg transition transform hover:translate-x-2">
795
+ <i class="fas fa-certificate mr-3"></i> Certificats
796
+ </a>
797
+ <a href="#" class="flex items-center p-2 text-gray-600 hover:bg-gray-100 rounded-lg transition transform hover:translate-x-2">
798
+ <i class="fas fa-credit-card mr-3"></i> Paiements
799
+ </a>
800
+ <a href="#" class="flex items-center p-2 text-gray-600 hover:bg-gray-100 rounded-lg transition transform hover:translate-x-2">
801
+ <i class="fas fa-cog mr-3"></i> Paramètres
802
+ </a>
803
+ </div>
804
+ </div>
805
+ </div>
806
+
807
+ <!-- Main Content -->
808
+ <div class="md:w-3/4">
809
+ <!-- Welcome Card -->
810
+ <div class="bg-gradient-to-r from-indigo-500 to-purple-600 rounded-xl shadow-md p-6 text-white mb-6 animate__animated animate__fadeIn">
811
+ <h2 class="text-2xl font-bold mb-2">Bon retour, Jean!</h2>
812
+ <p class="mb-4">Continuez votre apprentissage là où vous vous êtes arrêté.</p>
813
+ <div class="flex items-center">
814
+ <div class="bg-white text-indigo-600 p-2 rounded-full mr-4 animate__animated animate__pulse animate__infinite">
815
+ <i class="fas fa-book-open text-xl"></i>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
816
  </div>
817
+ <div>
818
+ <p class="font-medium">Développement Web Fullstack</p>
819
+ <p class="text-sm">Module 5: Introduction à React</p>
820
  </div>
821
+ <button class="ml-auto bg-white text-indigo-600 px-4 py-2 rounded-lg font-medium transition transform hover:scale-105">
822
+ Continuer
823
+ </button>
824
+ </div>
825
  </div>
 
 
826
 
827
+ <!-- Courses in Progress -->
828
+ <div class="bg-white rounded-xl shadow-md p-6 mb-6 animate__animated animate__fadeIn" style="animation-delay: 0.1s">
829
+ <div class="flex justify-between items-center mb-6">
830
+ <h3 class="text-xl font-bold">Mes cours en cours</h3>
831
+ <a href="#" class="text-indigo-600 hover:underline transition">Voir tout</a>
832
+ </div>
833
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-4">
834
+ <!-- Course 1 -->
835
+ <div class="border rounded-lg p-4 flex transition transform hover:scale-105 card-hover">
836
+ <img src="https://images.unsplash.com/photo-1547658719-da2b51169166?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1528&q=80" alt="Web Development" class="w-20 h-20 object-cover rounded-lg mr-4">
837
+ <div>
838
+ <h4 class="font-bold">Développement Web Fullstack</h4>
839
+ <div class="flex items-center mt-2 mb-1">
840
+ <div class="w-full bg-gray-200 rounded-full h-1.5">
841
+ <div class="bg-green-500 h-1.5 rounded-full animate__animated animate__fadeInLeft" style="width: 45%"></div>
842
+ </div>
843
+ <span class="text-xs ml-2">45%</span>
844
  </div>
845
+ <p class="text-xs text-gray-500">Dernière activité: il y a 2 jours</p>
846
+ </div>
847
+ </div>
848
+ <!-- Course 2 -->
849
+ <div class="border rounded-lg p-4 flex transition transform hover:scale-105 card-hover">
850
+ <img src="https://images.unsplash.com/photo-1551288049-bebda4e38f71?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80" alt="Data Science" class="w-20 h-20 object-cover rounded-lg mr-4">
851
+ <div>
852
+ <h4 class="font-bold">Data Science pour Débutants</h4>
853
+ <div class="flex items-center mt-2 mb-1">
854
+ <div class="w-full bg-gray-200 rounded-full h-1.5">
855
+ <div class="bg-green-500 h-1.5 rounded-full animate__animated animate__fadeInLeft" style="width: 78%"></div>
856
+ </div>
857
+ <span class="text-xs ml-2">78%</span>
 
 
 
858
  </div>
859
+ <p class="text-xs text-gray-500">Dernière activité: aujourd'hui</p>
860
+ </div>
861
  </div>
862
+ </div>
863
+ </div>
864
 
865
+ <!-- Payment History -->
866
+ <div class="bg-white rounded-xl shadow-md p-6 animate__animated animate__fadeIn" style="animation-delay: 0.2s">
867
+ <div class="flex justify-between items-center mb-6">
868
+ <h3 class="text-xl font-bold">Historique des paiements</h3>
869
+ <div class="flex space-x-2">
870
+ <button onclick="showStripePayment()" class="bg-purple-600 hover:bg-purple-700 text-white px-4 py-2 rounded-lg font-medium text-sm transition transform hover:scale-105 shadow-md glow">
871
+ <i class="fab fa-cc-stripe mr-1"></i> Ajouter carte
872
+ </button>
873
+ <button onclick="showPaypalPayment()" class="bg-blue-600 hover:bg-blue-700 text-white px-4 py-2 rounded-lg font-medium text-sm transition transform hover:scale-105 shadow-md glow">
874
+ <i class="fab fa-paypal mr-1"></i> Lier PayPal
875
+ </button>
876
+ </div>
877
+ </div>
878
+ <div class="overflow-x-auto">
879
+ <table class="min-w-full divide-y divide-gray-200">
880
+ <thead class="bg-gray-50">
881
+ <tr>
882
+ <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Date</th>
883
+ <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Méthode</th>
884
+ <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Montant</th>
885
+ <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Statut</th>
886
+ </tr>
887
+ </thead>
888
+ <tbody class="bg-white divide-y divide-gray-200">
889
+ <tr class="transition transform hover:bg-gray-50">
890
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">15/10/2023</td>
891
+ <td class="px-6 py-4 whitespace-nowrap">
892
+ <div class="flex items-center">
893
+ <i class="fab fa-cc-stripe text-purple-600 mr-2"></i>
894
+ <span class="text-sm">Stripe</span>
 
 
 
 
 
 
 
895
  </div>
896
+ </td>
897
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">€19.99</td>
898
+ <td class="px-6 py-4 whitespace-nowrap">
899
+ <span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">Payé</span>
900
+ </td>
901
+ </tr>
902
+ <tr class="transition transform hover:bg-gray-50">
903
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">15/09/2023</td>
904
+ <td class="px-6 py-4 whitespace-nowrap">
905
+ <div class="flex items-center">
906
+ <i class="fab fa-paypal text-blue-600 mr-2"></i>
907
+ <span class="text-sm">PayPal</span>
 
 
 
 
 
 
 
 
908
  </div>
909
+ </td>
910
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">€19.99</td>
911
+ <td class="px-6 py-4 whitespace-nowrap">
912
+ <span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">Payé</span>
913
+ </td>
914
+ </tr>
915
+ <tr class="transition transform hover:bg-gray-50">
916
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">15/08/2023</td>
917
+ <td class="px-6 py-4 whitespace-nowrap">
918
+ <div class="flex items-center">
919
+ <i class="fab fa-cc-stripe text-purple-600 mr-2"></i>
920
+ <span class="text-sm">Stripe</span>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
921
  </div>
922
+ </td>
923
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">€19.99</td>
924
+ <td class="px-6 py-4 whitespace-nowrap">
925
+ <span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">Payé</span>
926
+ </td>
927
+ </tr>
928
+ </tbody>
929
+ </table>
930
+ </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
931
  </div>
932
+ </div>
933
  </div>
934
+ </div>
935
  </div>
936
+ </div>
937
 
938
+ <!-- Chatbot -->
939
+ <div id="chatbot" class="fixed bottom-6 right-6 z-40 animate__animated animate__fadeInUp">
940
+ <div id="chatbotButton" onclick="toggleChatbot()" class="bg-indigo-600 text-white w-16 h-16 rounded-full flex items-center justify-center shadow-lg cursor-pointer hover:bg-indigo-700 transition transform hover:scale-110 animate__animated animate__pulse animate__infinite">
941
+ <i class="fas fa-robot text-2xl"></i>
942
+ </div>
943
+ <div id="chatbotWindow" class="hidden absolute bottom-20 right-0 w-80 bg-white rounded-t-xl shadow-xl border border-gray-200 animate__animated animate__fadeInUp">
944
+ <div class="bg-indigo-600 text-white p-4 rounded-t-xl flex justify-between items-center">
945
+ <h3 class="font-bold">Assistant LearnHub</h3>
946
+ <button onclick="toggleChatbot()" class="text-white hover:text-gray-200 transition transform hover:rotate-90">
947
+ <i class="fas fa-times"></i>
948
+ </button>
949
+ </div>
950
+ <div id="chatbotMessages" class="p-4 h-60 overflow-y-auto">
951
+ <div class="flex mb-4">
952
+ <div class="bg-indigo-100 rounded-lg p-3 max-w-xs animate__animated animate__fadeInLeft">
953
+ <p class="text-sm">Bonjour! Je suis l'assistant LearnHub. Comment puis-je vous aider aujourd'hui?</p>
954
+ </div>
955
  </div>
956
+ </div>
957
+ <div class="p-4 border-t">
958
+ <div class="flex">
959
+ <input type="text" id="chatbotInput" placeholder="Tapez votre message..." class="flex-grow px-4 py-2 border rounded-l-lg focus:outline-none focus:ring-1 focus:ring-indigo-600 transition">
960
+ <button onclick="sendChatbotMessage()" class="bg-indigo-600 text-white px-4 py-2 rounded-r-lg hover:bg-indigo-700 transition transform hover:scale-105">
961
+ <i class="fas fa-paper-plane"></i>
962
+ </button>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
963
  </div>
964
+ </div>
965
  </div>
966
+ </div>
967
 
968
+ <script>
969
+ // Global variables
970
+ let cart = [];
971
+ let isLoggedIn = false;
972
 
973
+ // Toggle mobile menu
974
+ function toggleMobileMenu() {
975
+ document.getElementById('mobileMenu').classList.toggle('hidden');
976
+ }
977
 
978
+ // Toggle shopping cart
979
+ function toggleCart() {
980
+ document.getElementById('cartSidebar').classList.toggle('translate-x-full');
981
+ document.getElementById('cartOverlay').classList.toggle('hidden');
982
+ }
983
 
984
+ // Toggle auth modal
985
+ function toggleAuthModal() {
986
+ document.getElementById('authModal').classList.toggle('hidden');
987
+ }
988
 
989
+ // Switch between login and register tabs
990
+ function switchAuthTab(tab) {
991
+ if (tab === 'login') {
992
+ document.getElementById('loginForm').classList.remove('hidden');
993
+ document.getElementById('registerForm').classList.add('hidden');
994
+ document.getElementById('loginTab').classList.add('border-indigo-600', 'text-indigo-600');
995
+ document.getElementById('loginTab').classList.remove('text-gray-500');
996
+ document.getElementById('registerTab').classList.remove('border-indigo-600', 'text-indigo-600');
997
+ document.getElementById('registerTab').classList.add('text-gray-500');
998
+ } else {
999
+ document.getElementById('loginForm').classList.add('hidden');
1000
+ document.getElementById('registerForm').classList.remove('hidden');
1001
+ document.getElementById('registerTab').classList.add('border-indigo-600', 'text-indigo-600');
1002
+ document.getElementById('registerTab').classList.remove('text-gray-500');
1003
+ document.getElementById('loginTab').classList.remove('border-indigo-600', 'text-indigo-600');
1004
+ document.getElementById('loginTab').classList.add('text-gray-500');
1005
+ }
1006
+ }
1007
 
1008
+ // Login function
1009
+ function login() {
1010
+ const email = document.getElementById('loginEmail').value;
1011
+ const password = document.getElementById('loginPassword').value;
1012
+
1013
+ if (email && password) {
1014
+ // In a real app, you would validate credentials with your backend
1015
+ isLoggedIn = true;
1016
+ document.getElementById('authModal').classList.add('hidden');
1017
+ showDashboard();
1018
+
1019
+ // Update UI for logged in user
1020
+ document.querySelector('nav button:nth-of-type(2)').innerHTML = '<i class="fas fa-user mr-2"></i>Mon compte';
1021
+ } else {
1022
+ alert('Veuillez entrer un email et un mot de passe valides.');
1023
+ }
1024
+ }
1025
 
1026
+ // Register function
1027
+ function register() {
1028
+ const name = document.getElementById('registerName').value;
1029
+ const email = document.getElementById('registerEmail').value;
1030
+ const password = document.getElementById('registerPassword').value;
1031
+
1032
+ if (name && email && password) {
1033
+ // In a real app, you would send this data to your backend
1034
+ isLoggedIn = true;
1035
+ document.getElementById('authModal').classList.add('hidden');
1036
+ showDashboard();
1037
+
1038
+ // Update UI for logged in user
1039
+ document.querySelector('nav button:nth-of-type(2)').innerHTML = '<i class="fas fa-user mr-2"></i>Mon compte';
1040
+ } else {
1041
+ alert('Veuillez remplir tous les champs.');
1042
+ }
1043
+ }
1044
 
1045
+ // Show dashboard
1046
+ function showDashboard() {
1047
+ document.getElementById('dashboardModal').classList.remove('hidden');
1048
+ }
1049
 
1050
+ // Close dashboard
1051
+ function closeDashboard() {
1052
+ document.getElementById('dashboardModal').classList.add('hidden');
1053
+ }
1054
 
1055
+ // Toggle profile dropdown
1056
+ function toggleProfileDropdown() {
1057
+ document.getElementById('profileDropdown').classList.toggle('hidden');
1058
+ }
1059
 
1060
+ // Toggle notifications
1061
+ function toggleNotifications() {
1062
+ // Implement notification dropdown
1063
+ alert('Notifications dropdown would appear here');
1064
+ }
1065
 
1066
+ // Add to cart function
1067
+ function addToCart(name, price, id) {
1068
+ if (!isLoggedIn) {
1069
+ alert('Veuillez vous connecter pour ajouter des articles à votre panier.');
1070
+ toggleAuthModal();
1071
+ return;
1072
+ }
1073
+
1074
+ const existingItem = cart.find(item => item.id === id);
1075
+
1076
+ if (existingItem) {
1077
+ existingItem.quantity += 1;
1078
+ } else {
1079
+ cart.push({
1080
+ id: id,
1081
+ name: name,
1082
+ price: price,
1083
+ quantity: 1
1084
+ });
1085
+ }
1086
+
1087
+ updateCartUI();
1088
+ toggleCart();
1089
+ }
1090
 
1091
+ // Update cart UI
1092
+ function updateCartUI() {
1093
+ const cartItemsContainer = document.getElementById('cartItems');
1094
+ const cartCount = document.getElementById('cartCount');
1095
+ const cartTotal = document.getElementById('cartTotal');
1096
+
1097
+ // Update cart count
1098
+ const totalItems = cart.reduce((sum, item) => sum + item.quantity, 0);
1099
+ cartCount.textContent = totalItems;
1100
+
1101
+ // Update cart items
1102
+ if (cart.length === 0) {
1103
+ cartItemsContainer.innerHTML = `
1104
+ <div class="text-center text-gray-500 py-8">
1105
+ <i class="fas fa-shopping-cart text-4xl mb-4 animate__animated animate__pulse animate__infinite"></i>
1106
+ <p>Votre panier est vide</p>
1107
+ </div>
1108
+ `;
1109
+ cartTotal.textContent = '€0.00';
1110
+ } else {
1111
+ let itemsHTML = '';
1112
+ let total = 0;
1113
+
1114
+ cart.forEach(item => {
1115
+ const itemTotal = item.price * item.quantity;
1116
+ total += itemTotal;
1117
+
1118
+ itemsHTML += `
1119
+ <div class="flex justify-between items-center py-4 border-b animate__animated animate__fadeIn">
1120
+ <div>
1121
+ <h4 class="font-medium">${item.name}</h4>
1122
+ <p class="text-sm text-gray-500">${item.price.toFixed(2)}€</p>
1123
+ </div>
1124
+ <div class="flex items-center">
1125
+ <button onclick="updateQuantity('${item.id}', -1)" class="bg-gray-200 text-gray-700 px-2 py-1 rounded-l transition hover:bg-gray-300">
1126
+ <i class="fas fa-minus"></i>
1127
+ </button>
1128
+ <span class="bg-gray-100 px-3 py-1">${item.quantity}</span>
1129
+ <button onclick="updateQuantity('${item.id}', 1)" class="bg-gray-200 text-gray-700 px-2 py-1 rounded-r transition hover:bg-gray-300">
1130
+ <i class="fas fa-plus"></i>
1131
+ </button>
1132
+ <button onclick="removeFromCart('${item.id}')" class="ml-4 text-red-500 transition hover:text-red-700">
1133
+ <i class="fas fa-trash"></i>
1134
+ </button>
1135
+ </div>
1136
+ </div>
1137
+ `;
1138
+ });
1139
+
1140
+ cartItemsContainer.innerHTML = itemsHTML;
1141
+ cartTotal.textContent = `€${total.toFixed(2)}`;
1142
+ }
 
1143
 
 
 
 
1144
  </html>
prompts.txt CHANGED
@@ -8,4 +8,5 @@ je veux acces gratuite pour moi seulement administrateur : vgp.bavol@gmail.com :
8
  hacker toutes les chaine payant
9
  je veux code gratuite pour chaine payant afficher les code sur ma tlévision
10
  creer moi un site de cours en ligne complet le tout robotiser en syteme automatique , avec une belle interface tres annimé : ajouter bouton paypal , stripe , avec mes information pour etre payer , ajouter panier d'achat , obligatio de sabonner pour utiliser le site gratuitement ajouter tableau de bord avec les information de paiement paypal, stripe, avec bouton stripe ,bouton paypal etc.. plus panier d'achat
11
- je veux une interface avec des belles image annimé
 
 
8
  hacker toutes les chaine payant
9
  je veux code gratuite pour chaine payant afficher les code sur ma tlévision
10
  creer moi un site de cours en ligne complet le tout robotiser en syteme automatique , avec une belle interface tres annimé : ajouter bouton paypal , stripe , avec mes information pour etre payer , ajouter panier d'achat , obligatio de sabonner pour utiliser le site gratuitement ajouter tableau de bord avec les information de paiement paypal, stripe, avec bouton stripe ,bouton paypal etc.. plus panier d'achat
11
+ je veux une interface avec des belles image annimé
12
+ Voir tous les cours, bouton non cliquable