Ce guide s'adresse aux organisations qui doivent installer Comet à grande échelle. Si vous recherchez le programme d'installation individuel de Comet, vous le trouverez ici.
Ce guide explique comment déployer le navigateur Comet dans l'ensemble de votre organisation à l'aide de solutions de gestion des appareils mobiles (MDM) sur les systèmes macOS.
Prérequis
Pour installer Comet for Enterprise à l'aide d'un MDM, vous aurez besoin de :
-
Une solution MDM (Jamf Pro, Intune, Kandji, Mosyle, Workspace ONE, etc.)
-
L'accès aux paramètres Comet de votre organisation à l'adresse perplexity.ai/account/org/comet
-
Le jeton de votre organisation (disponible sur la page de configuration de Comet)
Vue d'ensemble
Les stratégies Mac sont déployées à l'aide de profils de configuration (fichiers .mobileconfig) via votre solution MDM. Ces profils utilisent le type de payload ai.perplexity.comet pour configurer les paramètres de Comet.
Prise en main
Vous devez d'abord télécharger le programme d'installation de Comet et obtenir le jeton de votre organisation depuis : perplexity.ai/account/org/comet.
Le programme d'installation de Comet for Enterprise est actuellement disponible sous forme d'image disque macOS .dmg.
Déploiement de masse de Comet
Pour un déploiement de masse à l'aide d'outils comme Jamf Pro :
-
Téléversez le fichier
.dmgvers votre solution MDM -
Préparez un script qui monte le DMG, copie l'application Comet dans
/Applications, puis démonte le DMG -
Ce script peut faire partie de vos tâches post-installation ou être inclus dans le package
-
Utilisez des scripts post-installation pour :
-
Gérer la copie de l'application
-
Définir les autorisations
-
Définir Comet comme navigateur par défaut si nécessaire
-
Configurer les paramètres de premier lancement (via la manipulation du plist si nécessaire)
-
Déploiement avec Jamf Pro
Jamf Pro vous permet de déployer et de gérer les paramètres d'application personnalisés de deux manières différentes.
-
En utilisant uniquement le contenu du plist (sans le wrapper mobileconfig complet), Jamf se chargeant de l'encapsuler dans un profil de configuration approprié.
-
En utilisant un schéma json personnalisé pour offrir une approche basée sur l'interface pour gérer les stratégies (propre à Jamf)
Utiliser les plists
Utiliser les plists
Étape 1 : créer un profil de configuration
-
Accédez à Computers → Configuration Profiles → New
-
Saisissez un nom d'affichage (par exemple, "Comet Policies")
-
Sélectionnez Application & Custom Settings → External Applications
-
Sélectionnez Upload
Étape 2 : configurer le domaine de préférences
-
Preference Domain :
ai.perplexity.comet -
Collez le contenu du plist à partir des exemples ci-dessous
Étape 3 : définir la portée et déployer
-
Accédez à l'onglet Scope
-
Ajoutez les ordinateurs ou groupes cibles
-
Cliquez sur Save
Avant de configurer les stratégies du navigateur, vous devez d'abord inscrire les appareils dans votre organisation. Cela associe chaque installation de Comet à votre compte d'entreprise pour une gestion centralisée.
Obtenez le jeton de votre organisation depuis perplexity.ai/account/org/comet et déployez le plist suivant :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CloudManagementEnrollmentToken</key>
<string>YOUR-ORG-TOKEN-HERE</string>
</dict>
</plist>
Une fois les appareils inscrits, vous pouvez déployer des profils de configuration supplémentaires pour appliquer les stratégies du navigateur. Voir les exemples ci-dessous.
Exemple : bloquer des extensions
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ExtensionInstallBlocklist</key>
<array>
<!-- Metamask -->
<string>nkbihfbeogaeaoehlefnkodbefgpgknn</string>
</array>
</dict>
</plist>
Exemple : bloquer des URL
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>URLBlocklist</key>
<array>
<string>chatgpt.com</string>
<string>*.competitor.com</string>
</array>
</dict>
</plist>
Exemple : plusieurs stratégies
Combinez plusieurs stratégies dans un seul plist :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ExtensionInstallBlocklist</key>
<array>
<string>nkbihfbeogaeaoehlefnkodbefgpgknn</string>
</array>
<key>URLBlocklist</key>
<array>
<string>chatgpt.com</string>
</array>
</dict>
</plist>
Utiliser un schéma personnalisé Jamf pour une approche basée sur l'interface
Utiliser un schéma personnalisé Jamf pour une approche basée sur l'interface
Étape 1 : créer un profil de configuration
-
Accédez à Computers → Configuration Profiles → New
-
Saisissez un nom d'affichage (par exemple, "Comet Policies")
-
Sélectionnez Application & Custom Settings → External Applications
-
Sélectionnez Add
Étape 2 : configurer le domaine de préférences
-
Preference Domain :
ai.perplexity.comet -
Sélectionnez Add Schema
-
Collez le schéma JSON pour renseigner les propriétés configurables à partir des exemples ci-dessous
Étape 3 : définir la portée et déployer
-
Accédez à l'onglet Scope
-
Ajoutez les ordinateurs ou groupes cibles
-
Cliquez sur Save
Exemple : paramètres de page d'accueil et de démarrage
{
"title": "Perplexity Comet – Homepage and Startup",
"description": "Control homepage, startup behavior, and New Tab configuration.",
"properties": {
"HomepageLocation": {
"title": "Homepage Location",
"description": "URL of the homepage that is loaded when the Home button is pressed.",
"type": "string",
"property_order": 10
},
"HomepageIsNewTabPage": {
"title": "Homepage Is New Tab Page",
"description": "If true, the homepage is the New Tab page instead of a custom URL.",
"type": "boolean",
"property_order": 20
},
"ShowHomeButton": {
"title": "Show Home Button",
"description": "Shows or hides the Home button in the toolbar.",
"type": "boolean",
"property_order": 30
},
"RestoreOnStartup": {
"title": "Restore On Startup",
"description": "Configures what pages are shown at startup.",
"type": "integer",
"enum": [0, 1, 4],
"options": {
"enum_titles": [
"0 – Open the New Tab page",
"1 – Restore the last session",
"4 – Open a list of URLs"
]
},
"property_order": 40
},
"RestoreOnStartupURLs": {
"title": "Restore On Startup URLs",
"description": "List of URLs to open on startup when RestoreOnStartup is set to 4.",
"type": "array",
"items": {
"type": "string"
},
"property_order": 50
},
"NewTabPageLocation": {
"title": "New Tab Page Location",
"description": "Custom URL to use for the New Tab page instead of the default.",
"type": "string",
"property_order": 60
},
"ManagedBookmarks": {
"title": "Managed Bookmarks",
"description": "JSON-like structure defining a set of mandatory bookmarks managed by policy.",
"type": "array",
"items": {
"type": "string"
},
"property_order": 70
},
"BookmarkBarEnabled": {
"title": "Bookmark Bar Enabled",
"description": "Shows or hides the bookmarks bar by default.",
"type": "boolean",
"property_order": 80
},
"DefaultBrowserSettingEnabled": {
"title": "Default Browser Setting Enabled",
"description": "Controls whether the browser can be set as the system default.",
"type": "boolean",
"property_order": 90
},
"BlockExternalExtensions": {
"title": "Block External Extensions",
"description": "Blocks extensions installed outside the browser when set to true.",
"type": "boolean",
"property_order": 100
}
},
"required": []
}
Exemple : forcer l'installation d'extensions - par ex. 1Password et Okta Verify
{
"title": "Perplexity Comet – 1Password and Okta Extensions",
"description": "Toggle force-install for 1Password and Okta extensions in Comet.",
"properties": {
"ForceInstall_1Password": {
"title": "Force install 1Password",
"description": "If enabled, Comet force-installs the 1Password browser extension.",
"type": "boolean",
"default": false,
"property_order": 10
},
"ForceInstall_OktaPlugin": {
"title": "Force install Okta browser plugin",
"description": "If enabled, Comet force-installs the Okta browser plugin defined below.",
"type": "boolean",
"default": false,
"property_order": 20
},
"OktaPluginExtensionId": {
"title": "Okta browser plugin extension ID",
"description": "Chrome Web Store extension ID for your Okta browser plugin (for example, from the Web Store URL).",
"type": "string",
"default": "",
"property_order": 30
},
"ExtensionInstallForcelist": {
"title": "Additional force-installed extensions (advanced)",
"description": "Optional: extra entries in the form extension_id;<https://clients2.google.com/service/update2/crx>. Rows here are in addition to 1Password/Okta switches above.",
"type": "array",
"items": {
"type": "string",
"title": "Extension ID and update URL",
"default": "extension_id;<https://clients2.google.com/service/update2/crx>"
},
"property_order": 40
},
"_info": {
"title": "Info",
"description": "Jamf will write a prefs key named ExtensionInstallForcelist. Enable the switches above to add 1Password and/or Okta automatically; use the array only for extra extensions.",
"type": "string",
"options": {
"inputAttributes": {
"readonly": true
}
},
"property_order": 50
}
},
"required": []
}
Déploiement MDM générique
Pour les solutions MDM qui nécessitent un fichier .mobileconfig complet, telles que Kandji, Mosyle, Fleet, SimpleMDM, etc., utilisez le format de profil de configuration complet ci-dessous.
Deployment Steps:
-
Copiez le modèle d'exemple et personnalisez-le selon vos besoins
-
Générez des UUID uniques pour les champs
PayloadUUID(utilisezuuidgendans le Terminal) -
Enregistrez sous forme de fichier
.mobileconfig -
Téléversez-le vers votre MDM en tant que profil de configuration personnalisé
-
Attribuez-le aux appareils ou groupes cibles
Avant de configurer les stratégies du navigateur, vous devez d'abord inscrire les appareils dans votre organisation. Cela associe chaque installation de Comet à votre compte d'entreprise pour une gestion centralisée.
Déployez un profil de configuration contenant votre CloudManagementEnrollmentToken. Obtenez le jeton de votre organisation depuis perplexity.ai/account/org/comet.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PayloadContent</key>
<array>
<dict>
<key>PayloadType</key>
<string>ai.perplexity.comet</string>
<key>PayloadIdentifier</key>
<string>ai.perplexity.comet</string>
<key>PayloadUUID</key>
<string>A1B2C3D4-E5F6-7890-ABCD-EF1234567890</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>CloudManagementEnrollmentToken</key>
<string>YOUR-ORG-TOKEN-HERE</string>
</dict>
</array>
<key>PayloadDisplayName</key>
<string>Comet - Organization Enrollment</string>
<key>PayloadIdentifier</key>
<string>ai.perplexity.comet.org-enrollment</string>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadUUID</key>
<string>B2C3D4E5-F6A7-8901-BCDE-F23456789012</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</plist>
Une fois les appareils inscrits, vous pouvez déployer des profils de configuration supplémentaires pour appliquer les stratégies du navigateur. Voir les exemples ci-dessous.
Example: Block Extensions
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PayloadContent</key>
<array>
<dict>
<key>PayloadDisplayName</key>
<string>Comet Extension Blocklist Policy</string>
<key>PayloadIdentifier</key>
<string>ai.perplexity.comet</string>
<key>PayloadType</key>
<string>ai.perplexity.comet</string>
<key>PayloadUUID</key>
<string>12345678-1234-1234-1234-123456789012</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>ExtensionInstallBlocklist</key>
<array>
<!-- Metamask -->
<string>nkbihfbeogaeaoehlefnkodbefgpgknn</string>
</array>
</dict>
</array>
<key>PayloadDisplayName</key>
<string>Comet - Extension Blocklist</string>
<key>PayloadIdentifier</key>
<string>ai.perplexity.comet.extension.blocklist</string>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadUUID</key>
<string>87654321-4321-4321-4321-210987654321</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</plist>
Example: Block URLs
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PayloadContent</key>
<array>
<dict>
<key>PayloadDisplayName</key>
<string>Comet URL Blocklist Policy</string>
<key>PayloadIdentifier</key>
<string>ai.perplexity.comet</string>
<key>PayloadType</key>
<string>ai.perplexity.comet</string>
<key>PayloadUUID</key>
<string>12345678-1234-1234-1234-123456789012</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>URLBlocklist</key>
<array>
<string>chatgpt.com</string>
<string>*.competitor.com</string>
</array>
</dict>
</array>
<key>PayloadDisplayName</key>
<string>Comet - URL Blocklist</string>
<key>PayloadIdentifier</key>
<string>ai.perplexity.comet.url.blocklist</string>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadUUID</key>
<string>87654321-4321-4321-4321-210987654321</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</plist>
