Spaces:
Running
Running
Add 2 files
Browse files- index.html +15 -703
- prompts.txt +2 -1
index.html
CHANGED
@@ -54,6 +54,20 @@
|
|
54 |
border: 2px solid #4f46e5;
|
55 |
background-color: #f5f3ff;
|
56 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
</style>
|
58 |
</head>
|
59 |
<body class="bg-gray-50">
|
@@ -639,707 +653,5 @@
|
|
639 |
|
640 |
<div>
|
641 |
<label for="record-value" class="block text-sm font-medium text-gray-700 mb-1">Valeur</label>
|
642 |
-
<input type="text" id="record-value" class="w-full px-4 py-2 border border-gray-300 rounded-lg
|
643 |
-
</div>
|
644 |
-
|
645 |
-
<div>
|
646 |
-
<label for="record-ttl" class="block text-sm font-medium text-gray-700 mb-1">TTL (secondes)</label>
|
647 |
-
<input type="number" id="record-ttl" class="w-full px-4 py-2 border border-gray-300 rounded-lg" value="3600">
|
648 |
-
</div>
|
649 |
-
|
650 |
-
<div class="flex justify-end space-x-3 pt-4">
|
651 |
-
<button type="button" id="cancel-add-dns-btn" class="px-4 py-2 border border-gray-300 rounded-lg text-gray-700 hover:bg-gray-50">
|
652 |
-
Annuler
|
653 |
-
</button>
|
654 |
-
<button type="submit" class="px-4 py-2 bg-purple-600 hover:bg-purple-700 text-white rounded-lg">
|
655 |
-
<i class="fas fa-save mr-2"></i> Enregistrer
|
656 |
-
</button>
|
657 |
-
</div>
|
658 |
-
</form>
|
659 |
-
</div>
|
660 |
-
</div>
|
661 |
-
</div>
|
662 |
-
|
663 |
-
<!-- Website Tab Content -->
|
664 |
-
<div id="website-tab" class="p-6 hidden">
|
665 |
-
<h4 class="text-lg font-bold text-gray-800 mb-6">Gestion du site web</h4>
|
666 |
-
<p class="text-gray-600">Cette section n'est pas encore disponible.</p>
|
667 |
-
</div>
|
668 |
-
|
669 |
-
<!-- Email Tab Content -->
|
670 |
-
<div id="email-tab" class="p-6 hidden">
|
671 |
-
<h4 class="text-lg font-bold text-gray-800 mb-6">Gestion des emails</h4>
|
672 |
-
<p class="text-gray-600">Cette section n'est pas encore disponible.</p>
|
673 |
-
</div>
|
674 |
-
|
675 |
-
<!-- Settings Tab Content -->
|
676 |
-
<div id="settings-tab" class="p-6 hidden">
|
677 |
-
<h4 class="text-lg font-bold text-gray-800 mb-6">Paramètres du compte</h4>
|
678 |
-
<p class="text-gray-600">Cette section n'est pas encore disponible.</p>
|
679 |
-
</div>
|
680 |
-
</div>
|
681 |
-
</div>
|
682 |
-
</div>
|
683 |
-
|
684 |
-
<!-- Features Section -->
|
685 |
-
<section class="container mx-auto px-4 py-16">
|
686 |
-
<h2 class="text-3xl font-bold text-center mb-12">Tous nos services sont 100% gratuits</h2>
|
687 |
-
|
688 |
-
<div class="grid md:grid-cols-4 gap-6">
|
689 |
-
<div class="bg-white rounded-xl shadow-md p-6 hover:shadow-lg transition-shadow">
|
690 |
-
<div class="text-purple-600 text-4xl mb-4">
|
691 |
-
<i class="fas fa-globe"></i>
|
692 |
-
</div>
|
693 |
-
<h3 class="text-xl font-bold mb-2">Enregistrement de domaine</h3>
|
694 |
-
<p class="text-gray-600">Obtenez votre nom de domaine gratuitement sans frais cachés.</p>
|
695 |
-
</div>
|
696 |
-
|
697 |
-
<div class="bg-white rounded-xl shadow-md p-6 hover:shadow-lg transition-shadow">
|
698 |
-
<div class="text-green-600 text-4xl mb-4">
|
699 |
-
<i class="fas fa-lock"></i>
|
700 |
-
</div>
|
701 |
-
<h3 class="text-xl font-bold mb-2">SSL Gratuit</h3>
|
702 |
-
<p class="text-gray-600">Certificat SSL inclus automatiquement pour sécuriser votre site.</p>
|
703 |
-
</div>
|
704 |
-
|
705 |
-
<div class="bg-white rounded-xl shadow-md p-6 hover:shadow-lg transition-shadow">
|
706 |
-
<div class="text-blue-600 text-4xl mb-4">
|
707 |
-
<i class="fas fa-server"></i>
|
708 |
-
</div>
|
709 |
-
<h3 class="text-xl font-bold mb-2">Hébergement Web</h3>
|
710 |
-
<p class="text-gray-600">Serveurs haute performance pour héberger votre site instantanément.</p>
|
711 |
-
</div>
|
712 |
-
|
713 |
-
<div class="bg-white rounded-xl shadow-md p-6 hover:shadow-lg transition-shadow">
|
714 |
-
<div class="text-orange-600 text-4xl mb-4">
|
715 |
-
<i class="fas fa-envelope"></i>
|
716 |
-
</div>
|
717 |
-
<h3 class="text-xl font-bold mb-2">Emails Professionnels</h3>
|
718 |
-
<p class="text-gray-600">Créez des adresses email avec votre nom de domaine.</p>
|
719 |
-
</div>
|
720 |
-
</div>
|
721 |
-
</section>
|
722 |
-
|
723 |
-
<!-- Pricing Section -->
|
724 |
-
<section class="bg-gray-50 py-16">
|
725 |
-
<div class="container mx-auto px-4">
|
726 |
-
<h2 class="text-3xl font-bold text-center mb-12">Nos offres premium</h2>
|
727 |
-
|
728 |
-
<div class="grid md:grid-cols-3 gap-8 max-w-5xl mx-auto">
|
729 |
-
<div class="bg-white rounded-xl shadow-lg overflow-hidden">
|
730 |
-
<div class="bg-purple-100 p-6 text-center">
|
731 |
-
<h3 class="text-xl font-bold text-gray-800">Starter</h3>
|
732 |
-
<p class="text-3xl font-bold text-purple-600 mt-2">€4.99<span class="text-base font-normal text-gray-500">/mois</span></p>
|
733 |
-
<p class="text-sm text-gray-600 mt-1">Parfait pour les petits sites</p>
|
734 |
-
</div>
|
735 |
-
<div class="p-6">
|
736 |
-
<ul class="space-y-3">
|
737 |
-
<li class="flex items-center">
|
738 |
-
<i class="fas fa-check text-green-500 mr-2"></i>
|
739 |
-
<span>1 domaine inclus</span>
|
740 |
-
</li>
|
741 |
-
<li class="flex items-center">
|
742 |
-
<i class="fas fa-check text-green-500 mr-2"></i>
|
743 |
-
<span>5GB de stockage</span>
|
744 |
-
</li>
|
745 |
-
<li class="flex items-center">
|
746 |
-
<i class="fas fa-check text-green-500 mr-2"></i>
|
747 |
-
<span>50GB de bande passante</span>
|
748 |
-
</li>
|
749 |
-
<li class="flex items-center">
|
750 |
-
<i class="fas fa-check text-green-500 mr-2"></i>
|
751 |
-
<span>2 adresses email</span>
|
752 |
-
</li>
|
753 |
-
<li class="flex items-center">
|
754 |
-
<i class="fas fa-check text-green-500 mr-2"></i>
|
755 |
-
<span>Support standard</span>
|
756 |
-
</li>
|
757 |
-
</ul>
|
758 |
-
<button class="w-full mt-6 px-4 py-2 bg-purple-600 hover:bg-purple-700 text-white rounded-lg font-medium add-to-cart-btn" data-plan="starter" data-price="4.99">
|
759 |
-
Ajouter au panier
|
760 |
-
</button>
|
761 |
-
</div>
|
762 |
-
</div>
|
763 |
-
|
764 |
-
<div class="bg-white rounded-xl shadow-lg overflow-hidden transform scale-105 border-2 border-purple-500">
|
765 |
-
<div class="bg-purple-600 p-6 text-center text-white">
|
766 |
-
<span class="inline-block bg-yellow-400 text-yellow-800 text-xs px-2 py-1 rounded-full mb-2">POPULAIRE</span>
|
767 |
-
<h3 class="text-xl font-bold">Pro</h3>
|
768 |
-
<p class="text-3xl font-bold mt-2">€9.99<span class="text-base font-normal opacity-80">/mois</span></p>
|
769 |
-
<p class="text-sm opacity-80 mt-1">Idéal pour les professionnels</p>
|
770 |
-
</div>
|
771 |
-
<div class="p-6">
|
772 |
-
<ul class="space-y-3">
|
773 |
-
<li class="flex items-center">
|
774 |
-
<i class="fas fa-check text-green-500 mr-2"></i>
|
775 |
-
<span>5 domaines inclus</span>
|
776 |
-
</li>
|
777 |
-
<li class="flex items-center">
|
778 |
-
<i class="fas fa-check text-green-500 mr-2"></i>
|
779 |
-
<span>20GB de stockage</span>
|
780 |
-
</li>
|
781 |
-
<li class="flex items-center">
|
782 |
-
<i class="fas fa-check text-green-500 mr-2"></i>
|
783 |
-
<span>200GB de bande passante</span>
|
784 |
-
</li>
|
785 |
-
<li class="flex items-center">
|
786 |
-
<i class="fas fa-check text-green-500 mr-2"></i>
|
787 |
-
<span>10 adresses email</span>
|
788 |
-
</li>
|
789 |
-
<li class="flex items-center">
|
790 |
-
<i class="fas fa-check text-green-500 mr-2"></i>
|
791 |
-
<span>Support prioritaire</span>
|
792 |
-
</li>
|
793 |
-
</ul>
|
794 |
-
<button class="w-full mt-6 px-4 py-2 bg-purple-600 hover:bg-purple-700 text-white rounded-lg font-medium add-to-cart-btn" data-plan="pro" data-price="9.99">
|
795 |
-
Ajouter au panier
|
796 |
-
</button>
|
797 |
-
</div>
|
798 |
-
</div>
|
799 |
-
|
800 |
-
<div class="bg-white rounded-xl shadow-lg overflow-hidden">
|
801 |
-
<div class="bg-purple-100 p-6 text-center">
|
802 |
-
<h3 class="text-xl font-bold text-gray-800">Business</h3>
|
803 |
-
<p class="text-3xl font-bold text-purple-600 mt-2">€19.99<span class="text-base font-normal text-gray-500">/mois</span></p>
|
804 |
-
<p class="text-sm text-gray-600 mt-1">Pour les entreprises</p>
|
805 |
-
</div>
|
806 |
-
<div class="p-6">
|
807 |
-
<ul class="space-y-3">
|
808 |
-
<li class="flex items-center">
|
809 |
-
<i class="fas fa-check text-green-500 mr-2"></i>
|
810 |
-
<span>Domaines illimités</span>
|
811 |
-
</li>
|
812 |
-
<li class="flex items-center">
|
813 |
-
<i class="fas fa-check text-green-500 mr-2"></i>
|
814 |
-
<span>Stockage illimité</span>
|
815 |
-
</li>
|
816 |
-
<li class="flex items-center">
|
817 |
-
<i class="fas fa-check text-green-500 mr-2"></i>
|
818 |
-
<span>Bande passante illimitée</span>
|
819 |
-
</li>
|
820 |
-
<li class="flex items-center">
|
821 |
-
<i class="fas fa-check text-green-500 mr-2"></i>
|
822 |
-
<span>Emails illimités</span>
|
823 |
-
</li>
|
824 |
-
<li class="flex items-center">
|
825 |
-
<i class="fas fa-check text-green-500 mr-2"></i>
|
826 |
-
<span>Support 24/7</span>
|
827 |
-
</li>
|
828 |
-
</ul>
|
829 |
-
<button class="w-full mt-6 px-4 py-2 bg-purple-600 hover:bg-purple-700 text-white rounded-lg font-medium add-to-cart-btn" data-plan="business" data-price="19.99">
|
830 |
-
Ajouter au panier
|
831 |
-
</button>
|
832 |
-
</div>
|
833 |
-
</div>
|
834 |
-
</div>
|
835 |
-
</div>
|
836 |
-
</section>
|
837 |
-
|
838 |
-
<!-- FAQ Section -->
|
839 |
-
<section class="bg-white py-16">
|
840 |
-
<div class="container mx-auto px-4">
|
841 |
-
<h2 class="text-3xl font-bold text-center mb-12">Questions fréquentes</h2>
|
842 |
-
|
843 |
-
<div class="max-w-3xl mx-auto space-y-4">
|
844 |
-
<div class="bg-white rounded-lg shadow-md overflow-hidden">
|
845 |
-
<button class="faq-question w-full text-left px-6 py-4 font-medium text-gray-800 hover:bg-gray-50 flex justify-between items-center">
|
846 |
-
<span>Comment est-ce possible d'offrir ces services gratuitement?</span>
|
847 |
-
<i class="fas fa-chevron-down text-purple-600 transition-transform"></i>
|
848 |
-
</button>
|
849 |
-
<div class="faq-answer px-6 pb-4 text-gray-600 hidden">
|
850 |
-
<p>Nous croyons en un internet accessible à tous. Nos coûts sont couverts par des partenariats avec des organisations qui soutiennent notre mission. Nous ne facturons jamais nos utilisateurs.</p>
|
851 |
-
</div>
|
852 |
-
</div>
|
853 |
-
|
854 |
-
<div class="bg-white rounded-lg shadow-md overflow-hidden">
|
855 |
-
<button class="faq-question w-full text-left px-6 py-4 font-medium text-gray-800 hover:bg-gray-50 flex justify-between items-center">
|
856 |
-
<span>Y a-t-il des limitations avec les services gratuits?</span>
|
857 |
-
<i class="fas fa-chevron-down text-purple-600 transition-transform"></i>
|
858 |
-
</button>
|
859 |
-
<div class="faq-answer px-6 pb-4 text-gray-600 hidden">
|
860 |
-
<p>Nos services gratuits incluent tout ce dont vous avez besoin pour un site professionnel. La seule limitation est une bande passante raisonnable de 50GB/mois, suffisante pour la plupart des sites.</p>
|
861 |
-
</div>
|
862 |
-
</div>
|
863 |
-
|
864 |
-
<div class="bg-white rounded-lg shadow-md overflow-hidden">
|
865 |
-
<button class="faq-question w-full text-left px-6 py-4 font-medium text-gray-800 hover:bg-gray-50 flex justify-between items-center">
|
866 |
-
<span>Combien de temps mon domaine restera-t-il actif?</span>
|
867 |
-
<i class="fas fa-chevron-down text-purple-600 transition-transform"></i>
|
868 |
-
</button>
|
869 |
-
<div class="faq-answer px-6 pb-4 text-gray-600 hidden">
|
870 |
-
<p>Votre domaine est enregistré pour 1 an gratuitement. Avant l'expiration, vous pourrez le renouveler gratuitement aussi longtemps que vous l'utilisez activement.</p>
|
871 |
-
</div>
|
872 |
-
</div>
|
873 |
-
|
874 |
-
<div class="bg-white rounded-lg shadow-md overflow-hidden">
|
875 |
-
<button class="faq-question w-full text-left px-6 py-4 font-medium text-gray-800 hover:bg-gray-50 flex justify-between items-center">
|
876 |
-
<span>Puis-je transférer mon domaine ailleurs plus tard?</span>
|
877 |
-
<i class="fas fa-chevron-down text-purple-600 transition-transform"></i>
|
878 |
-
</button>
|
879 |
-
<div class="faq-answer px-6 pb-4 text-gray-600 hidden">
|
880 |
-
<p>Oui, après 60 jours d'enregistrement initial, vous pouvez transférer votre domaine vers un autre registraire si vous le souhaitez, sans frais supplémentaires.</p>
|
881 |
-
</div>
|
882 |
-
</div>
|
883 |
-
</div>
|
884 |
-
</div>
|
885 |
-
</section>
|
886 |
-
|
887 |
-
<!-- Footer -->
|
888 |
-
<footer class="bg-gray-800 text-white py-12">
|
889 |
-
<div class="container mx-auto px-4">
|
890 |
-
<div class="grid md:grid-cols-3 gap-8">
|
891 |
-
<div>
|
892 |
-
<h3 class="text-xl font-bold mb-4">FreeDomain Registry</h3>
|
893 |
-
<p class="text-gray-400">Le premier bureau d'enregistrement offrant des services complets 100% gratuits.</p>
|
894 |
-
<div class="flex space-x-4 mt-4">
|
895 |
-
<a href="#" class="text-gray-400 hover:text-white"><i class="fab fa-facebook-f"></i></a>
|
896 |
-
<a href="#" class="text-gray-400 hover:text-white"><i class="fab fa-twitter"></i></a>
|
897 |
-
<a href="#" class="text-gray-400 hover:text-white"><i class="fab fa-instagram"></i></a>
|
898 |
-
<a href="#" class="text-gray-400 hover:text-white"><i class="fab fa-linkedin-in"></i></a>
|
899 |
-
</div>
|
900 |
-
</div>
|
901 |
-
<div>
|
902 |
-
<h4 class="font-bold mb-4">Services</h4>
|
903 |
-
<ul class="space-y-2">
|
904 |
-
<li><a href="#" class="text-gray-400 hover:text-white">Enregistrement de domaine</a></li>
|
905 |
-
<li><a href="#" class="text-gray-400 hover:text-white">Hébergement web</a></li>
|
906 |
-
<li><a href="#" class="text-gray-400 hover:text-white">Certificats SSL</a></li>
|
907 |
-
<li><a href="#" class="text-gray-400 hover:text-white">Emails professionnels</a></li>
|
908 |
-
</ul>
|
909 |
-
</div>
|
910 |
-
<div>
|
911 |
-
<h4 class="font-bold mb-4">Support</h4>
|
912 |
-
<ul class="space-y-2">
|
913 |
-
<li><a href="#" class="text-gray-400 hover:text-white">Centre d'aide</a></li>
|
914 |
-
<li><a href="#" class="text-gray-400 hover:text-white">Contact</a></li>
|
915 |
-
<li><a href="#" class="text-gray-400 hover:text-white">Communauté</a></li>
|
916 |
-
<li><a href="#" class="text-gray-400 hover:text-white">Statut des services</a></li>
|
917 |
-
</ul>
|
918 |
-
</div>
|
919 |
-
</div>
|
920 |
-
<div class="border-t border-gray-700 mt-8 pt-8 text-center text-gray-400">
|
921 |
-
<p>© 2023 FreeDomain Registry. Tous droits réservés.</p>
|
922 |
-
</div>
|
923 |
-
</div>
|
924 |
-
</footer>
|
925 |
-
|
926 |
-
<script>
|
927 |
-
document.addEventListener('DOMContentLoaded', function() {
|
928 |
-
// DOM Elements
|
929 |
-
const domainInput = document.getElementById('domain-input');
|
930 |
-
const checkDomainBtn = document.getElementById('check-domain-btn');
|
931 |
-
const tldBtns = document.querySelectorAll('.tld-btn');
|
932 |
-
const domainResults = document.getElementById('domain-results');
|
933 |
-
const domainOptions = document.getElementById('domain-options');
|
934 |
-
const searchedDomain = document.getElementById('searched-domain');
|
935 |
-
const registrationForm = document.getElementById('registration-form');
|
936 |
-
const domainRegistrationForm = document.getElementById('domain-registration-form');
|
937 |
-
const domainNameField = document.getElementById('domain-name');
|
938 |
-
const deploymentProgress = document.getElementById('deployment-progress');
|
939 |
-
const websitePreview = document.getElementById('website-preview');
|
940 |
-
const previewUrl = document.getElementById('preview-url');
|
941 |
-
const templatePreview = document.getElementById('template-preview');
|
942 |
-
const controlPanelBtn = document.getElementById('control-panel-btn');
|
943 |
-
const adminUrl = document.getElementById('admin-url');
|
944 |
-
const faqQuestions = document.querySelectorAll('.faq-question');
|
945 |
-
const loginBtn = document.getElementById('login-btn');
|
946 |
-
const cartBtn = document.getElementById('cart-btn');
|
947 |
-
const cartCount = document.getElementById('cart-count');
|
948 |
-
|
949 |
-
// Modals
|
950 |
-
const subscriptionModal = document.getElementById('subscription-modal');
|
951 |
-
const closeSubscriptionBtn = document.getElementById('close-subscription-btn');
|
952 |
-
const loginModal = document.getElementById('login-modal');
|
953 |
-
const closeLoginBtn = document.getElementById('close-login-btn');
|
954 |
-
const registerModal = document.getElementById('register-modal');
|
955 |
-
const closeRegisterBtn = document.getElementById('close-register-btn');
|
956 |
-
const showRegisterBtn = document.getElementById('show-register-btn');
|
957 |
-
const showLoginBtn = document.getElementById('show-login-btn');
|
958 |
-
|
959 |
-
// Cart
|
960 |
-
const cartSidebar = document.getElementById('cart-sidebar');
|
961 |
-
const closeCartBtn = document.getElementById('close-cart-btn');
|
962 |
-
const cartItems = document.getElementById('cart-items');
|
963 |
-
const cartSubtotal = document.getElementById('cart-subtotal');
|
964 |
-
const cartTax = document.getElementById('cart-tax');
|
965 |
-
const cartTotal = document.getElementById('cart-total');
|
966 |
-
const checkoutBtn = document.getElementById('checkout-btn');
|
967 |
-
const addToCartBtns = document.querySelectorAll('.add-to-cart-btn');
|
968 |
-
|
969 |
-
// Subscription
|
970 |
-
const subscriptionCards = document.querySelectorAll('.subscription-card');
|
971 |
-
const paymentSection = document.getElementById('payment-section');
|
972 |
-
const orderPlan = document.getElementById('order-plan');
|
973 |
-
const orderPeriod = document.getElementById('order-period');
|
974 |
-
const orderTotal = document.getElementById('order-total');
|
975 |
-
|
976 |
-
// Control Panel Elements
|
977 |
-
const controlPanelModal = document.getElementById('control-panel-modal');
|
978 |
-
const closePanelBtn = document.getElementById('close-panel-btn');
|
979 |
-
const panelDomainName = document.getElementById('panel-domain-name');
|
980 |
-
const panelTabBtns = document.querySelectorAll('.panel-tab-btn');
|
981 |
-
const dnsTab = document.getElementById('dns-tab');
|
982 |
-
const websiteTab = document.getElementById('website-tab');
|
983 |
-
const emailTab = document.getElementById('email-tab');
|
984 |
-
const settingsTab = document.getElementById('settings-tab');
|
985 |
-
const addDnsRecordBtn = document.getElementById('add-dns-record-btn');
|
986 |
-
const addDnsModal = document.getElementById('add-dns-modal');
|
987 |
-
const cancelAddDnsBtn = document.getElementById('cancel-add-dns-btn');
|
988 |
-
const addDnsForm = document.getElementById('add-dns-form');
|
989 |
-
const dnsRecordsTable = document.getElementById('dns-records-table');
|
990 |
-
|
991 |
-
// Sample DNS records data
|
992 |
-
const sampleDnsRecords = [
|
993 |
-
{ type: 'A', name: '@', value: '192.0.2.1', ttl: '3600' },
|
994 |
-
{ type: 'A', name: 'www', value: '192.0.2.1', ttl: '3600' },
|
995 |
-
{ type: 'MX', name: '@', value: 'mail.freedomain.registry', ttl: '14400', priority: '10' },
|
996 |
-
{ type: 'TXT', name: '@', value: '"v=spf1 include:freedomain.registry ~all"', ttl: '3600' }
|
997 |
-
];
|
998 |
-
|
999 |
-
// Cart state
|
1000 |
-
let cart = [];
|
1001 |
-
|
1002 |
-
// Initialize
|
1003 |
-
init();
|
1004 |
-
|
1005 |
-
function init() {
|
1006 |
-
// Check if user is logged in (simulated)
|
1007 |
-
const isLoggedIn = localStorage.getItem('isLoggedIn') === 'true';
|
1008 |
-
|
1009 |
-
if (!isLoggedIn) {
|
1010 |
-
// Show subscription modal if not logged in
|
1011 |
-
setTimeout(() => {
|
1012 |
-
subscriptionModal.classList.remove('hidden');
|
1013 |
-
document.body.style.overflow = 'hidden';
|
1014 |
-
}, 1000);
|
1015 |
-
}
|
1016 |
-
|
1017 |
-
// Setup event listeners
|
1018 |
-
setupEventListeners();
|
1019 |
-
}
|
1020 |
-
|
1021 |
-
function setupEventListeners() {
|
1022 |
-
// TLD buttons
|
1023 |
-
tldBtns.forEach(btn => {
|
1024 |
-
btn.addEventListener('click', function(e) {
|
1025 |
-
e.preventDefault();
|
1026 |
-
const tld = this.getAttribute('data-tld');
|
1027 |
-
const domainName = domainInput.value.trim();
|
1028 |
-
|
1029 |
-
if (domainName) {
|
1030 |
-
domainInput.value = domainName + tld;
|
1031 |
-
}
|
1032 |
-
});
|
1033 |
-
});
|
1034 |
-
|
1035 |
-
// Check domain button
|
1036 |
-
checkDomainBtn.addEventListener('click', function() {
|
1037 |
-
const domain = domainInput.value.trim();
|
1038 |
-
|
1039 |
-
if (!domain) {
|
1040 |
-
alert('Veuillez entrer un nom de domaine');
|
1041 |
-
return;
|
1042 |
-
}
|
1043 |
-
|
1044 |
-
// Show domain results
|
1045 |
-
showDomainResults(domain);
|
1046 |
-
});
|
1047 |
-
|
1048 |
-
// Domain registration form submission
|
1049 |
-
domainRegistrationForm.addEventListener('submit', function(e) {
|
1050 |
-
e.preventDefault();
|
1051 |
-
|
1052 |
-
const domain = domainNameField.value;
|
1053 |
-
const email = document.getElementById('domain-email').value;
|
1054 |
-
const template = document.getElementById('domain-template').value;
|
1055 |
-
|
1056 |
-
// Hide registration form and show deployment progress
|
1057 |
-
registrationForm.classList.add('hidden');
|
1058 |
-
deploymentProgress.classList.remove('hidden');
|
1059 |
-
|
1060 |
-
// Scroll to deployment
|
1061 |
-
setTimeout(() => {
|
1062 |
-
deploymentProgress.scrollIntoView({ behavior: 'smooth' });
|
1063 |
-
}, 100);
|
1064 |
-
|
1065 |
-
// Simulate deployment process
|
1066 |
-
simulateDeployment(domain, email, template);
|
1067 |
-
});
|
1068 |
-
|
1069 |
-
// Control panel button
|
1070 |
-
controlPanelBtn.addEventListener('click', function() {
|
1071 |
-
const domain = document.getElementById('info-domain').textContent;
|
1072 |
-
const email = document.getElementById('info-email').textContent;
|
1073 |
-
showControlPanel(domain, email);
|
1074 |
-
});
|
1075 |
-
|
1076 |
-
// FAQ accordion
|
1077 |
-
faqQuestions.forEach(question => {
|
1078 |
-
question.addEventListener('click', function() {
|
1079 |
-
const answer = this.nextElementSibling;
|
1080 |
-
const icon = this.querySelector('i');
|
1081 |
-
|
1082 |
-
// Toggle answer
|
1083 |
-
answer.classList.toggle('hidden');
|
1084 |
-
|
1085 |
-
// Rotate icon
|
1086 |
-
if (answer.classList.contains('hidden')) {
|
1087 |
-
icon.style.transform = 'rotate(0deg)';
|
1088 |
-
} else {
|
1089 |
-
icon.style.transform = 'rotate(180deg)';
|
1090 |
-
}
|
1091 |
-
});
|
1092 |
-
});
|
1093 |
-
|
1094 |
-
// Allow pressing Enter in domain input
|
1095 |
-
domainInput.addEventListener('keypress', function(e) {
|
1096 |
-
if (e.key === 'Enter') {
|
1097 |
-
checkDomainBtn.click();
|
1098 |
-
}
|
1099 |
-
});
|
1100 |
-
|
1101 |
-
// Make footer links clickable (simulated)
|
1102 |
-
document.querySelectorAll('footer a').forEach(link => {
|
1103 |
-
link.addEventListener('click', function(e) {
|
1104 |
-
e.preventDefault();
|
1105 |
-
alert(`Navigation vers: ${this.textContent}`);
|
1106 |
-
});
|
1107 |
-
});
|
1108 |
-
|
1109 |
-
// Login button
|
1110 |
-
loginBtn.addEventListener('click', function() {
|
1111 |
-
loginModal.classList.remove('hidden');
|
1112 |
-
document.body.style.overflow = 'hidden';
|
1113 |
-
});
|
1114 |
-
|
1115 |
-
// Close login modal
|
1116 |
-
closeLoginBtn.addEventListener('click', function() {
|
1117 |
-
loginModal.classList.add('hidden');
|
1118 |
-
document.body.style.overflow = 'auto';
|
1119 |
-
});
|
1120 |
-
|
1121 |
-
// Show register modal
|
1122 |
-
showRegisterBtn.addEventListener('click', function(e) {
|
1123 |
-
e.preventDefault();
|
1124 |
-
loginModal.classList.add('hidden');
|
1125 |
-
registerModal.classList.remove('hidden');
|
1126 |
-
});
|
1127 |
-
|
1128 |
-
// Close register modal
|
1129 |
-
closeRegisterBtn.addEventListener('click', function() {
|
1130 |
-
registerModal.classList.add('hidden');
|
1131 |
-
document.body.style.overflow = 'auto';
|
1132 |
-
});
|
1133 |
-
|
1134 |
-
// Show login modal
|
1135 |
-
showLoginBtn.addEventListener('click', function(e) {
|
1136 |
-
e.preventDefault();
|
1137 |
-
registerModal.classList.add('hidden');
|
1138 |
-
loginModal.classList.remove('hidden');
|
1139 |
-
});
|
1140 |
-
|
1141 |
-
// Register form submission
|
1142 |
-
document.getElementById('register-form').addEventListener('submit', function(e) {
|
1143 |
-
e.preventDefault();
|
1144 |
-
|
1145 |
-
// Simulate registration
|
1146 |
-
localStorage.setItem('isLoggedIn', 'true');
|
1147 |
-
registerModal.classList.add('hidden');
|
1148 |
-
document.body.style.overflow = 'auto';
|
1149 |
-
|
1150 |
-
alert('Inscription réussie! Vous êtes maintenant connecté.');
|
1151 |
-
});
|
1152 |
-
|
1153 |
-
// Login form submission
|
1154 |
-
document.getElementById('login-form').addEventListener('submit', function(e) {
|
1155 |
-
e.preventDefault();
|
1156 |
-
|
1157 |
-
// Simulate login
|
1158 |
-
localStorage.setItem('isLoggedIn', 'true');
|
1159 |
-
loginModal.classList.add('hidden');
|
1160 |
-
document.body.style.overflow = 'auto';
|
1161 |
-
|
1162 |
-
alert('Connexion réussie!');
|
1163 |
-
});
|
1164 |
-
|
1165 |
-
// Cart button
|
1166 |
-
cartBtn.addEventListener('click', function() {
|
1167 |
-
cartSidebar.style.transform = 'translateX(0)';
|
1168 |
-
document.body.style.overflow = 'hidden';
|
1169 |
-
});
|
1170 |
-
|
1171 |
-
// Close cart sidebar
|
1172 |
-
closeCartBtn.addEventListener('click', function() {
|
1173 |
-
cartSidebar.style.transform = 'translateX(100%)';
|
1174 |
-
document.body.style.overflow = 'auto';
|
1175 |
-
});
|
1176 |
-
|
1177 |
-
// Add to cart buttons
|
1178 |
-
addToCartBtns.forEach(btn => {
|
1179 |
-
btn.addEventListener('click', function() {
|
1180 |
-
const plan = this.getAttribute('data-plan');
|
1181 |
-
const price = parseFloat(this.getAttribute('data-price'));
|
1182 |
-
|
1183 |
-
addToCart(plan, price);
|
1184 |
-
});
|
1185 |
-
});
|
1186 |
-
|
1187 |
-
// Checkout button
|
1188 |
-
checkoutBtn.addEventListener('click', function() {
|
1189 |
-
// Close cart and open subscription modal
|
1190 |
-
cartSidebar.style.transform = 'translateX(100%)';
|
1191 |
-
subscriptionModal.classList.remove('hidden');
|
1192 |
-
|
1193 |
-
// Show payment section
|
1194 |
-
paymentSection.classList.remove('hidden');
|
1195 |
-
|
1196 |
-
// Update order summary
|
1197 |
-
updateOrderSummary();
|
1198 |
-
});
|
1199 |
-
|
1200 |
-
// Subscription cards
|
1201 |
-
subscriptionCards.forEach(card => {
|
1202 |
-
card.addEventListener('click', function() {
|
1203 |
-
const plan = this.getAttribute('data-plan');
|
1204 |
-
|
1205 |
-
// Remove selected class from all cards
|
1206 |
-
subscriptionCards.forEach(c => {
|
1207 |
-
c.classList.remove('selected-subscription');
|
1208 |
-
c.querySelector('button').classList.remove('bg-purple-600', 'hover:bg-purple-700', 'text-white');
|
1209 |
-
c.querySelector('button').classList.add('bg-gray-200', 'text-gray-800');
|
1210 |
-
});
|
1211 |
-
|
1212 |
-
// Add selected class to clicked card
|
1213 |
-
this.classList.add('selected-subscription');
|
1214 |
-
const btn = this.querySelector('button');
|
1215 |
-
btn.classList.remove('bg-gray-200', 'text-gray-800');
|
1216 |
-
btn.classList.add('bg-purple-600', 'hover:bg-purple-700', 'text-white');
|
1217 |
-
|
1218 |
-
// Update order summary
|
1219 |
-
updateOrderSummary();
|
1220 |
-
});
|
1221 |
-
});
|
1222 |
-
|
1223 |
-
// Close subscription modal
|
1224 |
-
closeSubscriptionBtn.addEventListener('click', function() {
|
1225 |
-
subscriptionModal.classList.add('hidden');
|
1226 |
-
document.body.style.overflow = 'auto';
|
1227 |
-
});
|
1228 |
-
|
1229 |
-
// Payment method selection
|
1230 |
-
document.querySelectorAll('input[name="payment-method"]').forEach(radio => {
|
1231 |
-
radio.addEventListener('change', function() {
|
1232 |
-
if (this.value === 'paypal') {
|
1233 |
-
document.getElementById('paypal-button-container').classList.remove('hidden');
|
1234 |
-
document.getElementById('stripe-submit-btn').classList.add('hidden');
|
1235 |
-
} else {
|
1236 |
-
document.getElementById('paypal-button-container').classList.add('hidden');
|
1237 |
-
document.getElementById('stripe-submit-btn').classList.remove('hidden');
|
1238 |
-
}
|
1239 |
-
});
|
1240 |
-
});
|
1241 |
-
|
1242 |
-
// Control Panel Elements
|
1243 |
-
closePanelBtn.addEventListener('click', function() {
|
1244 |
-
controlPanelModal.classList.add('hidden');
|
1245 |
-
document.body.style.overflow = 'auto';
|
1246 |
-
});
|
1247 |
-
|
1248 |
-
// Panel tab switching
|
1249 |
-
panelTabBtns.forEach(btn => {
|
1250 |
-
btn.addEventListener('click', function() {
|
1251 |
-
const tab = this.getAttribute('data-tab');
|
1252 |
-
|
1253 |
-
// Update active tab button
|
1254 |
-
panelTabBtns.forEach(b => {
|
1255 |
-
b.classList.remove('bg-white', 'text-purple-600');
|
1256 |
-
b.classList.add('bg-gray-100', 'text-gray-600', 'hover:bg-gray-200');
|
1257 |
-
});
|
1258 |
-
this.classList.remove('bg-gray-100', 'text-gray-600', 'hover:bg-gray-200');
|
1259 |
-
this.classList.add('bg-white', 'text-purple-600');
|
1260 |
-
|
1261 |
-
// Hide all tabs
|
1262 |
-
dnsTab.classList.add('hidden');
|
1263 |
-
websiteTab.classList.add('hidden');
|
1264 |
-
emailTab.classList.add('hidden');
|
1265 |
-
settingsTab.classList.add('hidden');
|
1266 |
-
|
1267 |
-
// Show selected tab
|
1268 |
-
document.getElementById(`${tab}-tab`).classList.remove('hidden');
|
1269 |
-
});
|
1270 |
-
});
|
1271 |
-
|
1272 |
-
// Add DNS record button
|
1273 |
-
addDnsRecordBtn.addEventListener('click', function() {
|
1274 |
-
// Reset form
|
1275 |
-
addDnsForm.reset();
|
1276 |
-
document.getElementById('record-ttl').value = '3600';
|
1277 |
-
|
1278 |
-
// Show modal
|
1279 |
-
addDnsModal.classList.remove('hidden');
|
1280 |
-
});
|
1281 |
-
|
1282 |
-
// Cancel add DNS record
|
1283 |
-
cancelAddDnsBtn.addEventListener('click', function() {
|
1284 |
-
addDnsModal.classList.add('hidden');
|
1285 |
-
});
|
1286 |
-
|
1287 |
-
// Add DNS form submission
|
1288 |
-
addDnsForm.addEventListener('submit', function(e) {
|
1289 |
-
e.preventDefault();
|
1290 |
-
|
1291 |
-
const type = document.getElementById('record-type').value;
|
1292 |
-
const name = document.getElementById('record-name').value;
|
1293 |
-
const value = document.getElementById('record-value').value;
|
1294 |
-
const ttl = document.getElementById('record-ttl').value;
|
1295 |
-
|
1296 |
-
// In a real app, you would make an API call here
|
1297 |
-
alert(`Enregistrement DNS ajouté (simulation)\nType: ${type}\nNom: ${name}\nValeur: ${value}\nTTL: ${ttl}`);
|
1298 |
-
|
1299 |
-
// Close modal
|
1300 |
-
addDnsModal.classList.add('hidden');
|
1301 |
-
|
1302 |
-
// Reload DNS records
|
1303 |
-
loadDnsRecords(panelDomainName.textContent);
|
1304 |
-
});
|
1305 |
-
}
|
1306 |
-
|
1307 |
-
// Show domain results
|
1308 |
-
function showDomainResults(domain) {
|
1309 |
-
searchedDomain.textContent = domain;
|
1310 |
-
|
1311 |
-
// Clear previous options
|
1312 |
-
domainOptions.innerHTML = '';
|
1313 |
-
|
1314 |
-
// Generate domain options
|
1315 |
-
const tlds = ['.free', '.web', '.site', '.online'];
|
1316 |
-
const prices = ['Gratuit', 'Gratuit', 'Gratuit', 'Gratuit'];
|
1317 |
-
|
1318 |
-
tlds.forEach((tld, index) => {
|
1319 |
-
const domainOption = document.createElement('div');
|
1320 |
-
domainOption.className = 'flex justify-between items-center p-4 border-b border-gray-200 last:border-b-0';
|
1321 |
-
|
1322 |
-
domainOption.innerHTML = `
|
1323 |
-
<div class="flex items-center">
|
1324 |
-
<input type="radio" name="domain-option" id="option-${index}" class="mr-3" ${index === 0 ? 'checked' : ''}>
|
1325 |
-
<label for="option-${index}" class="font-medium">${domain.split('.')[0]}${tld}</label>
|
1326 |
-
</div>
|
1327 |
-
<div class="flex items-center">
|
1328 |
-
<span class="text-lg font-bold text-purple-600 mr-4">${prices[index]}</span>
|
1329 |
-
<button class="select-domain-btn px-4 py-2 bg-purple-600 hover:bg-purple-700 text-white rounded-lg text-sm" data-domain="${domain.split('.')[0]}${tld}">
|
1330 |
-
Sélectionner
|
1331 |
-
</button>
|
1332 |
-
</div>
|
1333 |
-
`;
|
1334 |
-
|
1335 |
-
domainOptions.appendChild(domainOption);
|
1336 |
-
});
|
1337 |
-
|
1338 |
-
// Show results section
|
1339 |
-
domainResults.classList.remove('hidden');
|
1340 |
-
|
1341 |
-
// Scroll to results
|
1342 |
-
setTimeout(() => {
|
1343 |
-
domainResults.scrollIntoView({ behavior: 'smooth' });
|
1344 |
-
|
1345 |
</html>
|
|
|
54 |
border: 2px solid #4f46e5;
|
55 |
background-color: #f5f3ff;
|
56 |
}
|
57 |
+
.admin-badge {
|
58 |
+
position: absolute;
|
59 |
+
top: -8px;
|
60 |
+
right: -8px;
|
61 |
+
background-color: #10B981;
|
62 |
+
color: white;
|
63 |
+
border-radius: 9999px;
|
64 |
+
width: 20px;
|
65 |
+
height: 20px;
|
66 |
+
display: flex;
|
67 |
+
align-items: center;
|
68 |
+
justify-content: center;
|
69 |
+
font-size: 12px;
|
70 |
+
}
|
71 |
</style>
|
72 |
</head>
|
73 |
<body class="bg-gray-50">
|
|
|
653 |
|
654 |
<div>
|
655 |
<label for="record-value" class="block text-sm font-medium text-gray-700 mb-1">Valeur</label>
|
656 |
+
<input type="text" id="record-value" class="w-full px-4 py-2 border border-gray-300 rounded-lg
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
657 |
</html>
|
prompts.txt
CHANGED
@@ -5,4 +5,5 @@ le bouton Vérifier la disponibilité ne fonctionne pas
|
|
5 |
enregistrement domain, ssl, dns, serveur ect.. gratuitement au bureau d'enregistrement avec resultat sur les serveur et afficher sont site en ligne dans la seconde qui suit
|
6 |
le bouton : Panel de contrôle : et les autre sont pas cliquable et pas fonctionnel
|
7 |
ajouter serveur dns
|
8 |
-
ajouter bouton paypal , stripe , avec mes information pour etre payer , ajouter panier d'achat , obligatio de sabonner pour utiliser le site gratuitement
|
|
|
|
5 |
enregistrement domain, ssl, dns, serveur ect.. gratuitement au bureau d'enregistrement avec resultat sur les serveur et afficher sont site en ligne dans la seconde qui suit
|
6 |
le bouton : Panel de contrôle : et les autre sont pas cliquable et pas fonctionnel
|
7 |
ajouter serveur dns
|
8 |
+
ajouter bouton paypal , stripe , avec mes information pour etre payer , ajouter panier d'achat , obligatio de sabonner pour utiliser le site gratuitement
|
9 |
+
je veux acces gratuite pour moi seulement administrateur : [email protected] : Admin270574@ et [email protected] : Admin270574@
|