Passer au contenu principal

Installer Comet for Enterprise (macOS)

Guide d'installation de Comet à grande échelle dans les environnements macOS

Écrit par Emilio Morales

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 :

  1. Téléversez le fichier .dmg vers votre solution MDM

  2. Préparez un script qui monte le DMG, copie l'application Comet dans /Applications, puis démonte le DMG

  3. Ce script peut faire partie de vos tâches post-installation ou être inclus dans le package

  4. 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

Étape 1 : créer un profil de configuration

  1. Accédez à ComputersConfiguration ProfilesNew

  2. Saisissez un nom d'affichage (par exemple, "Comet Policies")

  3. Sélectionnez Application & Custom SettingsExternal Applications

  4. Sélectionnez Upload

Étape 2 : configurer le domaine de préférences

  1. Preference Domain : ai.perplexity.comet

  2. Collez le contenu du plist à partir des exemples ci-dessous

Étape 3 : définir la portée et déployer

  1. Accédez à l'onglet Scope

  2. Ajoutez les ordinateurs ou groupes cibles

  3. 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

Étape 1 : créer un profil de configuration

  1. Accédez à ComputersConfiguration ProfilesNew

  2. Saisissez un nom d'affichage (par exemple, "Comet Policies")

  3. Sélectionnez Application & Custom SettingsExternal Applications

  4. Sélectionnez Add

Étape 2 : configurer le domaine de préférences

  1. Preference Domain : ai.perplexity.comet

  2. Sélectionnez Add Schema

  3. 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

  1. Accédez à l'onglet Scope

  2. Ajoutez les ordinateurs ou groupes cibles

  3. 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:

  1. Copiez le modèle d'exemple et personnalisez-le selon vos besoins

  2. Générez des UUID uniques pour les champs PayloadUUID (utilisez uuidgen dans le Terminal)

  3. Enregistrez sous forme de fichier .mobileconfig

  4. Téléversez-le vers votre MDM en tant que profil de configuration personnalisé

  5. 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>