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,{" "} sans quitter vos habitudes ), 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,{" "} une seule vue ), 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,{" "} envoyez ), 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,{" "} zéro code ), 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,{" "} même sur mobile ), 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{" "} votre messagerie ? ), 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,{" "} sans Google ), 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,{" "} comme chez Google ), 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,{" "} co-éditez ), 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,{" "} liens sécurisés ), 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,{" "} partout sur vos postes ), 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,{" "} dans le même explorateur ), 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{" "} vos fichiers ? ), 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,{" "} sans Google ), 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,{" "} une seule vue ), 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,{" "} synchronisez ), 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,{" "} réservables en un lien ), 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,{" "} dans la même vue ), 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{" "} votre temps ? ), 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,{" "} sans céder vos données ), 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,{" "} dans toute la suite ), 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,{" "} elle agit ), 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,{" "} sans lever le doigt ), 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,{" "} votre choix ), 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{" "} superpouvoirs à votre suite ? ), 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,{" "} sans Google ), 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,{" "} une seule vue ), 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,{" "} détectés et complétés ), 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,{" "} sans doublons ), 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,{" "} dans la même vue ), 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{" "} votre carnet d'adresses ? ), 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{" "} que personne n'écoute ), 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,{" "} en un clic ), 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,{" "} protégée par un lobby ), 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,{" "} transcrivez ), 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{" "} n'importe quel appareil ), 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{" "} vos réunions ? ), 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,{" "} gardez la maîtrise ), 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,{" "} sans rien perdre ), 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,{" "} vos règles d'accès ), 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,{" "} organisées et gouvernées ), 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,{" "} sans surprise ), 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,{" "} une traçabilité totale ), 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,{" "} migrées et fédérées ), 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{" "} votre organisation ? ), 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: "/" }, }, }, }