Administration

Le menu Administration regroupe la gestion des utilisateurs (Super Admin) et les jetons API de chacun. Les clés de compte de service ont leur propre menu.

Utilisateurs (Super Admin)

La page Utilisateurs liste tous les comptes : nom, email, nombre de projets (lien vers leur liste), dernière connexion, rôle et activation.

  • Rôle : Super Admin (voit tous les projets, gère les utilisateurs et les clés partagées) ou Utilisateur (gère ses propres projets).
  • Actif : décocher pour suspendre un compte. L'accès est coupé immédiatement, jetons API compris ; les projets restent en place.
  • On ne peut ni changer son propre rôle ni désactiver son propre compte.

Les comptes sont créés à la première connexion Google ; il n'y a pas de création manuelle.

Clés de compte de service

Menu Clés de compte de service. Une clé est le fichier JSON d'un compte de service Google, qui donne accès en lecture à GA4 et à la Search Console.

  • Clé partagée : importée par un Super Admin, utilisable par tous les projets.
  • Clé personnelle : importée par un utilisateur pour ses seuls projets.

Chacun voit les clés partagées et ses propres clés personnelles. Les clés personnelles des autres utilisateurs ne sont visibles par personne d'autre, Super Admins compris.

Pour importer : choisir le fichier JSON (Console Google Cloud → IAM → Comptes de service → Clés → Ajouter une clé), ou coller son contenu. La clé est chiffrée dès l'import et n'est plus jamais affichée : seuls l'email du compte de service et le projet GCP restent visibles. Ajouter ensuite cet email en Lecteur sur la propriété GA4 et en utilisateur Restreint sur la propriété Search Console.

Une clé utilisée par un projet ne peut pas être supprimée : changer d'abord la clé des projets concernés.

Mes jetons API

Un jeton API permet à un script d'utiliser l'application avec vos droits, sans connexion Google. Chaque utilisateur gère ses propres jetons.

  1. Administration → Mes jetons API, saisir un libellé (par exemple « reporting mensuel »), Créer le jeton.
  2. Copier le jeton affiché : il ne sera plus jamais montré. L'application n'en garde qu'une empreinte.
  3. L'envoyer dans l'en-tête Authorization: Bearer <jeton>.

La liste indique pour chaque jeton son début, sa date de création, sa dernière utilisation et son état. Révoquer le désactive aussitôt, sans retour possible. Un jeton ne permet pas de créer ni de révoquer d'autres jetons.

Points d'entrée de l'API :

GET  /api/me
GET  /api/projects                 (?archived=1 pour inclure les archivés)
GET  /api/projects/<id>/runs
POST /api/projects/<id>/runs       {"period_days": 90, "export_format": "both"}
GET  /api/runs/<id>
GET  /runs/<id>/download/xlsx      (ou csv, guide)

Exemple :

curl -H "Authorization: Bearer lga4_..." https://<adresse>/api/projects