188 lines
7.3 KiB
TypeScript
188 lines
7.3 KiB
TypeScript
import Head from 'next/head'
|
|
import Link from 'next/link'
|
|
import { PageHeader } from '@/components/PageHeader'
|
|
|
|
function TermsSection({ title, children }: { title: string; children: React.ReactNode }) {
|
|
return (
|
|
<section>
|
|
<h2 className="text-2xl font-semibold text-cyber-accent mb-3">{title}</h2>
|
|
{children}
|
|
</section>
|
|
)
|
|
}
|
|
|
|
function ObjectSection() {
|
|
return (
|
|
<TermsSection title="1. Objet">
|
|
<p className="text-cyber-accent">
|
|
Les présentes Conditions Générales d'Utilisation (CGU) régissent l'utilisation de la plateforme zapwall.fr,
|
|
service de publication décentralisé basé sur le protocole Nostr.
|
|
</p>
|
|
</TermsSection>
|
|
)
|
|
}
|
|
|
|
function AcceptanceSection() {
|
|
return (
|
|
<TermsSection title="2. Acceptation des CGU">
|
|
<p className="text-cyber-accent">
|
|
L'utilisation de la plateforme implique l'acceptation pleine et entière des présentes CGU. En cas de refus,
|
|
l'utilisateur ne doit pas utiliser le service.
|
|
</p>
|
|
</TermsSection>
|
|
)
|
|
}
|
|
|
|
function ServiceDescriptionSection() {
|
|
return (
|
|
<TermsSection title="3. Description du service">
|
|
<p className="text-cyber-accent mb-2">
|
|
zapwall.fr est une plateforme permettant :
|
|
</p>
|
|
<ul className="list-disc list-inside text-cyber-accent space-y-1 ml-4">
|
|
<li>La publication d'articles scientifiques et de science-fiction</li>
|
|
<li>La vente d'articles via le protocole Lightning Network (800 sats, moins 100 sats et frais de transaction)</li>
|
|
<li>Le sponsoring d'auteurs (0.046 BTC, moins 0.004 BTC et frais de transaction)</li>
|
|
<li>La rémunération des avis (70 sats, moins 21 sats et frais de transaction)</li>
|
|
</ul>
|
|
</TermsSection>
|
|
)
|
|
}
|
|
|
|
function UserObligationsSection() {
|
|
return (
|
|
<TermsSection title="4. Obligations de l'utilisateur">
|
|
<p className="text-cyber-accent mb-2">L'utilisateur s'engage à :</p>
|
|
<ul className="list-disc list-inside text-cyber-accent space-y-1 ml-4">
|
|
<li>Respecter les lois et réglementations en vigueur</li>
|
|
<li>Ne pas publier de contenus illicites, diffamatoires ou contraires aux bonnes mœurs</li>
|
|
<li>Ne pas utiliser le service à des fins frauduleuses</li>
|
|
<li>Respecter les droits de propriété intellectuelle d'autrui</li>
|
|
<li>Maintenir la confidentialité de ses clés privées Nostr</li>
|
|
</ul>
|
|
</TermsSection>
|
|
)
|
|
}
|
|
|
|
function ResponsibilitySection() {
|
|
return (
|
|
<TermsSection title="5. Responsabilité">
|
|
<p className="text-cyber-accent mb-2">
|
|
La plateforme zapwall.fr est un service décentralisé. Chaque utilisateur est responsable :
|
|
</p>
|
|
<ul className="list-disc list-inside text-cyber-accent space-y-1 ml-4">
|
|
<li>Du contenu qu'il publie</li>
|
|
<li>De la sécurité de ses clés privées</li>
|
|
<li>Des transactions qu'il effectue via le protocole Lightning Network</li>
|
|
</ul>
|
|
<p className="text-cyber-accent mt-2">
|
|
La plateforme ne peut être tenue responsable des pertes résultant de la perte de clés privées ou d'erreurs
|
|
de transaction.
|
|
</p>
|
|
</TermsSection>
|
|
)
|
|
}
|
|
|
|
function FinancialTransactionsSection() {
|
|
return (
|
|
<TermsSection title="6. Transactions financières">
|
|
<p className="text-cyber-accent mb-2">
|
|
Les transactions sont effectuées via le protocole Lightning Network. Les frais de transaction sont à la charge
|
|
de l'utilisateur.
|
|
</p>
|
|
<p className="text-cyber-accent mb-2">
|
|
Les montants indiqués sont nets des frais de plateforme. Les frais de transaction du réseau Lightning sont
|
|
additionnels.
|
|
</p>
|
|
<p className="text-cyber-accent mb-2">
|
|
<strong className="text-neon-cyan">Fonctionnement des transactions :</strong>
|
|
</p>
|
|
<ul className="list-disc list-inside text-cyber-accent space-y-1 ml-4">
|
|
<li>Les paiements d'articles sont opérés et visibles comme les zaps sur le réseau Nostr</li>
|
|
<li>Les rewards (récompenses pour les avis) sont opérés et récupérés sur Bitcoin</li>
|
|
<li>Les articles avant validation du paiement sont des notes privées entre l'auteur et le compte de la plateforme, opérées par Nostr</li>
|
|
<li>La plateforme suit les transactions car elle est systématiquement partie prenante</li>
|
|
<li>Les npub (clés publiques Nostr) sont sauvegardées avec les transactions pour la traçabilité</li>
|
|
</ul>
|
|
</TermsSection>
|
|
)
|
|
}
|
|
|
|
function IntellectualPropertySection() {
|
|
return (
|
|
<TermsSection title="7. Propriété intellectuelle">
|
|
<p className="text-cyber-accent">
|
|
Les contenus publiés par les utilisateurs restent leur propriété exclusive. En publiant sur zapwall.fr,
|
|
l'utilisateur garantit qu'il dispose des droits nécessaires sur le contenu publié.
|
|
</p>
|
|
</TermsSection>
|
|
)
|
|
}
|
|
|
|
function ModificationSection() {
|
|
return (
|
|
<TermsSection title="8. Modification des CGU">
|
|
<p className="text-cyber-accent">
|
|
Les présentes CGU peuvent être modifiées à tout moment. Les utilisateurs seront informés des modifications
|
|
importantes. La poursuite de l'utilisation du service vaut acceptation des nouvelles CGU.
|
|
</p>
|
|
</TermsSection>
|
|
)
|
|
}
|
|
|
|
function TerminationSection() {
|
|
return (
|
|
<TermsSection title="9. Résiliation">
|
|
<p className="text-cyber-accent">
|
|
L'utilisateur peut cesser d'utiliser le service à tout moment. La plateforme se réserve le droit de suspendre
|
|
ou supprimer tout compte en cas de violation des présentes CGU.
|
|
</p>
|
|
</TermsSection>
|
|
)
|
|
}
|
|
|
|
function ApplicableLawSection() {
|
|
return (
|
|
<TermsSection title="10. Droit applicable">
|
|
<p className="text-cyber-accent">
|
|
Les présentes CGU sont régies par le droit français. Tout litige sera soumis aux tribunaux compétents français.
|
|
</p>
|
|
</TermsSection>
|
|
)
|
|
}
|
|
|
|
export default function TermsPage() {
|
|
return (
|
|
<>
|
|
<Head>
|
|
<title>Conditions Générales d'Utilisation - zapwall.fr</title>
|
|
<meta name="description" content="Conditions Générales d'Utilisation de zapwall.fr" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
</Head>
|
|
<main className="min-h-screen bg-cyber-darker">
|
|
<PageHeader />
|
|
<div className="max-w-4xl mx-auto px-4 py-8">
|
|
<div className="bg-cyber-dark border border-neon-cyan/30 rounded-lg shadow-glow-cyan p-8 space-y-6">
|
|
<h1 className="text-3xl font-bold text-neon-cyan mb-6">Conditions Générales d'Utilisation</h1>
|
|
<ObjectSection />
|
|
<AcceptanceSection />
|
|
<ServiceDescriptionSection />
|
|
<UserObligationsSection />
|
|
<ResponsibilitySection />
|
|
<FinancialTransactionsSection />
|
|
<IntellectualPropertySection />
|
|
<ModificationSection />
|
|
<TerminationSection />
|
|
<ApplicableLawSection />
|
|
<div className="mt-8 pt-6 border-t border-neon-cyan/30">
|
|
<Link href="/" className="text-neon-cyan hover:text-neon-green underline">
|
|
← Retour à l'accueil
|
|
</Link>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</main>
|
|
</>
|
|
)
|
|
}
|