import type { ReactNode } from "react"
import { ULTICAL_APP_NAME, ULTICARDS_APP_NAME } from "@/lib/suite/page-metadata"
import { suitePublicAsset } from "@/lib/suite/suite-public-asset"

export type ProductFeature = {
  title: string
  description: string
  icon: string
}

export type ProductShowcaseDemo =
  | "ultimail-inbox"
  | "ultimail-compose"
  | "ultimail-automation"
  | "ultidrive-browser"
  | "ultidrive-docs"
  | "ultidrive-share"
  | "ultical-agenda"
  | "ultical-invitations"
  | "ultical-scheduling"
  | "ultiai-chat"
  | "ultiai-tools"
  | "ultiai-triage"
  | "ulticards-directory"
  | "ulticards-discovery"
  | "ulticards-merge"
  | "ultimeet-room"
  | "ultimeet-lobby"
  | "ultimeet-collab"
  | "admin-migration"
  | "admin-identity"
  | "admin-users"
  | "admin-quotas"
  | "admin-policies"

export type ProductShowcase = {
  id: string
  eyebrow: string
  title: ReactNode
  description?: string
  features: ProductFeature[]
  demo: ProductShowcaseDemo
  reverse?: boolean
}

/** @deprecated Préférer `showcases` pour les pages produit. */
export type ProductFeatureGroup = {
  eyebrow: string
  title: ReactNode
  description?: string
  features: (ProductFeature & { wide?: boolean })[]
}

export type ProductHighlight = {
  value: string
  label: string
}

export type ProductIntegration = {
  name: string
  tagline: string
  description: string
  icon: string
  href?: string
  accent: string
}

export type ProductCtaLink = {
  label: string
  href: string
}

export type ProductCrossPlatformSection = {
  eyebrow: string
  title: ReactNode
  description: string
  features: ProductFeature[]
}

export type ProductInteropProvider = {
  name: string
  tagline: string
  icon: string
  accent: string
  /** Icône logos:* Iconify — couleurs d'origine, sans teinte accent. */
  brandLogo?: boolean
  personal: string
  enterprise: string
}

export type ProductInteropSection = {
  eyebrow: string
  title: ReactNode
  description: string
  providers: ProductInteropProvider[]
  features: ProductFeature[]
}

export type ProductCrossPlatformDemoApp = "mail" | "drive" | "meet"

export type ProductPageData = {
  name: string
  tagline: string
  description: string
  icon: string
  accent: string
  heroEyebrow: string
  heroTitle: string
  heroTitleAccent: string
  ctas: {
    primary: ProductCtaLink
    secondary?: ProductCtaLink
  }
  highlightsSection: {
    eyebrow: string
    title: ReactNode
    description: string
    highlights: ProductHighlight[]
  }
  showcases: ProductShowcase[]
  crossPlatformSection?: ProductCrossPlatformSection
  crossPlatformDemo?: ProductCrossPlatformDemoApp
  interopSection?: ProductInteropSection
  /** Grille classique — fallback si pas de showcases. */
  featureGroups?: ProductFeatureGroup[]
  integrations: ProductIntegration[]
  ctaSection: {
    title: ReactNode
    description: string
    ctas: {
      primary: ProductCtaLink
      secondary?: ProductCtaLink
    }
  }
}

export const ULTIMAIL_PRODUCT: ProductPageData = {
  name: "Ultimail",
  tagline: "Messagerie",
  description:
    "Boîte unifiée multi-comptes, libellés intelligents, règles de tri, envoi programmé et tri IA — l'alternative souveraine à Gmail, hébergée chez vous.",
  icon: suitePublicAsset("/ultimail-mark.svg"),
  accent: "#EA4335",
  heroEyebrow: "Messagerie souveraine",
  heroTitle: "Tous vos comptes mail,",
  heroTitleAccent: "une seule boîte.",
  ctas: {
    primary: { label: "Ouvrir Ultimail", href: "/mail/inbox" },
    secondary: { label: "Essayer la démo", href: "/#demo" },
  },
  highlightsSection: {
    eyebrow: "Pourquoi Ultimail",
    title: (
      <>
        Au-delà de Gmail,{" "}
        <span className="landing-gradient-text">sans quitter vos habitudes</span>
      </>
    ),
    description:
      "Interface familière, automatisations avancées et IA maîtrisée — sans céder vos données.",
    highlights: [
      { value: "N→1", label: "comptes dans une boîte unifiée" },
      { value: "∞", label: "libellés cross-comptes" },
      { value: "IA", label: "tri LLM & agents MCP" },
      { value: "0", label: "tracker ou télémétrie" },
    ],
  },
  showcases: [
    {
      id: "boite-unifiee",
      eyebrow: "Boîte unifiée",
      title: (
        <>
          Multi-comptes,{" "}
          <span className="landing-gradient-text">une seule vue</span>
        </>
      ),
      description:
        "IMAP/SMTP, libellés unifiés et recherche cross-comptes — tout au même endroit.",
      demo: "ultimail-inbox",
      features: [
        {
          title: "Comptes IMAP & SMTP",
          description: "Plusieurs boîtes, synchronisation permanente côté serveur.",
          icon: "mdi:email-sync-outline",
        },
        {
          title: "Identités & catch-all",
          description: "Alias, routage et adresses d'envoi distinctes du compte SMTP.",
          icon: "mdi:account-badge-outline",
        },
        {
          title: "Libellés & dossiers unifiés",
          description: "Organisez tous vos comptes avec les mêmes libellés et dossiers.",
          icon: "mdi:label-multiple-outline",
        },
        {
          title: "Recherche avancée",
          description: "Expéditeur, sujet, PJ — une requête traverse toutes vos boîtes.",
          icon: "mdi:file-search-outline",
        },
      ],
    },
    {
      id: "composition",
      eyebrow: "Composition & envoi",
      title: (
        <>
          Rédigez, programmez,{" "}
          <span className="landing-gradient-text">envoyez</span>
        </>
      ),
      description: "Éditeur riche, signatures par identité et envoi différé.",
      demo: "ultimail-compose",
      reverse: true,
      features: [
        {
          title: "Éditeur riche TipTap",
          description: "Mise en forme complète, rendu HTML compatible clients mail.",
          icon: "mdi:format-text",
        },
        {
          title: "Brouillons",
          description: "Reprenez vos messages en cours à tout moment.",
          icon: "mdi:content-save-outline",
        },
        {
          title: "Envoi programmé",
          description: "Planifiez l'envoi à l'heure qui vous convient.",
          icon: "mdi:clock-outline",
        },
        {
          title: "Pièces jointes & signatures",
          description: "PJ locales ou UltiDrive, signature par identité d'envoi.",
          icon: "mdi:paperclip",
        },
      ],
    },
    {
      id: "automatisations",
      eyebrow: "Automatisations & IA",
      title: (
        <>
          Règles visuelles,{" "}
          <span className="landing-gradient-text">zéro code</span>
        </>
      ),
      description:
        "Tri automatique, webhooks, tri LLM et tokens API pour vos agents.",
      demo: "ultimail-automation",
      features: [
        {
          title: "Éditeur no-code",
          description: "Déclencheurs, conditions et actions en flux visuel.",
          icon: "mdi:filter-cog-outline",
        },
        {
          title: "Forward & réponses auto",
          description: "Transferts et absences configurés par identité.",
          icon: "mdi:email-fast-outline",
        },
        {
          title: "Webhooks à templates",
          description: "Slack, Discord, n8n — JSON personnalisable à la réception.",
          icon: "mdi:webhook",
        },
        {
          title: "Tri IA & agents MCP",
          description: "LLM OpenAI-compatible et tokens à permissions fines.",
          icon: "mdi:creation-outline",
        },
      ],
    },
  ],
  crossPlatformSection: {
    eyebrow: "Multi-plateforme",
    title: (
      <>
        Expérience cohérente,{" "}
        <span className="landing-gradient-text">même sur mobile</span>
      </>
    ),
    description:
      "Apps iOS et Android natives (Tauri) : la même messagerie Ultimail, adaptée à chaque écran — du téléphone au bureau.",
    features: [
      {
        title: "Apps iOS & Android",
        description: "Clients natifs Tauri, même code et mêmes fonctionnalités que le web.",
        icon: "mdi:cellphone-link",
      },
      {
        title: "Interface responsive",
        description: "Liste seule sur mobile, split-view sur tablette, colonnes sur desktop.",
        icon: "mdi:responsive",
      },
      {
        title: "Gestes & raccourcis natifs",
        description: "Navigation tactile, notifications push et intégration système.",
        icon: "mdi:gesture-tap",
      },
      {
        title: "Sync unifiée",
        description: "Même compte, mêmes libellés et brouillons sur tous vos appareils.",
        icon: "mdi:sync",
      },
    ],
  },
  integrations: [
    {
      name: ULTICARDS_APP_NAME,
      tagline: "Contacts",
      description: "Saisie assistée à la composition et fiches enrichies.",
      icon: suitePublicAsset("/contacts-mark.svg"),
      href: "/contacts",
      accent: "#4285F4",
    },
    {
      name: "UltiDrive",
      tagline: "Fichiers",
      description: "PJ depuis le stockage ou partage par lien sécurisé.",
      icon: suitePublicAsset("/ultidrive-mark.svg"),
      href: "/suite/ultidrive",
      accent: "#34A853",
    },
    {
      name: ULTICAL_APP_NAME,
      tagline: "Calendrier",
      description: "Invitations et disponibilités synchronisées.",
      icon: suitePublicAsset("/agenda-mark.svg"),
      href: "/agenda",
      accent: "#34c77b",
    },
    {
      name: "UltiAI",
      tagline: "Assistant IA",
      description:
        "Résumez, rédigez, envoyez ou transférez vos mails sur simple commande.",
      icon: suitePublicAsset("/ultiai-mark.svg"),
      href: "/chat",
      accent: "#f2783c",
    },
  ],
  ctaSection: {
    title: (
      <>
        Prêt à unifier{" "}
        <span className="landing-gradient-text">votre messagerie</span> ?
      </>
    ),
    description:
      "Rattachez vos comptes existants et découvrez une boîte souveraine, sans renoncer à l'ergonomie Gmail.",
    ctas: {
      primary: { label: "Ouvrir Ultimail", href: "/mail/inbox" },
      secondary: { label: "Découvrir la suite", href: "/" },
    },
  },
}

export const ULTIDRIVE_PRODUCT: ProductPageData = {
  name: "UltiDrive",
  tagline: "Fichiers & docs",
  description:
    "Stockage souverain, interface familière type Google Drive, documents texte, bureautique OnlyOffice, partage par lien et montages cloud — hébergé chez vous.",
  icon: suitePublicAsset("/ultidrive-mark.svg"),
  accent: "#34A853",
  heroEyebrow: "Stockage souverain",
  heroTitle: "Vos fichiers,",
  heroTitleAccent: "sous votre contrôle.",
  ctas: {
    primary: { label: "Ouvrir UltiDrive", href: "/drive" },
    secondary: { label: "Essayer la démo", href: "/#demo" },
  },
  highlightsSection: {
    eyebrow: "Pourquoi UltiDrive",
    title: (
      <>
        L'ergonomie de Google Drive,{" "}
        <span className="landing-gradient-text">sans Google</span>
      </>
    ),
    description:
      "Explorateur familier, édition collaborative et partage fin — sur votre infrastructure Nextcloud ou WebDAV.",
    highlights: [
      { value: "∞", label: "stockage selon votre backend" },
      { value: "3", label: "éditeurs natifs (docs, office, draw)" },
      { value: "WebDAV", label: "montage local & sync" },
      { value: "0", label: "donnée chez un géant US" },
    ],
  },
  showcases: [
    {
      id: "explorateur",
      eyebrow: "Explorateur de fichiers",
      title: (
        <>
          Mon Drive,{" "}
          <span className="landing-gradient-text">comme chez Google</span>
        </>
      ),
      description:
        "Arborescence, favoris, récents, corbeille et recherche — branchés sur Nextcloud ou WebDAV.",
      demo: "ultidrive-browser",
      features: [
        {
          title: "Navigation familière",
          description: "Vues Mon Drive, Partagés, Favoris, Récents et Corbeille.",
          icon: "mdi:folder-multiple-outline",
        },
        {
          title: "Upload & glisser-déposer",
          description: "Déposez fichiers et dossiers, création de répertoires en un clic.",
          icon: "mdi:cloud-upload-outline",
        },
        {
          title: "Prévisualisation intégrée",
          description: "Images, PDF, texte et bureautique — sans quitter l'explorateur.",
          icon: "mdi:file-eye-outline",
        },
        {
          title: "Recherche rapide",
          description: "Filtrez par nom, type ou emplacement dans tout le drive.",
          icon: "mdi:magnify",
        },
      ],
    },
    {
      id: "documents",
      eyebrow: "Documents & bureautique",
      title: (
        <>
          Rédigez, dessinez,{" "}
          <span className="landing-gradient-text">co-éditez</span>
        </>
      ),
      description:
        "UltiDocs pour le texte riche, OnlyOffice pour docx/xlsx/pptx, UltiDraw pour les schémas.",
      demo: "ultidrive-docs",
      reverse: true,
      features: [
        {
          title: "UltiDocs",
          description: "Éditeur riche TipTap — tableaux, images, export PDF.",
          icon: "mdi:file-document-edit-outline",
        },
        {
          title: "OnlyOffice",
          description: "Word, Excel et PowerPoint en co-édition temps réel.",
          icon: "mdi:microsoft-office",
        },
        {
          title: "UltiDraw",
          description: "Diagrammes et croquis vectoriels intégrés à la suite.",
          icon: "mdi:draw",
        },
        {
          title: "Versioning",
          description: "Historique des versions via le backend Nextcloud.",
          icon: "mdi:history",
        },
      ],
    },
    {
      id: "partage",
      eyebrow: "Partage & collaboration",
      title: (
        <>
          Permissions simples,{" "}
          <span className="landing-gradient-text">liens sécurisés</span>
        </>
      ),
      description:
        "Propriétaire, éditeur, lecteur — partage interne, lien public, mot de passe et expiration.",
      demo: "ultidrive-share",
      features: [
        {
          title: "Partage interne",
          description: "Utilisateurs et groupes de l'organisation, rôles hérités.",
          icon: "mdi:account-group-outline",
        },
        {
          title: "Lien public",
          description: "URL partageable, lecture ou écriture, expiration configurable.",
          icon: "mdi:link-variant",
        },
        {
          title: "Protection par mot de passe",
          description: "Sécurisez les liens sensibles avant diffusion externe.",
          icon: "mdi:shield-lock-outline",
        },
        {
          title: "Montages cloud",
          description: "Google Drive, Dropbox, OneDrive ou WebDAV org — dans le même explorateur.",
          icon: "mdi:cloud-sync-outline",
        },
      ],
    },
  ],
  crossPlatformSection: {
    eyebrow: "Sync & montage",
    title: (
      <>
        Un drive local,{" "}
        <span className="landing-gradient-text">partout sur vos postes</span>
      </>
    ),
    description:
      "WebDAV natif, montage disque via rclone et client desktop Tauri — vos fichiers restent accessibles hors ligne.",
    features: [
      {
        title: "WebDAV natif",
        description: "Montez UltiDrive comme un disque réseau sur macOS, Windows et Linux.",
        icon: "mdi:server-network",
      },
      {
        title: "Client desktop Tauri",
        description: "Sync sélective et accès hors ligne depuis l'app UltiSuite.",
        icon: "mdi:desktop-classic",
      },
      {
        title: "Apps mobile",
        description: "Parcourez et partagez depuis iOS et Android — même UX que le web.",
        icon: "mdi:cellphone-link",
      },
      {
        title: "Intégration mail",
        description: "Enregistrez les PJ Ultimail directement dans votre drive.",
        icon: "mdi:email-arrow-right-outline",
      },
    ],
  },
  crossPlatformDemo: "drive",
  interopSection: {
    eyebrow: "Interopérabilité",
    title: (
      <>
        Vos clouds existants,{" "}
        <span className="landing-gradient-text">dans le même explorateur</span>
      </>
    ),
    description:
      "Montez vos dossiers personnels ou d'entreprise — Google Drive, OneDrive, Dropbox ou WebDAV — sans quitter UltiDrive.",
    providers: [
      {
        name: "Google Drive",
        tagline: "Drive personnel & Workspace",
        icon: "logos:google-drive",
        accent: "#4285F4",
        brandLogo: true,
        personal:
          "Connectez votre compte Google et parcourez Mon Drive depuis la barre latérale UltiDrive.",
        enterprise:
          "Montage Shared Drives (Workspace) pour accéder aux dossiers d'équipe sans migration.",
      },
      {
        name: "Microsoft OneDrive",
        tagline: "OneDrive & SharePoint",
        icon: "logos:microsoft-onedrive",
        accent: "#0078D4",
        brandLogo: true,
        personal:
          "Rattachez OneDrive perso — fichiers et albums visibles à côté de votre stockage Ulti.",
        enterprise:
          "OneDrive for Business et bibliothèques SharePoint montés pour les équipes.",
      },
      {
        name: "Dropbox",
        tagline: "Dropbox & Dropbox Business",
        icon: "logos:dropbox",
        accent: "#0061FF",
        brandLogo: true,
        personal:
          "OAuth Dropbox : votre espace perso apparaît comme un volume dans l'explorateur.",
        enterprise:
          "Dropbox Business — dossiers d'équipe et espaces partagés sans changer d'interface.",
      },
      {
        name: "WebDAV",
        tagline: "NAS, Nextcloud externe, serveur org",
        icon: "mdi:server-network",
        accent: "#34A853",
        personal:
          "Serveur WebDAV perso (NAS Synology, Nextcloud auto-hébergé) monté en quelques clics.",
        enterprise:
          "Volume WebDAV partagé par l'admin — visible pour toute l'organisation dans UltiDrive.",
      },
    ],
    features: [
      {
        title: "OAuth ou URL",
        description: "Connexion guidée pour les clouds grand public, URL + identifiants pour WebDAV.",
        icon: "mdi:key-link",
      },
      {
        title: "Vue unifiée",
        description: "Mon Drive, montages perso et volumes org dans la même arborescence.",
        icon: "mdi:folder-multiple-outline",
      },
      {
        title: "Permissions respectées",
        description: "Droits hérités du service source — lecture seule ou écriture selon le montage.",
        icon: "mdi:shield-check-outline",
      },
      {
        title: "Sans migration",
        description: "Gardez vos fichiers chez le fournisseur d'origine, accédez-y depuis UltiDrive.",
        icon: "mdi:cloud-sync-outline",
      },
    ],
  },
  integrations: [
    {
      name: "Ultimail",
      tagline: "Messagerie",
      description: "Pièces jointes sauvegardées et partage par lien depuis le mail.",
      icon: suitePublicAsset("/ultimail-mark.svg"),
      href: "/suite/ultimail",
      accent: "#EA4335",
    },
    {
      name: ULTICARDS_APP_NAME,
      tagline: "Contacts",
      description: "Partage par adresse e-mail avec autocomplétion contacts.",
      icon: suitePublicAsset("/contacts-mark.svg"),
      href: "/contacts",
      accent: "#4285F4",
    },
    {
      name: ULTICAL_APP_NAME,
      tagline: "Calendrier",
      description: "Fichiers joints aux événements et invitations.",
      icon: suitePublicAsset("/agenda-mark.svg"),
      href: "/agenda",
      accent: "#34c77b",
    },
    {
      name: "UltiAI",
      tagline: "Assistant IA",
      description:
        "Résumez vos documents, créez-en et modifiez-les sur simple commande.",
      icon: suitePublicAsset("/ultiai-mark.svg"),
      href: "/chat",
      accent: "#f2783c",
    },
  ],
  ctaSection: {
    title: (
      <>
        Prêt à reprendre le contrôle de{" "}
        <span className="landing-gradient-text">vos fichiers</span> ?
      </>
    ),
    description:
      "Déployez UltiDrive sur votre infrastructure et offrez à vos équipes une expérience Drive familière, sans dépendance cloud US.",
    ctas: {
      primary: { label: "Ouvrir UltiDrive", href: "/drive" },
      secondary: { label: "Découvrir la suite", href: "/" },
    },
  },
}

export const ULTICAL_PRODUCT: ProductPageData = {
  name: ULTICAL_APP_NAME,
  tagline: "Calendrier",
  description:
    "Calendrier partagé multi-agendas, invitations et RSVP liés au mail, disponibilités et prise de rendez-vous — l'alternative souveraine à Google Agenda, basée sur CalDAV et hébergée chez vous.",
  icon: suitePublicAsset("/agenda-mark.svg"),
  accent: "#FBBC04",
  heroEyebrow: "Calendrier souverain",
  heroTitle: "Tout votre temps,",
  heroTitleAccent: "au même endroit.",
  ctas: {
    primary: { label: "Ouvrir UltiCal", href: "/agenda" },
    secondary: { label: "Essayer la démo", href: "/demo/agenda" },
  },
  highlightsSection: {
    eyebrow: "Pourquoi UltiCal",
    title: (
      <>
        L'ergonomie de Google Agenda,{" "}
        <span className="landing-gradient-text">sans Google</span>
      </>
    ),
    description:
      "Vues familières, invitations connectées au mail et standard CalDAV ouvert — sur votre infrastructure, sans céder vos données.",
    highlights: [
      { value: "J/S/M", label: "vues jour, semaine, mois" },
      { value: "∞", label: "agendas partagés cross-comptes" },
      { value: "CalDAV", label: "standard ouvert, sans verrou" },
      { value: "0", label: "tracker ou télémétrie" },
    ],
  },
  showcases: [
    {
      id: "calendrier-partage",
      eyebrow: "Calendrier partagé",
      title: (
        <>
          Tous vos agendas,{" "}
          <span className="landing-gradient-text">une seule vue</span>
        </>
      ),
      description:
        "Vues jour, semaine et mois, glisser-déposer et agendas multiples — branchés sur votre serveur CalDAV.",
      demo: "ultical-agenda",
      features: [
        {
          title: "Multi-agendas CalDAV",
          description: "Perso, équipe et partagés — superposés avec leurs couleurs.",
          icon: "mdi:calendar-multiple",
        },
        {
          title: "Vues jour / semaine / mois",
          description: "Basculez d'un coup d'œil entre vos différentes échelles de temps.",
          icon: "mdi:calendar-week",
        },
        {
          title: "Glisser-déposer",
          description: "Déplacez et redimensionnez les événements directement à la souris.",
          icon: "mdi:cursor-move",
        },
        {
          title: "Couleurs & catégories",
          description: "Un code couleur par agenda pour distinguer pro, perso et projets.",
          icon: "mdi:palette-outline",
        },
      ],
    },
    {
      id: "invitations",
      eyebrow: "Invitations & RSVP",
      title: (
        <>
          Invitez, répondez,{" "}
          <span className="landing-gradient-text">synchronisez</span>
        </>
      ),
      description:
        "Invitations envoyées par mail, RSVP en un clic et visio UltiMeet ajoutée automatiquement.",
      demo: "ultical-invitations",
      reverse: true,
      features: [
        {
          title: "Détection depuis le mail",
          description: "Ultimail reconnaît les invitations .ics et propose Oui / Non / Peut-être.",
          icon: "mdi:email-arrow-right-outline",
        },
        {
          title: "RSVP en un clic",
          description: "Répondez sans quitter le mail — le statut se synchronise dans l'agenda.",
          icon: "mdi:check-circle-outline",
        },
        {
          title: "Visio UltiMeet auto",
          description: "Un lien de réunion chiffré généré et joint à chaque événement.",
          icon: "mdi:video-outline",
        },
        {
          title: "Invités & disponibilités",
          description: "Voyez qui a accepté et proposez un autre horaire en cas de conflit.",
          icon: "mdi:account-group-outline",
        },
      ],
    },
    {
      id: "rendez-vous",
      eyebrow: "Disponibilités & rendez-vous",
      title: (
        <>
          Vos créneaux libres,{" "}
          <span className="landing-gradient-text">réservables en un lien</span>
        </>
      ),
      description:
        "Partagez une page de réservation, laissez vos contacts choisir un créneau, recevez rappels et notifications.",
      demo: "ultical-scheduling",
      features: [
        {
          title: "Pages de réservation",
          description: "Un lien public façon Calendly, calé sur vos vraies disponibilités.",
          icon: "mdi:calendar-clock",
        },
        {
          title: "Free / busy en temps réel",
          description: "Les créneaux occupés sont masqués automatiquement, sans double réservation.",
          icon: "mdi:clock-check-outline",
        },
        {
          title: "Rappels & notifications",
          description: "Alertes par mail et notifications push avant chaque événement.",
          icon: "mdi:bell-outline",
        },
        {
          title: "Gestion des fuseaux",
          description: "Affichage et conversion automatiques selon le fuseau de chaque invité.",
          icon: "mdi:earth",
        },
      ],
    },
  ],
  interopSection: {
    eyebrow: "Interopérabilité",
    title: (
      <>
        Vos calendriers existants,{" "}
        <span className="landing-gradient-text">dans la même vue</span>
      </>
    ),
    description:
      "Abonnez vos agendas personnels ou d'entreprise — Google Agenda, Outlook, Apple ou CalDAV — sans quitter UltiCal.",
    providers: [
      {
        name: "Google Agenda",
        tagline: "Agenda perso & Workspace",
        icon: "logos:google-calendar",
        accent: "#4285F4",
        brandLogo: true,
        personal:
          "Connectez votre compte Google et superposez vos agendas perso dans la vue UltiCal.",
        enterprise:
          "Agendas d'équipe Workspace synchronisés pour coordonner les disponibilités sans migration.",
      },
      {
        name: "Microsoft Outlook",
        tagline: "Outlook & Microsoft 365",
        icon: "vscode-icons:file-type-outlook",
        accent: "#0078D4",
        brandLogo: true,
        personal:
          "Rattachez votre calendrier Outlook.com — événements visibles à côté de vos agendas Ulti.",
        enterprise:
          "Calendriers Microsoft 365 et salles de réunion partagés pour toute l'organisation.",
      },
      {
        name: "Apple iCloud",
        tagline: "iCloud & Calendrier Apple",
        icon: "mdi:apple",
        accent: "#9aa0a6",
        personal:
          "Abonnez vos agendas iCloud via CalDAV — la même base ouverte que vos appareils Apple.",
        enterprise:
          "Calendriers partagés iCloud accessibles depuis l'explorateur d'agendas UltiCal.",
      },
      {
        name: "CalDAV",
        tagline: "Nextcloud, Radicale, serveur org",
        icon: "mdi:calendar-sync",
        accent: "#FBBC04",
        personal:
          "Serveur CalDAV perso (Nextcloud, Radicale auto-hébergé) abonné en quelques clics.",
        enterprise:
          "Agendas CalDAV partagés par l'admin — visibles pour toute l'organisation dans UltiCal.",
      },
    ],
    features: [
      {
        title: "Standard CalDAV",
        description: "Protocole ouvert : aucun verrou propriétaire, vos données restent portables.",
        icon: "mdi:calendar-sync-outline",
      },
      {
        title: "Vue unifiée",
        description: "Agendas perso, abonnés et partagés org superposés dans le même calendrier.",
        icon: "mdi:calendar-multiple",
      },
      {
        title: "Sync bidirectionnelle",
        description: "Créez ici, retrouvez partout — vos appareils restent à jour automatiquement.",
        icon: "mdi:sync",
      },
      {
        title: "Apps mobile & desktop",
        description: "iOS, Android et client desktop Tauri — même agenda, adapté à chaque écran.",
        icon: "mdi:cellphone-link",
      },
    ],
  },
  integrations: [
    {
      name: "Ultimail",
      tagline: "Messagerie",
      description: "Invitations détectées dans le mail et RSVP synchronisés avec l'agenda.",
      icon: suitePublicAsset("/ultimail-mark.svg"),
      href: "/suite/ultimail",
      accent: "#EA4335",
    },
    {
      name: "UltiMeet",
      tagline: "Visio",
      description: "Lien de réunion chiffré ajouté automatiquement à chaque événement.",
      icon: suitePublicAsset("/ultimeet-mark.svg"),
      href: "/meet",
      accent: "#34A853",
    },
    {
      name: ULTICARDS_APP_NAME,
      tagline: "Contacts",
      description: "Autocomplétion des invités et fiches contacts enrichies.",
      icon: suitePublicAsset("/contacts-mark.svg"),
      href: "/contacts",
      accent: "#4285F4",
    },
    {
      name: "UltiAI",
      tagline: "Assistant IA",
      description:
        "Créez des créneaux ou déplacez vos rendez-vous sur simple commande.",
      icon: suitePublicAsset("/ultiai-mark.svg"),
      href: "/chat",
      accent: "#f2783c",
    },
  ],
  ctaSection: {
    title: (
      <>
        Prêt à reprendre le contrôle de{" "}
        <span className="landing-gradient-text">votre temps</span> ?
      </>
    ),
    description:
      "Déployez UltiCal sur votre infrastructure et offrez à vos équipes un calendrier partagé familier, sans dépendance cloud US.",
    ctas: {
      primary: { label: "Ouvrir UltiCal", href: "/agenda" },
      secondary: { label: "Découvrir la suite", href: "/" },
    },
  },
}

export const ULTIAI_PRODUCT: ProductPageData = {
  name: "UltiAI",
  tagline: "Assistant IA",
  description:
    "Assistant IA souverain intégré à toute la suite : chat contextuel, actions sur vos mails, fichiers, agenda et contacts via MCP, tri LLM et tokens API fine-grained — vos modèles, votre infrastructure.",
  icon: suitePublicAsset("/ultiai-mark.svg"),
  accent: "#F59E0B",
  heroEyebrow: "Assistant IA souverain",
  heroTitle: "Une IA qui agit",
  heroTitleAccent: "dans toute votre suite.",
  ctas: {
    primary: { label: "Ouvrir UltiAI", href: "/chat" },
    secondary: { label: "Découvrir la suite", href: "/" },
  },
  highlightsSection: {
    eyebrow: "Pourquoi UltiAI",
    title: (
      <>
        La puissance d'un copilote,{" "}
        <span className="landing-gradient-text">sans céder vos données</span>
      </>
    ),
    description:
      "Branchez le modèle de votre choix, donnez à l'assistant des outils sur votre suite et gardez le contrôle des permissions — sur votre infrastructure.",
    highlights: [
      { value: "∞", label: "modèles OpenAI-compatibles" },
      { value: "MCP", label: "outils suite & recherche web" },
      { value: "Tri IA", label: "classement & résumés automatiques" },
      { value: "0", label: "tracker ou télémétrie" },
    ],
  },
  showcases: [
    {
      id: "assistant",
      eyebrow: "Assistant conversationnel",
      title: (
        <>
          Votre copilote,{" "}
          <span className="landing-gradient-text">dans toute la suite</span>
        </>
      ),
      description:
        "Un chat intégré qui connaît le contexte de votre mail, vos fichiers et votre agenda — en plein écran ou en panneau latéral.",
      demo: "ultiai-chat",
      features: [
        {
          title: "Chat intégré partout",
          description: "Panneau latéral dans Ultimail et UltiDrive, ou plein écran sur /chat.",
          icon: "mdi:message-text-outline",
        },
        {
          title: "Contexte de la suite",
          description: "Comprend le mail ouvert, le fichier sélectionné ou l'événement en cours.",
          icon: "mdi:text-box-search-outline",
        },
        {
          title: "Réponses en streaming",
          description: "Génération token par token, sources et étapes affichées en direct.",
          icon: "mdi:lightning-bolt-outline",
        },
        {
          title: "Historique & conversations",
          description: "Reprenez vos échanges, épinglez les fils utiles, repartez d'un prompt.",
          icon: "mdi:history",
        },
      ],
    },
    {
      id: "outils",
      eyebrow: "Actions sur votre suite",
      title: (
        <>
          Plus que répondre,{" "}
          <span className="landing-gradient-text">elle agit</span>
        </>
      ),
      description:
        "Via MCP, UltiAI utilise des outils sur vos applications — recherche, envoi, classement, déplacement — avec des permissions par groupe.",
      demo: "ultiai-tools",
      reverse: true,
      features: [
        {
          title: "Outils Mail",
          description: "Recherche, lecture, envoi, libellés et suppression de messages.",
          icon: "mdi:email-search-outline",
        },
        {
          title: "Outils Drive & Contacts",
          description: "Fichiers, dossiers, partages, carnets d'adresses et fiches.",
          icon: "mdi:folder-account-outline",
        },
        {
          title: "Outils Agenda",
          description: "Événements UltiCal, invitations et visioconférence UltiMeet.",
          icon: "mdi:calendar-edit-outline",
        },
        {
          title: "Recherche unifiée + web",
          description: "Index mail/drive/contacts et recherche en ligne (Brave, SearXNG…).",
          icon: "mdi:magnify-scan",
        },
      ],
    },
    {
      id: "automatisations",
      eyebrow: "Tri IA & automatisations",
      title: (
        <>
          Triez et résumez,{" "}
          <span className="landing-gradient-text">sans lever le doigt</span>
        </>
      ),
      description:
        "Branchez l'IA dans vos règles de tri : classement par LLM, résumés, réponses suggérées et tokens API pour vos agents.",
      demo: "ultiai-triage",
      features: [
        {
          title: "Tri LLM par règle",
          description: "Prompt et contexte personnalisés par règle — le LLM choisit le libellé.",
          icon: "mdi:creation-outline",
        },
        {
          title: "Résumés & réponses",
          description: "Synthèse des longs fils et brouillons de réponse en un clic.",
          icon: "mdi:text-short",
        },
        {
          title: "Tokens API fine-grained",
          description: "Permissions partielles pour agents externes et webhooks.",
          icon: "mdi:key-chain-variant",
        },
        {
          title: "Fournisseur par règle",
          description: "Choisissez le modèle adapté à chaque automatisation.",
          icon: "mdi:tune-variant",
        },
      ],
    },
  ],
  interopSection: {
    eyebrow: "Vos modèles",
    title: (
      <>
        Vos modèles,{" "}
        <span className="landing-gradient-text">votre choix</span>
      </>
    ),
    description:
      "UltiAI parle l'API OpenAI-compatible : branchez un fournisseur cloud ou un modèle auto-hébergé, et changez quand vous voulez — sans lock-in.",
    providers: [
      {
        name: "OpenAI",
        tagline: "GPT & API compatibles",
        icon: "logos:openai-icon",
        accent: "#10A37F",
        brandLogo: true,
        personal:
          "Renseignez votre clé API OpenAI et choisissez le modèle pour le chat et le tri.",
        enterprise:
          "Azure OpenAI ou passerelle d'entreprise via le même endpoint compatible.",
      },
      {
        name: "Mistral AI",
        tagline: "Modèles européens",
        icon: "logos:mistral-ai-icon",
        accent: "#FA520F",
        brandLogo: true,
        personal:
          "Modèles Mistral hébergés en Europe, configurés en quelques secondes.",
        enterprise:
          "Déploiement Mistral dédié ou on-premise via endpoint compatible.",
      },
      {
        name: "Anthropic",
        tagline: "Famille Claude",
        icon: "logos:anthropic-icon",
        accent: "#D97757",
        brandLogo: true,
        personal:
          "Branchez Claude via une passerelle OpenAI-compatible pour le raisonnement.",
        enterprise:
          "Clés d'organisation et quotas gérés au niveau de l'admin.",
      },
      {
        name: "Ollama",
        tagline: "Modèles locaux & auto-hébergés",
        icon: "simple-icons:ollama",
        accent: "#F59E0B",
        personal:
          "Faites tourner Llama, Qwen ou Mistral en local — aucune donnée ne sort.",
        enterprise:
          "Serveur d'inférence interne (vLLM, Ollama) partagé pour toute l'organisation.",
      },
    ],
    features: [
      {
        title: "API OpenAI-compatible",
        description: "Tout endpoint conforme fonctionne : cloud, passerelle ou serveur local.",
        icon: "mdi:api",
      },
      {
        title: "Local & auto-hébergé",
        description: "Gardez l'inférence chez vous — idéal pour les données sensibles.",
        icon: "mdi:server-security",
      },
      {
        title: "Permissions par outil",
        description: "Activez ou coupez chaque groupe d'outils MCP exposé à l'assistant.",
        icon: "mdi:shield-key-outline",
      },
      {
        title: "Sans lock-in",
        description: "Changez de fournisseur ou de modèle sans migrer vos données.",
        icon: "mdi:swap-horizontal",
      },
    ],
  },
  integrations: [
    {
      name: "Ultimail",
      tagline: "Messagerie",
      description:
        "Tri IA et résumés, mais aussi envoi et transfert de vos mails sur votre commande.",
      icon: suitePublicAsset("/ultimail-mark.svg"),
      href: "/suite/ultimail",
      accent: "#EA4335",
    },
    {
      name: "UltiDrive",
      tagline: "Fichiers",
      description:
        "Interrogez et résumez vos documents, créez-en et modifiez-les sur votre commande.",
      icon: suitePublicAsset("/ultidrive-mark.svg"),
      href: "/suite/ultidrive",
      accent: "#34A853",
    },
    {
      name: ULTICAL_APP_NAME,
      tagline: "Calendrier",
      description:
        "Trouvez un créneau, créez des rendez-vous ou déplacez-les sur votre commande.",
      icon: suitePublicAsset("/agenda-mark.svg"),
      href: "/suite/ultical",
      accent: "#FBBC04",
    },
    {
      name: ULTICARDS_APP_NAME,
      tagline: "Contacts",
      description: "Retrouvez et enrichissez vos fiches contacts sur votre commande.",
      icon: suitePublicAsset("/contacts-mark.svg"),
      href: "/contacts",
      accent: "#4285F4",
    },
  ],
  ctaSection: {
    title: (
      <>
        Prêt à donner des{" "}
        <span className="landing-gradient-text">superpouvoirs à votre suite</span> ?
      </>
    ),
    description:
      "Activez UltiAI sur votre infrastructure, branchez votre modèle et gardez le contrôle total des données et des permissions.",
    ctas: {
      primary: { label: "Ouvrir UltiAI", href: "/chat" },
      secondary: { label: "Découvrir la suite", href: "/" },
    },
  },
}

export const ULTICARDS_PRODUCT: ProductPageData = {
  name: ULTICARDS_APP_NAME,
  tagline: "Contacts",
  description:
    "Carnet d'adresses unifié cross-comptes, fiches enrichies, découverte de contacts depuis le mail, fusion de doublons et sync CardDAV — l'alternative souveraine à Google Contacts, hébergée chez vous.",
  icon: suitePublicAsset("/contacts-mark.svg"),
  accent: "#4285F4",
  heroEyebrow: "Carnet d'adresses souverain",
  heroTitle: "Tous vos contacts,",
  heroTitleAccent: "au même endroit.",
  ctas: {
    primary: { label: "Ouvrir UltiCards", href: "/contacts" },
    secondary: { label: "Essayer la démo", href: "/demo/contacts" },
  },
  highlightsSection: {
    eyebrow: "Pourquoi UltiCards",
    title: (
      <>
        L'ergonomie de Google Contacts,{" "}
        <span className="landing-gradient-text">sans Google</span>
      </>
    ),
    description:
      "Carnet familier, enrichissement IA et standard CardDAV ouvert — partagé par toute la suite, sans céder vos données.",
    highlights: [
      { value: "1", label: "carnet unifié cross-comptes" },
      { value: "∞", label: "champs personnalisés & groupes" },
      { value: "CardDAV", label: "standard ouvert, sans verrou" },
      { value: "0", label: "tracker ou télémétrie" },
    ],
  },
  showcases: [
    {
      id: "carnet-unifie",
      eyebrow: "Carnet unifié",
      title: (
        <>
          Toutes vos fiches,{" "}
          <span className="landing-gradient-text">une seule vue</span>
        </>
      ),
      description:
        "Contacts, groupes, étiquettes et recherche instantanée — branchés sur votre serveur CardDAV.",
      demo: "ulticards-directory",
      features: [
        {
          title: "Fiches enrichies",
          description: "Emails, téléphones, adresses, organisation, anniversaire et notes.",
          icon: "mdi:card-account-details-outline",
        },
        {
          title: "Groupes & étiquettes",
          description: "Organisez par équipe, projet ou famille — filtres dynamiques.",
          icon: "mdi:tag-multiple-outline",
        },
        {
          title: "Champs personnalisés",
          description: "Ajoutez vos propres champs typés, sans limite ni schéma figé.",
          icon: "mdi:format-list-bulleted-type",
        },
        {
          title: "Recherche instantanée",
          description: "Nom, e-mail, société — recherche floue dans tout le carnet.",
          icon: "mdi:account-search-outline",
        },
      ],
    },
    {
      id: "decouverte",
      eyebrow: "Découverte & enrichissement",
      title: (
        <>
          Vos contacts,{" "}
          <span className="landing-gradient-text">détectés et complétés</span>
        </>
      ),
      description:
        "UltiCards scanne vos boîtes mail, propose les contacts manquants et enrichit les fiches par IA.",
      demo: "ulticards-discovery",
      reverse: true,
      features: [
        {
          title: "Découverte depuis le mail",
          description: "Profils détectés dans vos échanges, suggérés à l'ajout en un clic.",
          icon: "mdi:email-search-outline",
        },
        {
          title: "Enrichissement IA",
          description: "Société, poste et coordonnées extraits des signatures par LLM.",
          icon: "mdi:auto-fix",
        },
        {
          title: "Tri des indésirables",
          description: "Listes de diffusion, jetables et spam écartés automatiquement.",
          icon: "mdi:filter-remove-outline",
        },
        {
          title: "Interactions récentes",
          description: "Derniers mails échangés affichés directement dans la fiche.",
          icon: "mdi:history",
        },
      ],
    },
    {
      id: "doublons",
      eyebrow: "Doublons & import/export",
      title: (
        <>
          Un carnet propre,{" "}
          <span className="landing-gradient-text">sans doublons</span>
        </>
      ),
      description:
        "Détection intelligente des doublons, fusion assistée et migration sans douleur depuis vos carnets existants.",
      demo: "ulticards-merge",
      features: [
        {
          title: "Détection de doublons",
          description: "Fiches similaires regroupées par e-mail, nom ou téléphone.",
          icon: "mdi:account-multiple-outline",
        },
        {
          title: "Fusion assistée",
          description: "Combinez les champs en gardant la meilleure valeur de chaque fiche.",
          icon: "mdi:call-merge",
        },
        {
          title: "Import vCard, CSV & Google",
          description: "Récupérez vos carnets existants en quelques clics.",
          icon: "mdi:file-import-outline",
        },
        {
          title: "Export & impression",
          description: "Sauvegardez en vCard/CSV ou imprimez une fiche propre.",
          icon: "mdi:file-export-outline",
        },
      ],
    },
  ],
  interopSection: {
    eyebrow: "Interopérabilité",
    title: (
      <>
        Vos carnets existants,{" "}
        <span className="landing-gradient-text">dans la même vue</span>
      </>
    ),
    description:
      "Synchronisez vos contacts personnels ou d'entreprise — Google, iCloud, Outlook ou CardDAV — sans quitter UltiCards.",
    providers: [
      {
        name: "Google Contacts",
        tagline: "Contacts perso & Workspace",
        icon: "logos:google-icon",
        accent: "#4285F4",
        brandLogo: true,
        personal:
          "Importez vos contacts Google et retrouvez-les unifiés dans le carnet UltiCards.",
        enterprise:
          "Annuaire d'équipe Workspace synchronisé pour partager les fiches sans migration.",
      },
      {
        name: "Apple iCloud",
        tagline: "iCloud & Contacts Apple",
        icon: "mdi:apple",
        accent: "#9aa0a6",
        personal:
          "Synchronisez vos contacts iCloud via CardDAV — la même base ouverte que vos appareils Apple.",
        enterprise:
          "Carnets partagés iCloud accessibles depuis l'annuaire UltiCards.",
      },
      {
        name: "Microsoft Outlook",
        tagline: "Outlook & Microsoft 365",
        icon: "vscode-icons:file-type-outlook",
        accent: "#0078D4",
        brandLogo: true,
        personal:
          "Rattachez vos contacts Outlook.com — fiches visibles à côté de vos carnets Ulti.",
        enterprise:
          "Annuaire Microsoft 365 et listes de distribution partagés pour toute l'organisation.",
      },
      {
        name: "CardDAV",
        tagline: "Nextcloud, Radicale, serveur org",
        icon: "mdi:card-account-details-outline",
        accent: "#34A853",
        personal:
          "Serveur CardDAV perso (Nextcloud, Radicale auto-hébergé) synchronisé en quelques clics.",
        enterprise:
          "Carnets CardDAV partagés par l'admin — visibles pour toute l'organisation dans UltiCards.",
      },
    ],
    features: [
      {
        title: "Standard CardDAV",
        description: "Protocole ouvert : aucun verrou propriétaire, vos contacts restent portables.",
        icon: "mdi:sync",
      },
      {
        title: "Vue unifiée",
        description: "Carnets perso, importés et partagés org regroupés dans le même annuaire.",
        icon: "mdi:account-box-multiple-outline",
      },
      {
        title: "Sync bidirectionnelle",
        description: "Créez ici, retrouvez partout — vos appareils restent à jour automatiquement.",
        icon: "mdi:sync-circle",
      },
      {
        title: "Apps mobile & desktop",
        description: "iOS, Android et client desktop Tauri — même carnet, adapté à chaque écran.",
        icon: "mdi:cellphone-link",
      },
    ],
  },
  integrations: [
    {
      name: "Ultimail",
      tagline: "Messagerie",
      description: "Autocomplétion des destinataires et fiches enrichies à la composition.",
      icon: suitePublicAsset("/ultimail-mark.svg"),
      href: "/suite/ultimail",
      accent: "#EA4335",
    },
    {
      name: ULTICAL_APP_NAME,
      tagline: "Calendrier",
      description: "Invités suggérés depuis le carnet et anniversaires dans l'agenda.",
      icon: suitePublicAsset("/agenda-mark.svg"),
      href: "/suite/ultical",
      accent: "#FBBC04",
    },
    {
      name: "UltiDrive",
      tagline: "Fichiers",
      description: "Partage par adresse e-mail avec autocomplétion des contacts.",
      icon: suitePublicAsset("/ultidrive-mark.svg"),
      href: "/suite/ultidrive",
      accent: "#34A853",
    },
    {
      name: "UltiAI",
      tagline: "Assistant IA",
      description: "Retrouvez et enrichissez vos fiches contacts sur simple commande.",
      icon: suitePublicAsset("/ultiai-mark.svg"),
      href: "/suite/ultiai",
      accent: "#f2783c",
    },
  ],
  ctaSection: {
    title: (
      <>
        Prêt à reprendre le contrôle de{" "}
        <span className="landing-gradient-text">votre carnet d'adresses</span> ?
      </>
    ),
    description:
      "Déployez UltiCards sur votre infrastructure et offrez à vos équipes un carnet partagé familier, sans dépendance cloud US.",
    ctas: {
      primary: { label: "Ouvrir UltiCards", href: "/contacts" },
      secondary: { label: "Découvrir la suite", href: "/" },
    },
  },
}

export const ULTIMEET_PRODUCT: ProductPageData = {
  name: "UltiMeet",
  tagline: "Visio",
  description:
    "Lancez une visio en un clic, sans que Google, Microsoft ou Zoom puissent écouter ce qui s'y dit. Vos réunions restent chiffrées et entre vous.",
  icon: suitePublicAsset("/ultimeet-mark.svg"),
  accent: "#34A853",
  heroEyebrow: "Visioconférence souveraine",
  heroTitle: "Vos réunions vidéo,",
  heroTitleAccent: "à l'abri des GAFAM.",
  ctas: {
    primary: { label: "Démarrer une réunion", href: "/meet" },
    secondary: { label: "Découvrir la suite", href: "/" },
  },
  highlightsSection: {
    eyebrow: "Pourquoi UltiMeet",
    title: (
      <>
        Des réunions{" "}
        <span className="landing-gradient-text">que personne n'écoute</span>
      </>
    ),
    description:
      "Une visio claire et familière, connectée à votre agenda et votre messagerie — sans que les géants du web puissent écouter ni profiler vos échanges.",
    highlights: [
      { value: "1 clic", label: "pour lancer une réunion" },
      { value: "E2EE", label: "chiffrement de bout en bout" },
      { value: "0", label: "GAFAM à l'écoute" },
      { value: "0", label: "tracker ou télémétrie" },
    ],
  },
  showcases: [
    {
      id: "reunions-navigateur",
      eyebrow: "Réunions dans le navigateur",
      title: (
        <>
          Lancez une visio,{" "}
          <span className="landing-gradient-text">en un clic</span>
        </>
      ),
      description:
        "Vidéo HD WebRTC, grille de participants et contrôles familiers — sans plugin ni application à installer.",
      demo: "ultimeet-room",
      features: [
        {
          title: "Vidéo HD WebRTC",
          description: "Flux audio/vidéo temps réel dans le navigateur, sans installation.",
          icon: "mdi:video-outline",
        },
        {
          title: "Chiffrement de bout en bout",
          description: "Médias chiffrés (E2EE) — vos réunions restent privées.",
          icon: "mdi:lock-check-outline",
        },
        {
          title: "Salles persistantes",
          description: "Une URL stable par équipe ou projet, réutilisable à volonté.",
          icon: "mdi:door-open",
        },
        {
          title: "Grille & vue active",
          description: "Mosaïque ou orateur épinglé, détection automatique de la voix.",
          icon: "mdi:view-grid-outline",
        },
      ],
    },
    {
      id: "planification-acces",
      eyebrow: "Planification & accès",
      title: (
        <>
          Planifiée dans l'agenda,{" "}
          <span className="landing-gradient-text">protégée par un lobby</span>
        </>
      ),
      description:
        "Un lien généré depuis UltiCal et Ultimail, une salle d'attente et un contrôle d'accès — sans compte pour vos invités.",
      demo: "ultimeet-lobby",
      reverse: true,
      features: [
        {
          title: "Lien depuis UltiCal",
          description: "Visio ajoutée automatiquement à chaque événement et invitation.",
          icon: "mdi:calendar-plus-outline",
        },
        {
          title: "Salle d'attente",
          description: "Les participants patientent jusqu'à l'admission par l'hôte.",
          icon: "mdi:account-clock-outline",
        },
        {
          title: "Contrôle d'accès",
          description: "Verrouillage de salle, mot de passe et expulsion en un clic.",
          icon: "mdi:shield-account-outline",
        },
        {
          title: "Sans compte pour les invités",
          description: "Vos contacts rejoignent depuis un simple lien, aucun compte requis.",
          icon: "mdi:link-variant",
        },
      ],
    },
    {
      id: "collaboration",
      eyebrow: "Collaboration en réunion",
      title: (
        <>
          Partagez, réagissez,{" "}
          <span className="landing-gradient-text">transcrivez</span>
        </>
      ),
      description:
        "Partage d'écran, chat, réactions et enregistrement — avec transcription et résumés générés par UltiAI.",
      demo: "ultimeet-collab",
      features: [
        {
          title: "Partage d'écran",
          description: "Diffusez une fenêtre, un onglet ou tout l'écran en HD.",
          icon: "mdi:monitor-share",
        },
        {
          title: "Chat & réactions",
          description: "Messages, émojis, lever la main et sondages pendant la réunion.",
          icon: "mdi:message-reply-text-outline",
        },
        {
          title: "Enregistrement",
          description: "Enregistrez la session sur votre UltiDrive, sous votre contrôle.",
          icon: "mdi:record-rec",
        },
        {
          title: "Transcription IA",
          description: "Sous-titres en direct et résumé d'après-réunion via UltiAI.",
          icon: "mdi:text-recognition",
        },
      ],
    },
  ],
  crossPlatformSection: {
    eyebrow: "Multi-plateforme",
    title: (
      <>
        Rejoignez depuis{" "}
        <span className="landing-gradient-text">n'importe quel appareil</span>
      </>
    ),
    description:
      "Navigateur, apps iOS et Android natives (Tauri) ou client desktop — la même réunion UltiMeet, adaptée à chaque écran et à chaque connexion.",
    features: [
      {
        title: "Navigateur, zéro install",
        description: "Chrome, Safari, Firefox ou Edge — un lien suffit pour rejoindre.",
        icon: "mdi:web",
      },
      {
        title: "Apps iOS & Android",
        description: "Clients natifs Tauri, même expérience que sur le web.",
        icon: "mdi:cellphone-link",
      },
      {
        title: "Mode économe",
        description: "Adaptation du débit et coupure vidéo automatique sur réseau faible.",
        icon: "mdi:signal-cellular-2",
      },
      {
        title: "Notifications & rappels",
        description: "Alertes avant chaque réunion, synchronisées avec UltiCal.",
        icon: "mdi:bell-outline",
      },
    ],
  },
  crossPlatformDemo: "meet",
  integrations: [
    {
      name: ULTICAL_APP_NAME,
      tagline: "Calendrier",
      description: "Lien de réunion chiffré ajouté automatiquement à chaque événement.",
      icon: suitePublicAsset("/agenda-mark.svg"),
      href: "/suite/ultical",
      accent: "#FBBC04",
    },
    {
      name: "Ultimail",
      tagline: "Messagerie",
      description: "Invitations détectées dans le mail et lien visio en un clic.",
      icon: suitePublicAsset("/ultimail-mark.svg"),
      href: "/suite/ultimail",
      accent: "#EA4335",
    },
    {
      name: ULTICARDS_APP_NAME,
      tagline: "Contacts",
      description: "Invités suggérés depuis le carnet avec autocomplétion.",
      icon: suitePublicAsset("/contacts-mark.svg"),
      href: "/suite/ulticards",
      accent: "#4285F4",
    },
    {
      name: "UltiAI",
      tagline: "Assistant IA",
      description: "Transcription en direct, sous-titres et résumés d'après-réunion.",
      icon: suitePublicAsset("/ultiai-mark.svg"),
      href: "/suite/ultiai",
      accent: "#f2783c",
    },
  ],
  ctaSection: {
    title: (
      <>
        Prêt à reprendre le contrôle de{" "}
        <span className="landing-gradient-text">vos réunions</span> ?
      </>
    ),
    description:
      "Déployez UltiMeet sur votre infrastructure et offrez à vos équipes une visio familière et chiffrée, sans dépendance cloud US.",
    ctas: {
      primary: { label: "Démarrer une réunion", href: "/meet" },
      secondary: { label: "Découvrir la suite", href: "/" },
    },
  },
}

export const ADMINISTRATION_PRODUCT: ProductPageData = {
  name: "Administration",
  tagline: "Console d'administration",
  description:
    "Pilotez toute la suite depuis une console unique : migration depuis Google Workspace et Microsoft 365, gestion d'identité (SSO), utilisateurs, groupes, quotas, politiques de sécurité et audit — souverain, hébergé chez vous.",
  icon: suitePublicAsset("/admin-mark.svg"),
  accent: "#7C3AED",
  heroEyebrow: "Console souveraine",
  heroTitle: "Toute votre organisation,",
  heroTitleAccent: "sous contrôle.",
  ctas: {
    primary: { label: "Ouvrir la console", href: "/admin" },
    secondary: { label: "Découvrir la suite", href: "/" },
  },
  highlightsSection: {
    eyebrow: "Pourquoi l'Administration UltiSuite",
    title: (
      <>
        Quittez Google et Microsoft,{" "}
        <span className="landing-gradient-text">gardez la maîtrise</span>
      </>
    ),
    description:
      "Migration assistée, identité fédérée, quotas et politiques de sécurité — toute la gouvernance de votre organisation au même endroit, sans dépendance cloud US.",
    highlights: [
      { value: "Workspace + 365", label: "migration mail, drive, agenda, contacts" },
      { value: "SSO", label: "OAuth, SAML & LDAP/Active Directory" },
      { value: "RBAC", label: "rôles, groupes & quotas par défaut" },
      { value: "Audit", label: "journal exportable, 0 télémétrie" },
    ],
  },
  showcases: [
    {
      id: "migration",
      eyebrow: "Migration & bascule",
      title: (
        <>
          Depuis Google & Microsoft,{" "}
          <span className="landing-gradient-text">sans rien perdre</span>
        </>
      ),
      description:
        "Importez mail, drive, agenda et contacts depuis Google Workspace ou Microsoft 365, suivez chaque job et basculez les MX quand tout est prêt.",
      demo: "admin-migration",
      features: [
        {
          title: "Google Workspace & Microsoft 365",
          description: "OAuth utilisateur, Google DWD ou Microsoft app-only — au choix par projet.",
          icon: "mdi:swap-horizontal-bold",
        },
        {
          title: "Invitations & roster",
          description: "Invitez par e-mail ou import CSV, pré-provisionnez le roster et les alias SSO.",
          icon: "mdi:account-multiple-plus-outline",
        },
        {
          title: "Suivi des jobs & audit",
          description: "Progression par service, relance des échecs et export CSV/NDJSON par utilisateur.",
          icon: "mdi:progress-check",
        },
        {
          title: "Bascule MX guidée",
          description: "Pré-vérification DNS (TXT, MX, SPF/DKIM/DMARC) puis cutover en mode delta.",
          icon: "mdi:dns-outline",
        },
      ],
    },
    {
      id: "identite",
      eyebrow: "Gestion d'identité",
      title: (
        <>
          Une identité fédérée,{" "}
          <span className="landing-gradient-text">vos règles d'accès</span>
        </>
      ),
      description:
        "Connectez vos fournisseurs SSO existants via Authentik et gardez la main sur qui accède à quoi.",
      demo: "admin-identity",
      reverse: true,
      features: [
        {
          title: "OAuth, SAML & LDAP",
          description: "Google, Microsoft Entra, Okta, Active Directory ou OAuth custom.",
          icon: "mdi:account-key-outline",
        },
        {
          title: "Inscription self-service",
          description: "Flow d'enrollment Authentik en parallèle du SSO entreprise, activable.",
          icon: "mdi:account-plus-outline",
        },
        {
          title: "Restrictions d'accès",
          description: "Domaines e-mail, identités et organisations autorisés par fournisseur.",
          icon: "mdi:shield-account-outline",
        },
        {
          title: "Provisioning de groupes",
          description: "Groupes Authentik par défaut et synchronisation des comptes LDAP.",
          icon: "mdi:account-sync-outline",
        },
      ],
    },
    {
      id: "utilisateurs",
      eyebrow: "Utilisateurs, rôles & groupes",
      title: (
        <>
          Vos équipes,{" "}
          <span className="landing-gradient-text">organisées et gouvernées</span>
        </>
      ),
      description:
        "Annuaire complet, rôles fins et groupes pour piloter les permissions à grande échelle.",
      demo: "admin-users",
      features: [
        {
          title: "Rôles admin / utilisateur / invité",
          description: "Attribuez les bons droits et suspendez un compte en un clic.",
          icon: "mdi:shield-crown-outline",
        },
        {
          title: "Groupes d'utilisateurs",
          description: "Équipes, services et externes — base des partages et des permissions.",
          icon: "mdi:account-group-outline",
        },
        {
          title: "Actions en masse",
          description: "Invitation, rôle, quota ou ajout à un groupe sur une sélection.",
          icon: "mdi:checkbox-multiple-marked-outline",
        },
        {
          title: "Fiche utilisateur",
          description: "Quotas individuels, plafonds IA et statut depuis chaque profil.",
          icon: "mdi:card-account-details-outline",
        },
      ],
    },
    {
      id: "quotas",
      eyebrow: "Quotas & supervision",
      title: (
        <>
          Des ressources cadrées,{" "}
          <span className="landing-gradient-text">sans surprise</span>
        </>
      ),
      description:
        "Quotas de stockage, plafonds de coût IA et seuils d'alerte appliqués par défaut, ajustables par compte.",
      demo: "admin-quotas",
      reverse: true,
      features: [
        {
          title: "Stockage Mail, Drive & Photos",
          description: "Quotas par défaut pour l'organisation, surcharge par utilisateur.",
          icon: "mdi:gauge",
        },
        {
          title: "Plafonds de coût IA",
          description: "Limites journalières et mensuelles par utilisateur sur les clés org.",
          icon: "mdi:robot-outline",
        },
        {
          title: "Recherche & automatisations",
          description: "Recherches web, tokens API et webhooks plafonnés par compte.",
          icon: "mdi:tune-variant",
        },
        {
          title: "Vue d'ensemble & alertes",
          description: "Stockage consommé, comptes proches du quota et activité récente.",
          icon: "mdi:view-dashboard-outline",
        },
      ],
    },
    {
      id: "securite",
      eyebrow: "Sécurité & politiques",
      title: (
        <>
          Des politiques fermes,{" "}
          <span className="landing-gradient-text">une traçabilité totale</span>
        </>
      ),
      description:
        "2FA, politiques fichiers et journal d'audit pour répondre à vos exigences de conformité.",
      demo: "admin-policies",
      features: [
        {
          title: "2FA & WebAuthn",
          description: "Second facteur obligatoire (tous ou admins), TOTP et clés de sécurité.",
          icon: "mdi:cellphone-key",
        },
        {
          title: "Politiques fichiers",
          description: "Partage externe, extensions autorisées, antivirus et rétention UltiDrive.",
          icon: "mdi:file-cog-outline",
        },
        {
          title: "Journal d'audit",
          description: "Toutes les actions administratives tracées, export CSV/NDJSON.",
          icon: "mdi:clipboard-text-clock-outline",
        },
        {
          title: "Souveraineté des données",
          description: "Hébergement chez vous, aucune télémétrie ni tracker tiers.",
          icon: "mdi:shield-lock-outline",
        },
      ],
    },
  ],
  interopSection: {
    eyebrow: "Sources & fédération",
    title: (
      <>
        Vos plateformes actuelles,{" "}
        <span className="landing-gradient-text">migrées et fédérées</span>
      </>
    ),
    description:
      "Migrez les données depuis vos suites existantes et continuez à fédérer l'identité via SSO — un compte, plusieurs sources.",
    providers: [
      {
        name: "Google Workspace",
        tagline: "Gmail, Drive, Agenda, Contacts",
        icon: "logos:google-workspace",
        accent: "#4285F4",
        brandLogo: true,
        personal:
          "Migration OAuth utilisateur : chacun rattache son compte Google et lance l'import.",
        enterprise:
          "Google DWD (service account) pour migrer toute l'organisation, plus SSO OAuth continu.",
      },
      {
        name: "Microsoft 365",
        tagline: "Outlook, OneDrive, Calendrier",
        icon: "logos:microsoft-icon",
        accent: "#0078D4",
        brandLogo: true,
        personal:
          "Migration OAuth : import du courrier, des fichiers et de l'agenda Microsoft 365.",
        enterprise:
          "Microsoft app-only (client credentials) avec consentement admin, plus SSO SAML Entra ID.",
      },
      {
        name: "Okta",
        tagline: "SSO SAML & OIDC",
        icon: "logos:okta-icon",
        accent: "#007DC1",
        brandLogo: true,
        personal:
          "Connexion SAML pour authentifier vos membres avec leurs identifiants Okta.",
        enterprise:
          "Fédération SAML/OIDC et provisioning des groupes pour toute l'organisation.",
      },
      {
        name: "Active Directory",
        tagline: "LDAP & Azure AD / Entra",
        icon: "mdi:server-network",
        accent: "#7C3AED",
        personal:
          "Authentification LDAP contre votre annuaire interne, sans nouvelle base de comptes.",
        enterprise:
          "Synchronisation des utilisateurs et des groupes AD via LDAP sécurisé (StartTLS).",
      },
    ],
    features: [
      {
        title: "Migration sans coupure",
        description: "Mode delta et bascule MX progressive — les utilisateurs gardent leurs données.",
        icon: "mdi:transfer",
      },
      {
        title: "Identité fédérée",
        description: "Un compte Ulti relié à vos fournisseurs SSO, avec alias multiples acceptés.",
        icon: "mdi:account-key-outline",
      },
      {
        title: "Standards ouverts",
        description: "OAuth, SAML, LDAP, IMAP, CalDAV/CardDAV — aucun verrou propriétaire.",
        icon: "mdi:lock-open-variant-outline",
      },
      {
        title: "Sans dépendance US",
        description: "Données et identités hébergées sur votre infrastructure souveraine.",
        icon: "mdi:earth",
      },
    ],
  },
  integrations: [
    {
      name: "Ultimail",
      tagline: "Messagerie",
      description: "Domaines hébergés Stalwart, relais SMTP des notifications et bascule MX.",
      icon: suitePublicAsset("/ultimail-mark.svg"),
      href: "/suite/ultimail",
      accent: "#EA4335",
    },
    {
      name: "UltiDrive",
      tagline: "Fichiers",
      description: "Politiques d'upload, partage externe, antivirus et montages d'organisation.",
      icon: suitePublicAsset("/ultidrive-mark.svg"),
      href: "/suite/ultidrive",
      accent: "#34A853",
    },
    {
      name: "UltiAI",
      tagline: "Assistant IA",
      description: "Fournisseurs LLM d'organisation, groupes d'outils MCP et plafonds de coût.",
      icon: suitePublicAsset("/ultiai-mark.svg"),
      href: "/suite/ultiai",
      accent: "#f2783c",
    },
    {
      name: ULTICARDS_APP_NAME,
      tagline: "Contacts",
      description: "Annuaire d'organisation alimenté par le provisioning LDAP/SCIM.",
      icon: suitePublicAsset("/contacts-mark.svg"),
      href: "/suite/ulticards",
      accent: "#4285F4",
    },
  ],
  ctaSection: {
    title: (
      <>
        Prêt à reprendre le contrôle de{" "}
        <span className="landing-gradient-text">votre organisation</span> ?
      </>
    ),
    description:
      "Déployez UltiSuite sur votre infrastructure, migrez depuis Google ou Microsoft et administrez identité, quotas et sécurité depuis une console unique.",
    ctas: {
      primary: { label: "Ouvrir la console", href: "/admin" },
      secondary: { label: "Découvrir la suite", href: "/" },
    },
  },
}
