Guide interactif

Votre configuration, pré-remplie

Saisissez vos valeurs une seule fois et chaque commande ci-dessous se réécrit d'elle-même — le nom de l'application, la stratégie d'accès, les tests de vérification et l'e-mail de pré-vérification. Copiez chaque bloc directement dans PowerShell.

Tout reste dans votre navigateur. Rien de ce que vous saisissez ici n'est stocké ni envoyé où que ce soit — pas de cookies, pas de localStorage, pas de requêtes réseau. Les valeurs disparaissent au rechargement de la page et sont effacées après 15 minutes d'inactivité.

Cette page reprend la partie 5 du guide d'installation complet, qui détaille au préalable les clics à effectuer dans le portail Entra.Guide d'installation complet sur GitHub

Vos sept valeurs

Effacement des valeurs dans 15:00

L'hôte sur lequel tourne votre Matomo. Il sert à dériver le nom de l'application Entra et la description du secret.

Sur la page Overview de votre inscription d'application. Un identifiant, pas un secret.

Sur la même page Overview.

La colonne Value, affichée une seule fois à la création du secret — pas le Secret ID. Utilisée uniquement dans le bloc de pré-vérification ci-dessous ; elle n'apparaît jamais dans le récapitulatif.

La boîte aux lettres partagée au nom de laquelle Matomo enverra.

Le domaine intégré de votre tenant — pré-rempli à partir de l'adresse d'expédition ; modifiez-le si le vôtre diffère.

Le compte que vous utilisez sur admin.microsoft.com — souvent un compte admin@…onmicrosoft.com, pas votre adresse quotidienne.

Noms dérivés

Nom de l'application Entra
missivus-matomo-analytics.example.com
Description du secret client
missivus-matomo-analytics.example.com
Adresse du groupe de sécurité
noreply-apps@yourcompany.onmicrosoft.com

1 — Installer le module et se connecter

Une fenêtre de navigateur s'ouvre ; connectez-vous avec le compte administrateur. PowerShell est intégré à Windows ; sur macOS, exécutez `brew install --cask powershell`, puis `pwsh`.

Install-Module -Name ExchangeOnlineManagement -Scope CurrentUser
Connect-ExchangeOnline -UserPrincipalName {{admin}}

2 — Créer le groupe

Son seul membre est votre boîte aux lettres partagée. Notez la PrimarySmtpAddress affichée par PowerShell — elle est généralement sur le domaine intégré du tenant, et c'est exactement ce qu'attend la commande suivante.

New-DistributionGroup -Name "NoReply Apps" -Alias noreply-apps -Type Security -Members "{{sender}}"

3 — Verrouiller l'application sur le groupe

Une seule ligne. C'est l'étape qui transforme « une application qui pourrait envoyer au nom de n'importe qui » en « une application qui ne peut envoyer qu'au nom d'une seule adresse ».

New-ApplicationAccessPolicy -AppId "{{clientId}}" -PolicyScopeGroupId "{{group}}" -AccessRight RestrictAccess -Description "Missivus (Matomo) may only send as {{sender}}"

4 — Vérifier — attendez d'abord 5 à 10 minutes

La première ligne doit afficher AccessCheckResult Granted, la seconde doit afficher Denied. La seconde ligne contient un espace réservé — remplacez-le par n'importe quelle autre boîte aux lettres réelle de votre tenant, votre propre adresse convient. N'allez pas plus loin tant qu'elle n'affiche pas Denied.

Test-ApplicationAccessPolicy -Identity "{{sender}}" -AppId "{{clientId}}"
Test-ApplicationAccessPolicy -Identity "{{other}}" -AppId "{{clientId}}"

5 — Pré-vérification, envoyer un vrai e-mail depuis PowerShell

Optionnel mais fortement recommandé — cela valide tenant, application, secret et stratégie de bout en bout avant même d'impliquer Matomo. Si la première partie affiche 20 caractères, l'authentification fonctionne. Un StatusCode 202 plus un e-mail dans votre boîte de réception signifient que le côté Microsoft est terminé. Remplacez l'espace réservé du destinataire par votre propre adresse.

$TenantId = "{{tenantId}}"
$ClientId = "{{clientId}}"
$Secret   = "{{secret}}"

$tok = Invoke-RestMethod -Method Post -Uri "https://login.microsoftonline.com/$TenantId/oauth2/v2.0/token" -Body @{ client_id=$ClientId; client_secret=$Secret; scope="https://graph.microsoft.com/.default"; grant_type="client_credentials" }
$tok.access_token.Substring(0,20)
$body = '{"message":{"subject":"Missivus pre-flight","body":{"contentType":"Text","content":"Graph app-only send OK"},"toRecipients":[{"emailAddress":{"address":"{{other}}"}}]},"saveToSentItems":false}'
Invoke-WebRequest -Method Post -Uri "https://graph.microsoft.com/v1.0/users/{{sender}}/sendMail" -Headers @{ Authorization = "Bearer $($tok.access_token)" } -ContentType "application/json" -Body $body | Select-Object StatusCode

6 — Nettoyer et se déconnecter

Le secret a été saisi dans cette fenêtre ; effacez-le, puis fermez PowerShell.

Remove-Variable Secret,tok,body
Disconnect-ExchangeOnline

Pour votre gestionnaire de mots de passe

Copiez ce bloc dans les notes d'une entrée de votre gestionnaire de mots de passe. Il contient les identifiants dont vous aurez besoin lors de la rotation du secret — le secret lui-même n'y figure volontairement pas.

{{summaryAppName}}: {{appName}}
{{summaryTenantId}}: {{tenantId}}
{{summaryClientId}}: {{clientId}}
{{summaryGroup}}: {{group}}
{{summarySender}}: {{sender}}

{{summaryExpiry}}

Terminez ensuite dans Matomo

Saisissez l'ID de tenant, l'ID client, le secret et l'expéditeur dans Administration → System → General settings → Missivus, cochez « Send email through Microsoft Graph », enregistrez, puis cliquez sur « Send test email ».

Référence de configuration du plugin