Trackily Docs

Première connexion

Trackily seede automatiquement un compte admin au premier boot. Cette page t'explique comment t'y connecter, sécuriser le compte, et ce que tu vois sur le dashboard.

Login Trackily

Le compte admin est créé tout seul

Au premier démarrage, Trackily exécute seedAdminUser() (voir database.js:3248). Ça fait deux choses :

  1. Cherche un user role='admin' dans la table users. S'il en existe déjà un, rien n'est créé (le seed est strictement idempotent — tu peux redémarrer Trackily 1000 fois, le compte ne sera jamais recréé ni écrasé).
  2. Sinon, crée le user :
    • email : admin@trackily.local
    • mot de passe : la valeur de la variable d'env ADMIN_PASSWORD (hashée bcrypt rounds=10)
    • role : admin
    • permissions : toutes (template ROLE_TEMPLATES.admin)

Tu verras dans les logs au boot :

[Auth] Admin user seeded: admin@trackily.local

Si tu changes ADMIN_PASSWORD dans .env après le seed initial, ça ne change rien — le hash en base reste l'ancien. Pour changer le mot de passe, fais-le depuis l'UI une fois connecté (voir plus bas).

Se connecter

  1. Ouvre https://ton-domaine/admin (ou http://localhost:3000/admin en dev).
  2. Tu arrives sur l'écran de login Trackily (voir public/admin.html:1748).
  3. Email : admin@trackily.local
  4. Mot de passe : la valeur de ADMIN_PASSWORD
  5. Appuie sur Entrée.

Trackily crée une session persistante stockée dans la table sessions (voir migration v18 dans database.js:586). Elle survit aux redémarrages du serveur, expire au bout de 24h par défaut, et est protégée par un token aléatoire stocké dans localStorage sous la clé trackily_token.

Changer le mot de passe et l'email

C'est la première chose à faire après la connexion. L'email par défaut admin@trackily.local n'est pas réel — si tu actives les magic-links ou les notifs email, il faut un vrai email.

  1. Va sur Profile (avatar en haut à droite → "Profile").
  2. Mets ton vrai email + un mot de passe fort.
  3. Sauve.

Profile page

Tour du dashboard

Dashboard principal

Le dashboard d'accueil te montre :

Bloc Contenu Lien rapide
AI Predictions Bandeau du haut qui résume "ce que l'AI a détecté aujourd'hui" : campagnes en perte, sources sluggish, anomalies /admin/api/dashboard/ai-predictions
Stats globales Clicks / unique clicks / conversions / cost / revenue / profit / ROI sur 24h Filtrable par période (1h/6h/24h/7j/30j)
Top campaigns Les 10 campagnes qui font le plus de revenue sur la période Click → fiche campagne
Top sources Les sources qui drivent le plus de trafic Click → page Sources
Bot rate % de clicks détectés comme bots Lien vers Cloaking config
Recent activity Derniers events (nouveau click, conversion, alerte fraude)

La barre latérale

  • Dashboard — la page d'accueil ci-dessus
  • Campaigns — liste + création de campagnes (/c/:slug)
  • Offers — catalogue d'offres d'affiliation (avec payout, URL, statut)
  • Landings — landings locales + AI-generated
  • Flows — règles de routing offer/landing
  • Sources — sources de trafic (Meta, Kadam, Taboola, etc.)
  • Networks — réseaux d'affiliation (postbacks)
  • Domains — domaines de tracking
  • Reports — rapports groupés multi-dimensions
  • Logs — journal système
  • Cloaking — workflows de cloaking visuels
  • Automizer — règles d'automatisation
  • Autopilot — chat AI (Claude/OpenAI) avec accès MCP
  • AI Landings — builder AI de landings
  • Commerce (Phase 5+) — produits natifs, orders, customers, subscriptions, reviews, discounts, shipping, payments
  • Email — lists, sequences, SMTP, sends, suppression
  • Settings — General, AI, Payments, Security, Integrations, Cloaking, Users, Notifications
  • Profile — ton compte

Boutons du header

  • Recherche globale (loupe) — cherche partout (campagnes, offres, landings, produits, customers…)
  • Notifications (cloche) — alertes système, fraude, rule triggered
  • Theme toggle — clair / sombre
  • Profile — ton email + logout

Vérifier que tout marche

Avant de créer ta première campagne, fais trois vérifs :

  1. Base de données OK — va dans Settings → General. Si la page charge sans erreur, Postgres répond.
  2. Cloaking workflow seedé — va dans Cloaking. Tu dois voir au moins une ligne "VPN Blocker (Built-in)" (voir Cloaking → workflows).
  3. Automizer rule engine démarré — dans les logs serveur, tu dois avoir [Automizer] Starting rule engine (60s interval). Sinon, regarde Automizer → index.

Créer un second user

Une fois connecté en admin, tu peux créer des users "operator" (lecture seule) ou "manager" (peuvent modifier mais pas changer la conf système). Voir Settings → Users.

Settings — Users

Les permissions sont gérées par section (campagnes, offers, landings, commerce, email, settings, etc.) avec deux niveaux : read et write. Templates fournis :

  • admin — tout, partout
  • manager — write sur campagnes/offers/landings/flows, read sur le reste
  • analyst — read partout, write nulle part
  • operator — write sur campagnes/offers, rien d'autre

Récupérer un mot de passe perdu

Trackily n'a pas de "forgot password" public (volontaire — l'admin est seedé via env). Trois options :

  1. Via SQL directUPDATE users SET password_hash = '<bcrypt-hash>' WHERE email = 'admin@trackily.local';
  2. Via l'UI — si un autre user admin existe, il peut reset depuis Settings → Users.
  3. Via reseed — supprime la ligne admin (DELETE FROM users WHERE email='admin@trackily.local';), redémarre Trackily avec un nouveau ADMIN_PASSWORD → seed re-trigger.

Erreurs courantes

  • "Invalid credentials" alors que le mot de passe est juste — vérifie que tu te connectes avec admin@trackily.local (l'email seedé) et pas avec un autre email que tu pensais avoir mis.
  • Le login marche mais le dashboard est vide — normal, t'as zero clicks pour l'instant. Crée une campagne.
  • Tu es déconnecté à chaque reloadlocalStorage est désactivé ou bloqué par une extension. Test en navigation privée.
  • Settings → Users est vide — le seed n'a pas tourné. Regarde les logs au boot : [Auth] Admin user seeded doit apparaître. S'il n'apparaît pas, c'est qu'un admin existait déjà OU que la connexion DB a échoué.

Voir aussi