Déploiement de l’application de bureau
Comment installer l’application de bureau Antimatter sur les ordinateurs d’une entreprise ou d’une école, et configurer de manière centralisée ses serveurs, le nom d’utilisateur et les vérifications de mise à jour sur Windows, macOS et Linux.
Télécharger l’application
Les versions de l’application de bureau sont sur GitHub, à l’adresse github.com/AntimatterChat/desktop-app/releases. Comme le serveur, l’application est en bêta : une version dont le numéro est suivi d’un suffixe après un tiret est marquée Préversion. Chaque version contient un fichier SHA256SUMS avec l’empreinte de chaque fichier. Vérifiez un téléchargement avec sha256sum --check --ignore-missing SHA256SUMS sous Linux, ou comparez la sortie de Get-FileHash <file> -Algorithm SHA256 dans PowerShell avec la ligne correspondante dans SHA256SUMS.
- Windows (x64 et arm64) : l’installeur
.exe, le paquet.msiou une archive.zip. Par exempleantimatter-desktop-<version>-win-x64.exeetantimatter-desktop-<version>-win-x64.msi. - macOS : une image disque
.dmgou une archive.zip, pour les puces Apple (arm64), les Mac Intel (x64) ou les deux (universal). - Linux (x64 et arm64) : un paquet .deb ou .rpm, un AppImage, un bundle Flatpak ou une archive
.tar.gz.
Quel installeur Windows utiliser
| L’installeur .exe | Le paquet .msi | |
|---|---|---|
| Pour | Les personnes qui installent l’application elles-mêmes | Les entreprises qui la déploient sur leurs ordinateurs |
| Installation | Pour le compte Windows actuel uniquement, dans %LOCALAPPDATA%\Programs\antimatter-desktop, sans droits d’administrateur | Pour tous les utilisateurs de l’ordinateur, dans C:\Program Files\Antimatter, avec des droits d’administrateur |
| Mises à jour | L’application vérifie les nouvelles versions et propose de télécharger le nouveau fichier .exe, qui met à jour la copie installée sur place | L’application ne vérifie pas les nouvelles versions : vous les déployez |
L'application vérifie les nouvelles versions sur GitHub, chaque heure pendant son exécution, et ne prend en compte que les versions stables, pas les versions préliminaires. Lorsqu'elle en trouve une, elle en informe l'utilisateur et propose un lien pour la télécharger. Une copie installée avec le MSI ne vérifie pas par défaut, car les personnes qui l'utilisent ne peuvent généralement pas installer de logiciels. Vous pouvez activer les vérifications pour cette copie à l'aide du paramètre EnableAutoUpdater : le téléchargement proposé est alors le nouveau .msi, qui nécessite des droits d'administrateur.
Utilisez le MSI pour un déploiement géré avec SCCM (Configuration Manager), Intune ou l'installation de logiciels par stratégie de groupe. L'installation du MSI supprime la copie .exe du compte qui exécute l'installation, s'il en existe une.
Les paramètres que vous pouvez gérer
Les mêmes paramètres existent sur tous les systèmes. Sur Windows, ce sont des valeurs du registre sous SOFTWARE\Policies\Antimatter, dans HKEY_LOCAL_MACHINE (pour l'ordinateur) ou HKEY_CURRENT_USER (pour un utilisateur). Sur macOS et Linux, ce sont des clés des préférences gérées ou du fichier de politique.
| Paramètre | Sur Windows | Sur macOS et Linux | Fonction |
|---|---|---|---|
DefaultServerList | Une sous-clé avec une valeur de chaîne par serveur : le nom de la valeur est le nom de son onglet, les données sont son URL | Un tableau de dictionnaires (objets sur Linux) avec name et url | Ajoute des serveurs à l'application. Les utilisateurs ne peuvent pas les modifier ni les supprimer. |
DefaultUsername | Une chaîne | Une chaîne | Remplit le nom d'utilisateur sur la page de connexion de ces serveurs. |
EnableServerManagement | Un DWORD, 0 ou 1 | Un booléen | 0 ou false : les utilisateurs ne peuvent utiliser que les serveurs définis par DefaultServerList, et l'application masque les options pour ajouter, modifier et supprimer des serveurs. Non défini : les utilisateurs peuvent ajouter leurs propres serveurs. |
EnableAutoUpdater | Un DWORD, 0 ou 1 | Un booléen | 0 ou false : l'application ne vérifie jamais les nouvelles versions et masque Vérifier les mises à jour. 1 ou true : elle vérifie, même si elle est installée avec le MSI. Non défini : la copie .exe vérifie, la copie MSI ne vérifie pas. |
TrustedEmbeddedMediaOrigins | Une sous-clé avec des valeurs de chaîne, chacune étant un objet JSON avec serverOrigin et embeddedOrigin | Un tableau de dictionnaires avec serverOrigin et embeddedOrigin | Permet au contenu intégré dans les pages d'un serveur, tel qu'une page de réunion vidéo, d'utiliser les autorisations de caméra et de microphone accordées à ce serveur. |
- Le nom d'utilisateur n'est rempli que sur la page de connexion des serveurs définis par la stratégie, jamais sur un serveur ajouté par un utilisateur, et jamais par-dessus ce qu'une personne a saisi. Les utilisateurs peuvent toujours le modifier. Les variables d'environnement entre des signes de pourcentage sont remplacées, de sorte qu'une seule valeur convient à tous :
%USERNAME%sous Windows ou%USER%sous macOS et Linux fournit le nom du compte, et%USERNAME%@example.comune adresse e-mail qui suit ce modèle. Si une variable n'est pas définie, l'application ne remplit rien. - Si vous désactivez la gestion des serveurs, définissez au moins un serveur dans
DefaultServerList. - Sous Windows, une stratégie d'ordinateur (
HKEY_LOCAL_MACHINE) prime sur une stratégie d'utilisateur (HKEY_CURRENT_USER). Les listes de serveurs des deux sont combinées. - L'application lit les paramètres au démarrage : après une modification, les utilisateurs doivent la fermer puis la rouvrir.
Windows : installation silencieuse avec le MSI
Le MSI accepte des propriétés publiques qui écrivent les paramètres en tant que stratégies d'ordinateur, dans HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Antimatter. Utilisez-les dans une application SCCM, une application Intune ou un script. Dans PowerShell :
msiexec /i antimatter-desktop-<version>-win-x64.msi /qn SERVERURL=https://chat.example.com SERVERNAME=Chat DEFAULTUSERNAME='%USERNAME%' AUTOUPDATE=0 SERVERMANAGEMENT=0
| Propriété | Écrit | Si non fourni |
|---|---|---|
SERVERURL | Un serveur dans DefaultServerList, avec cette URL | Aucun serveur |
SERVERNAME | Le nom de l'onglet de ce serveur | Antimatter |
DEFAULTUSERNAME | DefaultUsername | Rien |
AUTOUPDATE | EnableAutoUpdater, 0 ou 1 | Rien : la copie du MSI ne vérifie pas les mises à jour |
SERVERMANAGEMENT | EnableServerManagement, 0 ou 1 | Rien : les utilisateurs peuvent ajouter des serveurs |
- Une propriété non fournie n'écrit rien, de sorte qu'elle ne remplace pas une valeur définie par la stratégie de groupe.
AUTOUPDATEetSERVERMANAGEMENTn'acceptent que 0 ou 1. Le MSI définit un seul serveur : utilisez la stratégie de groupe pour en définir davantage. DEFAULTUSERNAMEdoit atteindre l'installateur sous la forme du texte%USERNAME%, afin que l'application le remplace pour chaque personne. Sinon, l'interpréteur de commandes exécutant l'installation le remplace par son propre nom de compte. Dans PowerShell, conservez les guillemets simples. Dans un fichier.bat, écrivez%%USERNAME%%. Après une installation de test, vérifiez dans le registre queDefaultUsernamecontient%USERNAME%.- Transmettez à nouveau les propriétés à chaque mise à niveau. L'installation d'une nouvelle version du MSI supprime l'ancienne, avec les valeurs qu'elle avait écrites, puis écrit les valeurs de la nouvelle ligne de commande. SCCM et Intune conservent la ligne de commande d'une application : réutilisez-la pour chaque nouvelle version. Ou définissez les stratégies avec la stratégie de groupe ou Intune, ce que les mises à niveau ne modifient pas.
- Le MSI et la stratégie de groupe écrivent les mêmes valeurs de registre. Pour chaque paramètre, utilisez l'un ou l'autre : désinstaller le MSI supprime les valeurs qu'il a écrites, même si la stratégie de groupe les a également définies.
- Le MSI enregistre également son dossier d'installation dans
HKEY_LOCAL_MACHINE\SOFTWARE\Antimatter\Desktop(InstallDir). C'est ainsi que l'application sait qu'elle a été installée via le MSI.
Pour désinstaller : msiexec /x antimatter-desktop-<version>-win-x64.msi /qn. Dans Intune, le type « Windows app (Win32) » utilise les mêmes lignes de commande. Pour le type « Line-of-business app », ajoutez les propriétés à ses arguments de ligne de commande.
Windows : Stratégie de groupe et Intune
Les modèles administratifs, antimatter.admx et en-US\antimatter.adml, se trouvent dans le dossier gpo de l'application installée (C:\Program Files\Antimatter\gpo pour le MSI) et dans le dossier resources/windows/gpo du dépôt de l'application. Ils affichent ces stratégies, sous Modèles administratifs › Antimatter :
| Stratégie | Valeur de registre | Configuration |
|---|---|---|
| Serveurs (DefaultServerList) | Sous-clé DefaultServerList | ordinateur et utilisateur |
| Nom d'utilisateur à préremplir (DefaultUsername) | DefaultUsername | ordinateur et utilisateur |
| Permettre aux utilisateurs d'ajouter et de supprimer des serveurs (EnableServerManagement) | EnableServerManagement | ordinateur et utilisateur |
| Notifier des nouvelles versions (EnableAutoUpdater) | EnableAutoUpdater | ordinateur uniquement |
| Origines de médias intégrés de confiance (TrustedEmbeddedMediaOrigins) | Sous-clé TrustedEmbeddedMediaOrigins | ordinateur et utilisateur |
Stratégie de groupe dans un domaine
- Copiez
antimatter.admxdans le magasin central,\\<domain>\SYSVOL\<domain>\Policies\PolicyDefinitions, etantimatter.admldans son dossieren-US. - Dans l'Éditeur de gestion des stratégies de groupe, ouvrez Configuration ordinateur (ou Configuration utilisateur) › Stratégies › Modèles administratifs › Antimatter.
- Modifiez une stratégie, choisissez Activer et remplissez-la. Pour Serveurs, cliquez sur Afficher et ajoutez une ligne par serveur : le nom de la valeur est le nom de l'onglet, la valeur est l'URL du serveur, par exemple
https://chat.example.com.
Activer Permettre aux utilisateurs d'ajouter et de supprimer des serveurs ou Notifier des nouvelles versions écrit 1 ; la désactiver écrit 0.
Intune
Dans Appareils › Configuration, utilisez Importer ADMX pour importer antimatter.admx avec en-US\antimatter.adml. Créez ensuite un profil à partir de Modèles › Modèles administratifs importés, et définissez-y les stratégies Antimatter.
Un ordinateur unique, ou un script
Copiez les modèles dans C:\Windows\PolicyDefinitions pour les utiliser dans gpedit.msc (Windows Pro et Enterprise). Ou écrivez directement les valeurs du registre, avec un fichier .reg importé en tant qu'administrateur (reg import antimatter-policies.reg), comme celui-ci. Le fichier example-policies.reg du même dossier contient ces valeurs, avec des commentaires.
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Antimatter]
"EnableServerManagement"=dword:00000000
"EnableAutoUpdater"=dword:00000000
"DefaultUsername"="%USERNAME%"
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Antimatter\DefaultServerList]
"Chat"="https://chat.example.com"
macOS : un profil de configuration
Sur macOS, l'application lit ses paramètres à partir des préférences gérées de son identifiant de bundle, chat.antimatter.desktop, avec les clés de la table des paramètres. Déployez-les avec votre MDM (Jamf, Intune, Kandji, Mosyle et autres) sous forme de profil de configuration.
- Le dossier resources/mac/mdm du dépôt de l'application contient un profil d'exemple,
antimatter.mobileconfig. Modifiez ses valeurs, attribuez-lui vos propres valeursPayloadIdentifieretPayloadUUID(uuidgengénère de nouveaux UUID), et téléchargez-le en tant que profil personnalisé. - La plupart des MDM acceptent également les clés seules, en tant que charge utile « paramètres personnalisés » ou « domaine de préférence » pour
chat.antimatter.desktop. Le même dossier les contient dansexample-managed-preferences.plist.
Les paramètres dans la charge utile du profil :
<key>PayloadType</key>
<string>chat.antimatter.desktop</string>
<key>DefaultServerList</key>
<array>
<dict>
<key>name</key>
<string>Chat</string>
<key>url</key>
<string>https://chat.example.com</string>
</dict>
</array>
<key>DefaultUsername</key>
<string>%USER%</string>
<key>EnableServerManagement</key>
<false/>
<key>EnableAutoUpdater</key>
<false/>
Les booléens peuvent également être fournis sous forme d'entiers 0 et 1.
Linux : le fichier de stratégie
Sur Linux, l'application lit /etc/antimatter-desktop/policies.json, un objet JSON avec les clés de la table des paramètres :
{
"DefaultServerList": [
{"name": "Chat", "url": "https://chat.example.com"}
],
"DefaultUsername": "%USER%",
"EnableServerManagement": false,
"EnableAutoUpdater": false,
"TrustedEmbeddedMediaOrigins": []
}
Déployez-le avec votre outil de gestion de configuration (Ansible, Puppet, Salt et autres), en le rendant propriétaire de root, lisible par tous et modifiable uniquement par root :
sudo install -d /etc/antimatter-desktop
sudo install -m 644 policies.json /etc/antimatter-desktop/policies.json
Un fichier qui n'est pas un JSON valide est ignoré, avec un avertissement dans le journal de l'application. La version Flatpak ne voit pas le /etc de l'hôte : accordez-lui un accès en lecture, et elle lira le fichier depuis /run/host/etc/antimatter-desktop/policies.json :
sudo flatpak override --system --filesystem=host-etc:ro chat.antimatter.desktop
Stratégies définies pour l'application de bureau Mattermost
Sur Windows, l’application lit également les stratégies définies pour l’application de bureau Mattermost, sous SOFTWARE\Policies\Mattermost, en tant que repli. Elle les lit par emplacement : les valeurs directement sous la clé de stratégie, la sous-clé DefaultServerList et la sous-clé TrustedEmbeddedMediaOrigins. Pour chacun de ces trois emplacements, elle ne lit la clé Mattermost que si la clé Antimatter n’y contient aucune valeur, dans les deux registres. Ainsi, dès qu’une valeur est définie directement sous la clé Antimatter, par exemple par la propriété AUTOUPDATE du MSI, aucune des valeurs directement sous la clé Mattermost n’est lue. Déplacez toutes vos stratégies sous la clé Antimatter d’un seul coup.
Sur macOS, les préférences gérées de l’application de bureau Mattermost (com.mattermost.desktop) ne sont pas lues : définissez-les pour chat.antimatter.desktop.
Versions non signées
Les versions de l’application de bureau ne sont pas encore signées avec un certificat d’éditeur.
- Windows. Lorsqu’une personne ouvre un fichier
.exeou.msitéléchargé, Microsoft Defender SmartScreen indique que Windows a protégé l’ordinateur et cite un éditeur inconnu. Elle choisit Plus d’infos, puis Exécuter quand même. SmartScreen vérifie les fichiers ouverts après un téléchargement, donc cette avertissement n’apparaît pas lorsque vous déployez l’application via SCCM, Intune ou la stratégie de groupe. Si vos ordinateurs n’exécutent que des logiciels d’éditeurs approuvés (règles AppLocker ou App Control for Business), autorisez l’application par son chemin d’installation ou son empreinte de fichier. - macOS. L’application est signée ad hoc, mais non notarisée par Apple. La première fois qu’une personne ouvre une copie téléchargée, macOS indique qu’il ne peut pas vérifier que l’application est exempte de logiciels malveillants et ne l’ouvre pas. Sur macOS 15 et versions ultérieures, elle ouvre Paramètres du système › Confidentialité et sécurité et choisit Ouvrir quand même. Sur les versions antérieures, elle effectue un clic de contrôle sur l’application et choisit Ouvrir. Gatekeeper ne vérifie que les fichiers marqués comme téléchargés (avec l’attribut de quarantaine) : lorsque vous installez l’application avec vos propres outils, supprimez cette marque dans votre script d’installation, avec
xattr -dr com.apple.quarantine /Applications/Antimatter.app.