import { LockKeyhole, ShieldCheck } from "lucide-react";

import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card";
import PublicDocumentBackLink from "@/components/PublicDocumentBackLink";
import { DATA_PRIVACY_NOTICE_VERSION } from "@shared/privacyCompliance";

export default function PrivacyPolicy() {
  return (
    <div className="min-h-screen bg-muted/30">
      <header className="border-b border-border bg-white">
        <div className="container py-4">
          <div className="flex items-center justify-between gap-4">
            <div>
              <p className="text-xs uppercase tracking-wider text-muted-foreground">Portail Associations CCDS</p>
              <h1 className="text-2xl font-bold">Confidentialité et données personnelles</h1>
            </div>
            <PublicDocumentBackLink />
          </div>
        </div>
      </header>

      <main className="container py-8 space-y-6">
        <Card className="border-primary/15 bg-primary/5">
          <CardHeader>
            <CardTitle className="flex items-center gap-2">
              <ShieldCheck className="h-5 w-5 text-primary" />
              Base de conformité mise en place
            </CardTitle>
            <CardDescription>
              Cette page documente le socle de transparence RGPD et les mesures techniques alignées sur de bonnes pratiques ISO 27001 du portail.
            </CardDescription>
          </CardHeader>
          <CardContent className="text-sm text-muted-foreground space-y-2">
            <p>Version d’information : <span className="font-medium text-foreground">{DATA_PRIVACY_NOTICE_VERSION}</span></p>
            <p>Cette page ne vaut pas certification ISO 27001 ni audit juridique complet ; elle formalise le dispositif applicatif visible dans le portail.</p>
          </CardContent>
        </Card>

        <div className="grid gap-6 lg:grid-cols-2">
          <Card>
            <CardHeader>
              <CardTitle>Responsable du traitement</CardTitle>
            </CardHeader>
            <CardContent className="space-y-3 text-sm">
              <p><strong>Organisme :</strong> Communauté de Communes des Savanes (CCDS)</p>
              <p><strong>Portail concerné :</strong> https://www.portail-association973.com</p>
              <p><strong>Hébergement :</strong> Infrastructure OVH</p>
              <p><strong>Point de contact portail :</strong> contact@portail-associations.fr</p>
              <p><strong>Exercice des droits :</strong> les demandes d’accès, de rectification, d’opposition, de limitation, d’effacement ou d’export peuvent être adressées via ce point de contact ou par les canaux institutionnels de la CCDS.</p>
            </CardContent>
          </Card>

          <Card>
            <CardHeader>
              <CardTitle>Finalités principales</CardTitle>
            </CardHeader>
            <CardContent className="space-y-3 text-sm">
              <p>Le portail traite les données nécessaires pour :</p>
              <ul className="list-disc space-y-2 pl-5 text-muted-foreground">
                <li>gérer les comptes associations et les comptes internes ;</li>
                <li>traiter les demandes administratives, de salle et de matériel ;</li>
                <li>gérer les documents transmis ;</li>
                <li>assurer le suivi logistique, la supervision et la traçabilité des actions ;</li>
                <li>sécuriser l’accès au portail et conserver un historique des actions sensibles.</li>
              </ul>
            </CardContent>
          </Card>

          <Card>
            <CardHeader>
              <CardTitle>Catégories de données</CardTitle>
            </CardHeader>
            <CardContent className="space-y-3 text-sm text-muted-foreground">
              <p>Le portail peut traiter notamment :</p>
              <ul className="list-disc space-y-2 pl-5">
                <li>données d’identité et de contact des représentants associatifs ;</li>
                <li>coordonnées de l’association, SIRET, RNA, objet associatif ;</li>
                <li>pièces jointes administratives ;</li>
                <li>données de connexion, rôles, historique d’actions et journaux techniques ;</li>
                <li>données nécessaires au suivi des réservations, restitutions et validations internes.</li>
              </ul>
            </CardContent>
          </Card>

          <Card>
            <CardHeader>
              <CardTitle>Base légale et droits</CardTitle>
            </CardHeader>
            <CardContent className="space-y-3 text-sm text-muted-foreground">
              <p>Les traitements reposent principalement sur l’exécution du service demandé, la gestion administrative et logistique portée par la CCDS, l’intérêt légitime de sécurité et de traçabilité du portail, et, selon les parcours, une validation explicite des données personnelles avant enregistrement.</p>
              <p>Les personnes concernées peuvent demander l’accès, la rectification, la limitation, l’opposition, l’effacement ou l’export de leurs données selon le cadre applicable.</p>
              <p>Le portail journalise les validations explicites de confidentialité sur plusieurs parcours sensibles afin de conserver une preuve de consentement ou d’information au moment de la saisie.</p>
            </CardContent>
          </Card>
        </div>

        <Card>
          <CardHeader>
            <CardTitle>Destinataires et accès aux données</CardTitle>
          </CardHeader>
          <CardContent className="space-y-3 text-sm text-muted-foreground">
            <p>Les données sont accessibles, selon les besoins métier, aux agents habilités de la CCDS, aux administrateurs internes autorisés et aux prestataires techniques strictement nécessaires à l’exploitation du portail.</p>
            <p>Le portail s’appuie notamment sur l’hébergement OVH et peut, selon les choix de connexion de l’utilisateur, utiliser des fournisseurs d’authentification tiers comme Google ou Facebook.</p>
            <p>Les données visibles publiquement dans l’annuaire ou la carte restent limitées aux informations que le portail publie à cette fin et ne reprennent pas les pièces internes ni les données d’administration non destinées au public.</p>
          </CardContent>
        </Card>

        <Card>
          <CardHeader>
            <CardTitle className="flex items-center gap-2">
              <LockKeyhole className="h-5 w-5 text-primary" />
              Mesures techniques et organisationnelles visibles
            </CardTitle>
          </CardHeader>
          <CardContent className="grid gap-4 md:grid-cols-2 text-sm text-muted-foreground">
            <ul className="list-disc space-y-2 pl-5">
              <li>authentification par compte local ou fournisseur social ;</li>
              <li>gestion des rôles et séparation des accès ;</li>
              <li>journalisation des actions sensibles ;</li>
              <li>préproduction distincte de la production ;</li>
            </ul>
            <ul className="list-disc space-y-2 pl-5">
              <li>contrôle opérationnel continu du portail ;</li>
              <li>restriction des modifications selon l’état métier des dossiers ;</li>
              <li>pages de prévisualisation sécurisées pour les documents ;</li>
              <li>validation explicite des données personnelles avant enregistrement de certains formulaires.</li>
            </ul>
          </CardContent>
        </Card>

        <Card>
          <CardHeader>
            <CardTitle>Durées de conservation et vigilance</CardTitle>
          </CardHeader>
          <CardContent className="space-y-3 text-sm text-muted-foreground">
            <p>Le portail applique un cadre de conservation documenté, à confirmer et compléter avec la gouvernance métier de la CCDS selon les obligations administratives, comptables, contractuelles et d’archivage.</p>
            <ul className="list-disc space-y-2 pl-5">
              <li>comptes utilisateurs : durée du compte, puis suppression différée avec purge planifiée ;</li>
              <li>profils associations : durée d’activité puis conservation limitée ;</li>
              <li>réservations et demandes : conservation active de plusieurs années pour le suivi administratif ;</li>
              <li>journaux de sécurité : conservation limitée à des besoins de cybersécurité et de traçabilité ;</li>
              <li>sauvegardes : rotation technique limitée dans le temps.</li>
            </ul>
            <p>Le portail intègre déjà l’export des données, la demande de suppression de compte et un moteur de purge planifiée. La couverture complète de toutes les catégories documentaires et de toutes les preuves d’exploitation reste toutefois à finaliser.</p>
            <p>Le portail fournit un cadre de transparence et de sécurité applicative ; la conformité complète suppose aussi une gouvernance documentaire, un registre des traitements, une politique d’habilitation et des procédures internes portées par la collectivité.</p>
          </CardContent>
        </Card>
      </main>
    </div>
  );
}
