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.

Le compte admin est créé tout seul
Au premier démarrage, Trackily exécute seedAdminUser() (voir database.js:3248). Ça fait deux choses :
- Cherche un user
role='admin'dans la tableusers. 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é). - 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)
- email :
Tu verras dans les logs au boot :
[Auth] Admin user seeded: admin@trackily.local
Si tu changes
ADMIN_PASSWORDdans.envaprè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
- Ouvre
https://ton-domaine/admin(ouhttp://localhost:3000/adminen dev). - Tu arrives sur l'écran de login Trackily (voir
public/admin.html:1748). - Email :
admin@trackily.local - Mot de passe : la valeur de
ADMIN_PASSWORD - 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.
- Va sur Profile (avatar en haut à droite → "Profile").
- Mets ton vrai email + un mot de passe fort.
- Sauve.

Tour du dashboard

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 :
- Base de données OK — va dans
Settings → General. Si la page charge sans erreur, Postgres répond. - Cloaking workflow seedé — va dans
Cloaking. Tu dois voir au moins une ligne "VPN Blocker (Built-in)" (voir Cloaking → workflows). - 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.

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 :
- Via SQL direct —
UPDATE users SET password_hash = '<bcrypt-hash>' WHERE email = 'admin@trackily.local'; - Via l'UI — si un autre user
adminexiste, il peut reset depuisSettings → Users. - Via reseed — supprime la ligne admin (
DELETE FROM users WHERE email='admin@trackily.local';), redémarre Trackily avec un nouveauADMIN_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 reload —
localStorageest désactivé ou bloqué par une extension. Test en navigation privée. Settings → Usersest vide — le seed n'a pas tourné. Regarde les logs au boot :[Auth] Admin user seededdoit 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
- Installation — la page précédente
- Vue d'ensemble — l'architecture une fois loggué
- Settings — Security — 2FA, IP allowlist, session timeout
- MCP — tokens — générer un token MCP pour piloter Trackily depuis un agent