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: "/" },
},
},
}