Aller au contenu

Journal de bord

Ce qu'on livre, sans bruit.

Chaque nouveauté, amélioration et correction poussée sur Vektr — version par version, sur le site comme dans ton dashboard.

Dernière mise à jour le 24 septembre 2026 · v0.6.0

v0.6.0
En ligne

Piloter

  • Nouveau

    Répartition du CA par catégorie — la page Statistiques ventile ton chiffre d'affaires par catégorie Vinted (à côté des marques, tailles et pays), avec le coefficient de revente médian par ligne — sans une requête Vinted de plus.

  • Nouveau

    Import « ban-proof » de tes ventes — dépose un export Google Takeout (.mbox) ou un .eml de tes emails Vinted, et Vektr en tire tes ventes et achats — sans extension, sans risque de ban. Aperçu dédupliqué, puis enregistrement en Comptabilité en un clic. Le pseudo acheteur n'est jamais stocké (RGPD).

  • Amélioration

    Marge nette réelle (CFO) — le pôle CFO intègre le coût d'achat (COGS) pour une vraie marge nette — coût trackable par article, ou estimé via un ratio réglable.

Sourcer

  • Amélioration

    Trois stratégies de prix de revente — l'Analyse de marché propose Vente rapide, Équilibré et Marge max — avec le net en poche et, quand ton prix d'achat est connu, le coefficient et la marge par stratégie.

Vendre

  • Amélioration

    Copywriter : angle de vente par niche — le générateur adapte son angle et ses mots-clés à la niche de l'article (streetwear, luxe, outdoor, denim, Y2K…), détectée depuis la marque ou le style — sans jamais inventer de donnée.

  • Nouveau

    Studio : atelier photo complet — tray de photos partagé (drag & drop ou URLs Vinted), retouche auto client-side, mensurations par type d'article, brouillon d'annonce prêt-à-publier et ordre optimal des photos.

  • Bêta

    Studio : mockup « porté » — génère un visuel de ton article porté par un mannequin depuis une photo produit. Complémentaire : il ne remplace jamais tes vraies photos.

Gérer

  • Correctif

    Retard des colis recalculé à la lecture — le badge « Urgent » ne dépend plus d'une colonne figée — fini le sous-comptage des colis qui franchissent 3 jours sans mise à jour.

  • Nouveau

    Timeline de suivi dépliable — « Suivi récent » fusionne jalons de statut et événements transporteur, triés et dédupliqués.

  • Nouveau

    SAV en mode automatique — litiges, demandes d'avis et réponses sont pré-générés côté serveur. Garde-fou : les avis négatifs restent en validation humaine.

Légal

  • Correctif

    Pages légales legacy supprimées — les anciennes /legal/* (prix incohérents, fausse « garantie anti-ban ») laissent place aux pages canoniques /cgu et /confidentialite, avec redirections 308.

v0.5.1

Nouveau

  • Nouveau

    Sidebar restructurée — en 4 sections : Brief matinal (landing) · Mon agent (8 rôles) · Outils · Divers

  • Nouveau

    `/dashboard/brief` — landing par défaut du dashboard. Récap 24h (republiés, DMs reçus, inférences IA, jobs actifs) + recommandations IA contextuelles.

  • Nouveau

    `/dashboard/closer` — → alias /conversations (futur rôle Closer DM complet)

  • Nouveau

    `/dashboard/studio` — Vision IA Claude Sonnet 4.5 sur photos Vinted. Form avec context (marque/modèle/condition/prix), résultat structuré (authentification + défauts + match modèle + verdict buy/negotiate/skip).

  • Nouveau

    `/dashboard/copywriter` — Reformulation IA titre+description. Mode light (90% conservé) ou strong (restructuration). Copy-paste du résultat en 1 clic.

  • Nouveau

    `/dashboard/catalog` — → alias /republier (Republier + Autopilot rebranded)

  • Nouveau

    `/dashboard/scout` — → alias /feed (sourcing actif)

  • Nouveau

    `/dashboard/cfo` — → alias /stats (pilotage business)

  • Nouveau

    `/dashboard/logistics` — + **/dashboard/sav** : placeholders avec roadmap claire des features Phase B

Composants partagés

  • Amélioration

    `<RoleHeader>` — header unifié pour chaque page rôle (emoji + nom + tagline italique + badge optionnel)

  • Amélioration

    `<ComingSoonCard>` — carte "Bientôt" listant les features à venir pour les rôles partiels

Améliorations

  • Amélioration

    `/dashboard` redirige vers `/brief` — (au lieu de /feed) — l'user voit la promesse "salarié" dès le premier login

  • Amélioration

    Sidebar items — supportent emoji (plus humain) + badge Bientôt

v0.5.0

Nouveau — Agent IA (Phase A)

  • Nouveau

    lib/ai/quotas.ts — single source of truth — config par plan (free=0, solo=100, standard=500, pro=2000, élite=∞), ACTION_COST pondéré (reply_dm=1, analyze_image=5), helpers checkAiQuota / getQuotaSnapshot / getUserPlan / quotaErrorMessage.

  • Nouveau

    ConversationComposer ré-activé — dans /dashboard/conversations : bouton « ✨ Réponse IA » qui appelle /api/agent/reply-dm avec Claude Haiku 4.5 + prompt caching (~4500 tokens cachés, 80% économie). Erreurs typées 402 (free) / 403 (plan) / 429 (quota) avec CTA upgrade contextuel. Jauge quota live avec couleurs par état (ok/warning/critical/exceeded/blocked/unlimited).

  • Nouveau

    `/api/agent/analyze-image` — Vision IA Claude Sonnet 4.5 sur les photos d'un item Vinted. Renvoie { authenticity_score, defects, model_match, condition_estimate, overall_recommendation }. Réservé Pro+. Cap 6 images par appel, max 5MB par image.

  • Nouveau

    `/api/agent/price-estimate` — pricing engine v1 stats pures (pas de LLM, latence < 20ms). Filtre outliers, calcule median + p10/p25/p75/p90 + time-to-sell, génère verdict (great_deal / good_deal / fair / overpriced) avec marge estimée après frais Vinted. Réservé Solo+.

  • Nouveau

    `/api/agent/rewrite-listing` — Claude paraphrase titre + description (modes light / strong) pour défaire la dedup textuelle Vinted. Respecte les règles strictes (jamais changer marque/taille/condition/modèle).

  • Nouveau

    `/api/agent/quota` — snapshot quota courant (used, limit, ratio, state, features par plan).

Nouveau — Système Republier

  • Nouveau

    Tables `republish_jobs` + `republish_items` + `republish_settings` — avec RLS, trigger SQL auto-counters et auto-complete job quand tous items processed.

  • Nouveau

    Server actions — createRepublishJobAction, cancelRepublishJobAction, pauseRepublishJobAction, resumeRepublishJobAction, saveDefaultRepublishConfigAction.

  • Nouveau

    API REST pour l'extension — - GET /api/republish/jobs/poll (extension récupère le prochain batch de 5 items, lock optimiste status processing).

  • Nouveau

    Page `/dashboard/republier` — header + 3 stats cards (jobs actifs, republiés 30j, total à vie), cards jobs avec progress bar live + ETA + boutons Pause/Resume/Cancel, modal config inspirée vintex (6 toggles + 2 délais configurables), sidebar link entre Contre-offres et Affiliation.

  • Nouveau

    Extension Chrome (5 modules SW + UI dashboard-v3) — - republish/photo-transform.js (OffscreenCanvas — rotation ±2°, crop 3-10px, brightness ±7%, contrast ±5%, 2-3 transforms aléatoires par photo).

  • Nouveau

    UI extension — page « Republier » dans dashboard-v3.html avec **4 tabs status** (Actifs / Vendus / Brouillons / Masqués) + counts live, fetch exhaustif paginé (cap 50 pages × 24 = 1200 items), badges couleur par status, hint contextuel par tab, modal config + sticky « Republier (N sélectionnés) ».

  • Nouveau

    Sémantique adaptée par status — Actifs/Brouillons/Masqués → delete + create ; Vendus/Réservés → create only (l'original reste protégé).

Nouveau — Autopilot (Mode Auto IA)

  • Nouveau

    Table `republish_auto_state` — compteur jour (auto-reset à minuit via trigger lazy), last_run_at, paused_until + reason, total à vie.

  • Nouveau

    `lib/republish/autopilot.ts` — AutopilotConfig (active_hours + active_days + daily_cap + min_interval + smart_selection + smart_config + niche_focus), isInActiveWindow() avec wrap minuit, canRunAutopilot() verdict détaillé (disabled / paused / cap_reached / outside_window / min_interval / no_account / ok), scoreItem() heuristique 6 facteurs (âge, vues/jour, favoris/vues, saison, niche, anti-spam interne), selectBatch() top N par score, suggestConfigForItem() smart config par item (low/medium/high value + stagnant → modify_price -7% à -3%).

  • Nouveau

    3 endpoints autopilot — GET/POST /api/republish/auto/config, GET /api/republish/auto/state, POST /api/republish/auto/select-batch.

  • Nouveau

    UI extension — panneau Mode Auto en haut de la page Republier avec toggle large violet, 4 stats live (Aujourd'hui / Fenêtre / Total à vie / Prochain cycle), modal config (plage horaire start-end, 7 chips jours actifs, slider cap journalier 1-30, slider min interval 15-360 min, toggles smart selection + smart config).

  • Nouveau

    Worker `republish/autopilot-worker.js` — alarm vektrAutopilot toutes les 30 min, lock storage anti-concurrence, fetch dressing → POST select-batch → POST jobs/create → laisse republish-worker exécuter au cycle suivant. Détection captcha (403) → stub setPaused().

  • Nouveau

    29 tests unitaires — sur scheduler + scoring + smart config (Vitest, tous verts).

Nouveau — Notifications in-app (zéro email, zéro Discord)

  • Nouveau

    Table `notifications` — type, title, body, link, meta jsonb, severity (info/success/warning/error), read_at. RLS SELECT + UPDATE own. 2 index dont un partial sur unread.

  • Nouveau

    Helpers `lib/notifications/helpers.ts` — createNotification (best-effort, honors prefs), getUnreadCount, listNotifications, markAsRead, markAllAsRead.

  • Nouveau

    4 endpoints — GET /api/notifications, GET /api/notifications/unread-count (léger pour polling 30s/60s), POST /api/notifications/:id/read, POST /api/notifications/read-all.

  • Nouveau

    Hook auto sur events — job done/failed → notif + dedup via meta.job_id contains, cap journalier atteint → notif, Mode Auto toggle on/off → notif.

  • Nouveau

    UI site — <NotificationsBell /> dans le sidebar dashboard avec badge rouge animé (pulse), drawer slide-in droite full-height, icon Lucide par type + couleur par severity, mark read au click, mark all read, formatRelative ("À l'instant", "Il y a 12 min", "Il y a 3h").

  • Nouveau

    UI extension — bouton cloche dans le nav header dashboard-v3 (32×32 avec badge), panel slide-in identique au site, click sur une notif → chrome.tabs.create avec le link.

Nouveau — Notifs V2 (préférences + daily + Chrome native)

  • Nouveau

    Table `notification_preferences` — disabled_types text[], native_enabled bool, native_critical_only bool, quiet_hours_start/end int. RPC notification_preferences_get(uid) avec defaults fallback.

  • Nouveau

    `createNotification` respecte les prefs — skip silencieux si type disabled ou quiet hours actives (fail-open si lecture prefs fail).

  • Nouveau

    UI Préférences (site + extension) — modal/section avec 3 blocs (Notifs Chrome natives toggle + sub-toggle critical_only, Heures silencieuses start-end + désactiver, Types de notifications 8 toggles).

  • Nouveau

    Daily summary lazy cron — helper maybeCreateDailySummary() appelé depuis GET /api/republish/auto/state (fire-and-forget). Si > 23h depuis dernier summary ET activité 24h → notif « Résumé des dernières 24h · 7 republiés succès · 1 échec · 12 inférences IA ». Bump last_daily_summary_at pour pas re-check pendant 23h.

  • Nouveau

    Chrome notifs natives — nouveau module SW republish/notifs-poll-worker.js, alarm 2 min, fetch préférences (cache local 10 min), si native_enabled = true → fetch unread → dedup via seen IDs storage → chrome.notifications.create() (priority 2 + requireInteraction si error). Cap 3 fires par cycle anti-spam. Listener onClicked ouvre le link dans un nouvel onglet.

Améliorations

  • Amélioration

    Allowlist `protection.js` — ajout localhost + 127.0.0.1 + tous les TLD Vinted manquants (be/de/es/it/nl/pl/cz/lt/etc.) — débloque les calls /api/agent/* et /api/republish/* en dev.

  • Amélioration

    Vinted endpoint dressing — fallback en cascade sur 4 candidats (/api/v2/wardrobe/{id}/items puis /api/v2/users/{id}/items puis /web/api/v2/...) car Vinted change parfois la structure.

Corrections

  • Correctif

    `chrome-extension://invalid/` × 5 — causé par l'extension chargée avec l'ancien manifest avant ajout des nouveaux fichiers dans web_accessible_resources. Pas de fix code requis — reload l'extension.

Tech

  • Amélioration

    9 nouvelles migrations — 20260525_republish.sql, 20260525_republish_autopilot.sql, 20260525_notifications.sql, 20260525_notification_prefs.sql, 20260525_daily_summary.sql, 20260526_vinted_accounts_unique.sql (et 3 du Phase A).

  • Amélioration

    86 tests Vitest verts — (autopilot 29 + republish 9 + ai-pricing 14 + ai-quotas 9 + autres existants).

  • Amélioration

    Stack additions — Claude Haiku 4.5 + Sonnet 4.5 via @anthropic-ai/sdk, prompt caching activé (~80% économie sur tokens cachés).

v0.4.0

Nouveau — Produit & monétisation

  • Nouveau

    Page Pricing publique — 4 plans (Solo 14,99€, Standard 29,99€, Pro 79,99€, Élite sur devis) avec features mises en avant / exclues et FAQ accordéon.

  • Nouveau

    Onboarding wizard — /dashboard/onboard en 3 étapes pour les nouveaux comptes (compte Vinted → premier filtre → premier deal).

  • Nouveau

    Page Activité & quotas — /dashboard/account/usage avec jauges visuelles (scans, deals, AI, quotas du plan).

  • Nouveau

    Filtres avancés Statistiques — tri par type / marque / prix sur /stats + export CSV des transactions.

  • Nouveau

    Système référral — code unique par user (8 caractères sans ambiguïté), suivi conversions, page /dashboard/referrals avec copy-link.

  • Nouveau

    Newsletter intégrée — opt-in via Resend, token de désinscription 1 clic, page HTML d'unsubscribe.

  • Nouveau

    Roadmap publique — /roadmap avec 3 colonnes (en cours / suivant / plus tard) et vote optimistic des users.

  • Nouveau

    Help Center — /help avec recherche, 4 catégories, section contact.

  • Nouveau

    Promo codes — validation + computeDiscount + table dédiée avec contraintes d'usage.

  • Nouveau

    Custom webhooks user — chaque user peut configurer SON webhook Discord / Slack / generic pour recevoir ses deals (HMAC signé, formats auto-détectés).

  • Nouveau

    Command palette ⌘+K — 14 commandes groupées par catégorie, navigation clavier complète, sans dépendance externe (réutilise Radix Dialog).

  • Nouveau

    Export PDF stats mensuel — rapport HTML self-contained avec @media print (pas de jsPDF, économie 200 MB de deps).

  • Nouveau

    API publique REST — /api/public/* avec X-API-Key auth, prefix visible + SHA-256 hash stocké, scopes par clé.

  • Nouveau

    Affiliate program — 30% commission récurrente pour créateurs validés (distinct du référral 5€/conv), page /affiliate avec math cards et 4-step process.

  • Nouveau

    Blog SEO — page /blog + premier article « Comment scanner Vinted en 2026 — Guide complet » (12 min de lecture).

  • Nouveau

    Pages marketing acquisition — /case-studies (3 success stories Marc/Sophie/Léo), /compare (30+ rows VEKTR vs V-tools), /press (kit presse avec logos, couleurs, typo, contact).

  • Nouveau

    Testimonials sur la landing — section avec 6 témoignages, ratings + métriques highlightées, intégrée entre HowItWorks et Pricing.

Nouveau — Reliability & launch readiness

  • Nouveau

    Sentry error tracking — configs client / server / edge, gated sur NODE_ENV === "production", mask inputs activé.

  • Nouveau

    Web Vitals tracking — useReportWebVitals côté client + endpoint edge /api/analytics/vitals (LCP / FID / CLS / INP / TTFB) avec sendBeacon.

  • Nouveau

    Maintenance mode — flag en DB app_config.maintenance_mode + page /maintenance dédiée, togglable sans redéploiement, cache 30 s.

  • Nouveau

    Feature flags système — table feature_flags avec rollout % via SHA-256 hash du userId, allowed_users, allowed_plans.

  • Nouveau

    Page health publique — /api/health JSON (envs + Supabase reachable), runtime nodejs, no-store.

  • Nouveau

    Pages légales RGPD — /legal/privacy, /legal/terms, /legal/cookies avec layout + sidebar nav partagée.

  • Nouveau

    404 + error pages custom — DA VEKTR (gros « 404 » italique violet, retry button sur error boundary).

  • Nouveau

    Sitemap + robots — auto-generated, robots disallow /dashboard, /admin, /api.

Nouveau — Plateforme & infra

  • Nouveau

    Tests Vitest — 24 tests couvrant les sync routes + helpers critiques.

  • Nouveau

    Tests Playwright E2E — 11 smoke tests sur les pages publiques.

  • Nouveau

    CI GitHub Actions — lint + typecheck + tests sur chaque push.

  • Nouveau

    Rate limit middleware — token bucket in-memory sur /api/vinted/link (10 hits / min / user).

  • Nouveau

    Audit RLS Supabase — script npm run audit-rls qui vérifie la couverture RLS table par table.

  • Nouveau

    Admin panel — /admin/users avec sparklines, hover lift, empty states, tri colonnes.

  • Nouveau

    PWA manifest + service worker — offline-first, manifest avec icône violet VEKTR.

  • Nouveau

    Bundle analyzer — npm run analyze (et analyze:win pour Windows) avec code splitting.

  • Nouveau

    CONTEXT.md complet — archi mono-repo + DB + extension documentées.

Nouveau — Discord bot

  • Nouveau

    Slash command `/recap` — récap personnel par user (ventes / pépites / profit) sur demande.

  • Nouveau

    Daily recap cron 8h — embed quotidien dans #analytics avec stats community.

  • Nouveau

    Welcome DM — message d'accueil + lien onboarding à chaque nouveau membre.

Nouveau — Sync conversations & transactions

  • Nouveau

    Tables `conversations`, `messages`, `transactions` — DDL + RLS.

  • Nouveau

    Handlers extension — FETCH_INBOX_THREADS + FETCH_WALLET_TRANSACTIONS pour pull les données Vinted via browser TLS.

  • Nouveau

    Routes sync — /api/conversations/sync + /api/transactions/sync qui upsert depuis l'extension.

  • Nouveau

    Bouton « Synchroniser tout » — 1 clic = 3 syncs (filters + conversations + transactions), style V-tools.

  • Nouveau

    Auto-sync background — chrome.alarms toutes les 30 min dans l'extension.

Améliorations

  • Amélioration

    Skeleton loaders — /dashboard/feed affiche des placeholders pendant le chargement.

  • Amélioration

    Emails transactionnels — welcome email à l'inscription + daily recap (Resend).

  • Amélioration

    Multi-comptes Vinted — DB supporte n comptes par user (UI switcher différé jusqu'à user avec 5 comptes).

Tech

  • Amélioration

    Stack additions — @sentry/nextjs 10.53, @playwright/test 1.60, @anthropic-ai/sdk 0.98, @radix-ui/react-visually-hidden.

  • Amélioration

    Migrations SQL — 20260522_app_config.sql, 20260522_feature_flags.sql, 20260522_user_webhooks.sql, 20260522_api_keys.sql, 20260522_affiliates.sql, 20260522_referrals.sql, 20260522_newsletter.sql, 20260522_roadmap.sql, 20260522_promo_codes.sql, 20260522_ai_inference_logs.sql.

  • Amélioration

    Nouveaux libs — lib/app-config.ts (cache 30s), lib/feature-flags.ts (rollout par hash), lib/api-keys.ts (generate / hash / validate), lib/user-webhooks.ts (HMAC + formats), lib/referrals.ts, lib/promo-codes.ts, lib/blog/posts.ts.

  • Amélioration

    Conventions — Lifebuoy → LifeBuoy (lucide-react), Anthropic.OverloadedError retiré (n'existe plus) → instanceof Anthropic.APIError + check e.status === 529.

Corrections

  • Correctif

    Phase 1 conversations IA — ConversationComposer IA retiré temporairement (retour à read-only), différé en Phase 2.

  • Correctif

    TS errors collègue — install @anthropic-ai/sdk + types unknown au lieu de @ts-expect-error.

  • Correctif

    Fichier `env.download` — ajouté au .gitignore (contenait la Supabase anon key — jamais commité, mais sécurisé pour le futur).

v0.3.0

Améliorations

  • Amélioration

    Feed live multi-plateforme — le fil d'actualité Vinted tourne désormais aussi côté site Next.js, plus uniquement côté extension. Les utilisateurs peuvent suivre leurs filtres depuis n'importe quel navigateur (desktop ou mobile) sans installer l'extension.

  • Amélioration

    Flux en direct via Server-Sent Events — la page /dashboard/feed ouvre une connexion HTTP persistante (/api/feed/stream). Le serveur push les nouvelles annonces dès qu'elles apparaissent sur Vinted, avec un tick max de 4 secondes. Pas de rechargement, pas de polling client. Badge violet "Nouveau" animé pendant 8s sur chaque annonce fraîche.

  • Amélioration

    Doctrine 0-stockage — les annonces ne sont plus persistées dans Supabase. Le serveur Next.js appelle l'API catalogue Vinted en temps réel pour chaque filtre actif du user. Aucune donnée d'annonce n'est gardée entre deux sessions ; quand l'onglet se ferme, le serveur arrête immédiatement de poller Vinted pour ce user.

  • Amélioration

    Endpoints API — GET /api/feed (REST avec cache 15s pour le polling classique) et GET /api/feed/stream (Server-Sent Events). Authentifiés via cookie Supabase. Utilisables par l'extension, le site, ou un futur client mobile.

v0.2.0

Améliorations

  • Amélioration

    Auto-buy plus rapide — les offres passent désormais par l'API directe Vinted (300 ms au lieu de 5 s), avec un fallback DOM automatique si l'API échoue.

  • Amélioration

    Decision engine intelligent — pour chaque opportunité détectée, le bot analyse la marge estimée + la condition + la brand et recommande Buy / Offer (à -X%) / Skip. Notifications Chrome enrichies avec la recommandation.

  • Amélioration

    Mode Sniper — toggle par filtre qui réduit les pauses humaines pour les snipes critiques. Désactivé par défaut.

  • Amélioration

    Page Activité — nouvel onglet du dashboard qui liste en temps réel toutes les détections, achats et offres avec stats 24h et filtrage par type.

  • Amélioration

    Panneau Safety — kill switch global, indicateurs d'activité et limites configurables directement depuis la nav du dashboard.

  • Amélioration

    Anti-ban renforcé — trajectoires souris réalistes (Bezier perturbé), pauses humaines jittered, polling jittered, détection automatique des captchas et avertissements Vinted avec kill switch automatique.

  • Amélioration

    Limites stealth par défaut — 5 achats/heure, 20/jour, 4 à 12 s aléatoires entre chaque achat — calibré pour un comportement humain plausible.

  • Amélioration

    Logo plus visible partout — crop du PNG transparent (–60% de padding), poids divisé par 10, wordmark deux fois plus grand sur la nav, le footer et les pages auth.

  • Amélioration

    Lueur violette éditoriale — halo violet derrière les section titles (pricing, how-it-works, features, FAQ) pour renforcer l'identité visuelle.

  • Amélioration

    Plans renommés — Gratuit / Standard / Pro à la place de Découverte / VEKTR Pro / VEKTR Élite.

  • Amélioration

    Nav site compacte — pill arrondie 3 zones (logo gauche, liens centre, actions droite), 30% plus fine.

  • Amélioration

    Polices éditoriales — General Sans remplace Satoshi, la mono JetBrains est retirée des labels uppercase pour un rendu plus éditorial et moins « SaaS générique ».

Corrections

  • Correctif

    Modale filtre — scroll — la molette ne fait plus scroller la page Vinted en arrière-plan, le scroll interne est robuste.

  • Correctif

    Modale filtre — espace — sections plus aérées, body en block (sections fluides), bouton Autocop retiré de la création.

  • Correctif

    Bug NIKE hardcodé — le caption du polo Ralph Lauren dans le hero affichait « NIKE » à tort.

  • Correctif

    Bug Click to deactivate — le toggle d'activation des filtres fonctionne correctement.

  • Correctif

    Menu kebab des filtres — ne se clippe plus dans la zone du tableau.

  • Correctif

    Scan filtre robuste — null checks ajoutés pour éviter les crashs si certains éléments DOM sont absents.

v0.1.0

Améliorations

  • Amélioration

    Direction artistique éditoriale — refonte complète du site avec une identité magazine (Cormorant italique sur les mots-clés, gradient violet vertical, glow subtil, espacement généreux).

  • Amélioration

    Navigation flottante — la barre du haut devient un pill arrondi compact, plus discret tout en restant accessible en permanence.

  • Amélioration

    Pricing refondu — trois cards larges qui mettent en avant l'offre Élite sans changer les prix (0€ / 19€ / 49€).

  • Amélioration

    Page Changelog — nouvelle page publique qui liste toutes les MAJ. Le webhook Discord pointe directement ici.

Corrections

  • Correctif

    Avertissement console — un warning technique sur les dimensions du logo a été supprimé.