Commit Graph

  • e40f417caa test(e2e): PR 3 — billing states + quota + dashboard + settings (+ fix isDirty) main ordinarthur 2026-05-18 17:55:02 +02:00
  • 1e2eecdeba fix(invoices): dialog facture demande l'email du client à la volée ordinarthur 2026-05-18 17:17:12 +02:00
  • 5b8898ba9c test(auth): enrichit l'assertion signup duplicate email (format de réponse) ordinarthur 2026-05-18 17:04:08 +02:00
  • 0ecf8ad40f test(e2e): PR 2 — import OCR + plans + mailing Mailpit ordinarthur 2026-05-18 16:45:39 +02:00
  • 35ffde9d56 chore(gitignore): ignore les rapports OCR bench locaux ordinarthur 2026-05-18 16:29:20 +02:00
  • 4d0cab8b33 feat(ocr): retry exponential backoff sur 429 dans ocr:validate ordinarthur 2026-05-18 16:17:56 +02:00
  • 2f96238efe feat(ocr): throttle --delay-ms + script generate-expected pour ground truth ordinarthur 2026-05-18 16:05:37 +02:00
  • e38aa224e8 feat(api): commande ocr:validate pour bencher l'OCR sur factures réelles ordinarthur 2026-05-18 15:23:19 +02:00
  • 70c851dd0e test(e2e): PR 1 — auth complet + clients CRUD + factures saisie ordinarthur 2026-05-18 15:07:55 +02:00
  • 59f81879d8 test(e2e): tests Playwright multi-stack — vrai navigateur, DB isolée, Stripe mocké ordinarthur 2026-05-18 14:58:51 +02:00
  • 0db7ff877c fix(clients): aligne adresse structurée sur convention Lucid snakeCase ordinarthur 2026-05-18 14:10:49 +02:00
  • 094c26059f test(billing): tests E2E HTTP du tunnel essai 14 j + playbook Stripe test mode ordinarthur 2026-05-18 14:01:16 +02:00
  • b0e6f83655 feat(billing): essai 14 j Pro avec CB à l'inscription (Stripe trial_period_days) ordinarthur 2026-05-18 12:04:41 +02:00
  • f9cba50b5e feat(billing,landing): plan Free 2 factures + scaffold preuves sociales/SEO ordinarthur 2026-05-18 10:38:52 +02:00
  • 7c0767f45e refactor(web): retire i18n EN, app SPA mono-langue FR ordinarthur 2026-05-18 10:05:04 +02:00
  • cecbddc496 refactor(landing): mono-langue FR + quick wins optimisations conversion ordinarthur 2026-05-18 09:46:42 +02:00
  • 254f65b5d7 feat(web): support i18n EN avec react-i18next, détection auto + switcher ordinarthur 2026-05-17 13:35:47 +02:00
  • 4f3417fcef feat(landing): support i18n EN avec routing /en/* (Astro i18n natif) ordinarthur 2026-05-17 13:29:57 +02:00
  • cb1195ab73 fix(api): TCP keepalive + pool tuning sur la connexion PG ordinarthur 2026-05-17 13:29:24 +02:00
  • 5f88a6411e feat(landing): instrumentation PostHog (Astro client) ordinarthur 2026-05-15 17:43:11 +02:00
  • 7919f20a4f feat(web): enrichit invoice_uploaded + ajoute payment_completed (PostHog) ordinarthur 2026-05-15 17:34:59 +02:00
  • cc44ed8ce8 chore(ci): rename deploy.yml → deploy-landing.yml ordinarthur 2026-05-15 17:30:56 +02:00
  • b7ad42f3d0 chore(web): commit PostHog wizard skill + report ordinarthur 2026-05-15 17:22:49 +02:00
  • 3fc3a7456a feat(web): instrumentation PostHog (analytics + nginx proxy) ordinarthur 2026-05-15 17:21:59 +02:00
  • e9e0ac6abb update landing ordinarthur 2026-05-14 15:14:07 +02:00
  • b81bc2609b fix(parametres): teaser banking l'emporte sur upsell + section démo admin-only ordinarthur 2026-05-14 13:57:37 +02:00
  • e449b708f3 docs(invoices): édition native + ADR-025 + roadmap Factur-X (Phase 5) ordinarthur 2026-05-14 03:18:11 +02:00
  • aa6468e9a0 feat(web): éditeur de factures /factures/nouvelle (Phase 4) ordinarthur 2026-05-14 03:07:41 +02:00
  • 0680bb9f77 feat(web): page /parametres/facturation — paramétrage de la facturation (Phase 3) ordinarthur 2026-05-14 02:32:07 +02:00
  • ab07cd4a3b feat(invoices): génération PDF native via @react-pdf/renderer (Phase 2) ordinarthur 2026-05-14 02:16:45 +02:00
  • e0b47ddfdc feat(invoices): éditeur de factures natif — data model + API (Phase 1) ordinarthur 2026-05-14 02:07:45 +02:00
  • 1200c549a0 feat(landing): section "Mode automatique bientôt" + FAQ + pricing ordinarthur 2026-05-12 14:21:14 +02:00
  • 3207f873e9 feat(banking): mode "Bientôt disponible" pendant la fenêtre KYC Powens ordinarthur 2026-05-12 14:14:33 +02:00
  • 51217175ad feat(banking): intégration Powens AISP + auto-réconciliation factures ordinarthur 2026-05-12 14:03:32 +02:00
  • c590b489ef change logo ordinarthur 2026-05-11 23:29:09 +02:00
  • 363caf8061 feat(web): UI marque blanche — page /parametres/marque + intégration ordinarthur 2026-05-11 12:05:36 +02:00
  • 919ebfe755 feat(release): v1.11.0 — marque blanche pour le plan Business (backend) ordinarthur 2026-05-11 11:37:07 +02:00
  • 7a112d3329 chore(claude-code): bypassPermissions + ask sur git commit/push ordinarthur 2026-05-11 00:58:32 +02:00
  • fc66775109 feat(claude-code): skill /push pour release automatisée ordinarthur 2026-05-11 00:49:39 +02:00
  • 77d52ea95c docs: aligner top-level + produit + technique + decisions sur le changelog ordinarthur 2026-05-11 00:49:37 +02:00
  • c4910889de feat(landing/changelog): glow rubis sur la dernière version, retire les pills sur les anciennes ordinarthur 2026-05-11 00:16:08 +02:00
  • 847e7a3fc5 feat(web): toast "Nouvelle version" persistant + lien vers le changelog ordinarthur 2026-05-11 00:06:06 +02:00
  • fc0d13e955 feat(landing): changelog public /changelog + flux RSS ordinarthur 2026-05-11 00:05:45 +02:00
  • 642747d762 docs(marketing): outils d'export logo + OG image + image LinkedIn ordinarthur 2026-05-10 18:29:44 +02:00
  • 3052a7e909 feat(landing): brand "Rubis.pro" + corrections copy ordinarthur 2026-05-10 14:48:17 +02:00
  • c3c9dbb408 add des betises ordinarthur 2026-05-09 20:11:33 +02:00
  • fb248553a8 docs(audit-3/3): aligner brand + marketing sur le code livré ordinarthur 2026-05-09 19:17:27 +02:00
  • 9eaac0c7ef docs(audit-2/3): aligner doc tech sur le code livré ordinarthur 2026-05-09 19:13:44 +02:00
  • 801168fc74 docs(audit-1/3): aligner top-level + produit sur le code ordinarthur 2026-05-09 19:06:59 +02:00
  • 06a3aaf468 feat(landing): step 04 — remerciement automatique au client ordinarthur 2026-05-09 18:52:15 +02:00
  • 6993d80089 perf(landing): inline critical CSS + preload latin woff2 ordinarthur 2026-05-09 18:45:06 +02:00
  • eda5436d12 fix(seo): smart title suffix + OG image par défaut 1200×630 ordinarthur 2026-05-09 18:14:28 +02:00
  • b2dd991c58 fix(blog/admin): accept upload URLs (absolute + relative /uploads paths) ordinarthur 2026-05-09 17:54:06 +02:00
  • 52bc7507fb fix(blog/admin): expose contentMd dans PostTransformer + nullish guards ordinarthur 2026-05-09 17:40:53 +02:00
  • 6dcae6956c feat(blog): admin CRUD + image upload + sidebar link ordinarthur 2026-05-09 17:25:34 +02:00
  • 77fdb6af48 feat: email de remerciement automatique après confirmation de paiement ordinarthur 2026-05-09 16:41:26 +02:00
  • 2b34388723 fix(landing): copie le workspace + node_modules pruned en runner stage ordinarthur 2026-05-09 15:27:45 +02:00
  • 566febca48 chore: sync pnpm-lock.yaml after removal of react-dom from apps/api ordinarthur 2026-05-09 15:18:28 +02:00
  • e5530930b3 feat: refactor frontend en stack React unifiée (Astro + packages/ui) ordinarthur 2026-05-09 15:09:13 +02:00
  • 7141412174 feat(legal): infos éditeur réelles + OVH comme hébergeur ordinarthur 2026-05-08 14:37:06 +02:00
  • 5127cd2c9e feat(landing): pages légales + CTAs trial 30 jours ordinarthur 2026-05-08 14:29:22 +02:00
  • f59b11f836 chore(debug): endpoint /api/v1/_debug/sentry-test pour valider Sentry E2E ordinarthur 2026-05-08 13:50:10 +02:00
  • f33b2dd319 feat(observability): Sentry monitoring API + Web (ADR-024) ordinarthur 2026-05-08 13:38:12 +02:00
  • 7c45ee4490 add plausible ordinarthur 2026-05-08 13:08:07 +02:00
  • 05cfa598b2 chore(bruno): mises à jour test data dans la collection ordinarthur 2026-05-08 12:47:49 +02:00
  • 06dcf38fee feat(ui): DatePicker brandé Rubis (remplace input type=date) ordinarthur 2026-05-07 23:01:31 +02:00
  • eb248c98b8 style(mail): fond crème edge-to-edge (au lieu d'un container blanc) ordinarthur 2026-05-07 22:55:47 +02:00
  • 1bb0c7166b fix(mail): force light color-scheme pour empêcher l'auto-inversion iOS ordinarthur 2026-05-07 22:42:57 +02:00
  • d7148525d0 fix(k3s): mail from-address contact@rubis.pro + LANDING_URL ordinarthur 2026-05-07 22:36:41 +02:00
  • f86b07c444 copy(landing): CTAs pricing → app.rubis.pro + trial 30 jours ordinarthur 2026-05-07 22:02:56 +02:00
  • aebcb07b88 copy(landing): "huissier" → "commissaire de justice" ordinarthur 2026-05-07 21:52:46 +02:00
  • 1acb273c1d docs: email infra rubis.pro (Resend sortant + OVH MX entrant) ordinarthur 2026-05-07 21:48:35 +02:00
  • 1c5a58e09a chore(domain): migrate rubis.arthurbarre.fr → rubis.pro ordinarthur 2026-05-07 21:32:31 +02:00
  • 6e796a0980 feat(landing): CTAs vers app + pages mentions légales & RGPD ordinarthur 2026-05-07 21:24:42 +02:00
  • ff8fe64be2 feat(mail): templates HTML React Email + brand "Rubis sur l'ongle" ordinarthur 2026-05-07 18:10:27 +02:00
  • 87c6f49692 fix(mail): from-name = nom de l'org (pas "Rubis Sur l'Ongle") ordinarthur 2026-05-07 17:45:57 +02:00
  • ab75f1f979 fix(checkin): bump invoice.status pending → awaiting_user_confirmation ordinarthur 2026-05-07 17:42:52 +02:00
  • 023f08c261 feat(api): commande ace billing:scenario pour tester les états billing ordinarthur 2026-05-07 17:36:06 +02:00
  • 3bad1451a9 docs(bruno): collection Billing + endpoints check-in in-app ordinarthur 2026-05-07 17:25:55 +02:00
  • 0f1a309be3 fix ordinarthur 2026-05-07 17:20:33 +02:00
  • 031b8cc062 fix(billing): détecte aussi cancel_at (Customer Portal) + reactivate sans conflit ordinarthur 2026-05-07 17:18:18 +02:00
  • cb87bbc8d1 feat(billing): expose l'annulation programmée + bouton "Réactiver" ordinarthur 2026-05-07 17:05:02 +02:00
  • b1361de606 add stripe best practices for agent ordinarthur 2026-05-07 17:00:38 +02:00
  • 4dcd85f912 test(billing): unit tests backend (17) + frontend (7) ordinarthur 2026-05-07 16:43:40 +02:00
  • fd24ef42a6 feat(billing): redesign page abonnement — layout asymétrique + identité Rubis ordinarthur 2026-05-07 16:34:46 +02:00
  • 1952265217 feat(billing): plans Free/Pro/Business + Stripe Checkout & Customer Portal ordinarthur 2026-05-07 15:03:28 +02:00
  • d410ae014e docs: flow.md — cycle de vie facture, statuts, surfaces UI, check-in deep dive ordinarthur 2026-05-07 14:26:59 +02:00
  • 52e78b66e9 feat(mobile): UX cohérente sur toute l'app + check-in non-persistant ordinarthur 2026-05-07 14:23:31 +02:00
  • 6c3b5e36b9 feat(pwa): manifest installable + icons gem rubis sur fond crème ordinarthur 2026-05-07 13:38:32 +02:00
  • 639191bef9 feat(layout): sidebar repliable + Gem SVG soignée partout ordinarthur 2026-05-07 13:32:46 +02:00
  • b96b62aab6 feat(seed): génération PDF cohérente par facture via @react-pdf/renderer ordinarthur 2026-05-07 12:59:55 +02:00
  • 040e787ee5 chore(seed): rendre seed:demo utilisable en prod ordinarthur 2026-05-07 12:41:15 +02:00
  • 68ed8f2ec6 feat(api): logs fichier en dev + traces du flow relance/mail ordinarthur 2026-05-07 12:37:20 +02:00
  • 92a9fac62b feat(checkin): modale in-app pour confirmer le paiement au login ordinarthur 2026-05-07 12:37:09 +02:00
  • 89c9a732d6 add chart details ordinarthur 2026-05-07 11:42:36 +02:00
  • 1633fb9bf0 add factories ordinarthur 2026-05-07 11:34:00 +02:00
  • 933c6496b1 feat(demo): mode démo live — horloge virtuelle + emails capturés ordinarthur 2026-05-07 10:42:59 +02:00
  • 6eb9ca4120 feat(ui): GlossaryTerm — tooltip de définition sur DSO / LME / Mise en demeure ordinarthur 2026-05-07 10:15:44 +02:00
  • 2d3766cc3d feat(dashboard): dataviz cohérente DA Rubis (3 charts + page Insights) ordinarthur 2026-05-07 10:11:45 +02:00
  • 32fcb02108 feat(api): factories de démo + commande seed:demo --email pour peupler une org ordinarthur 2026-05-07 09:57:41 +02:00