📝 Note

personal/prieure/journal

fastapinextjspostgresqlcoolifyaie-invoicingportal

Journal — prieure

Sessions de travail · ordre antéchronologique Liens : Architecture · Decisions · TODO


2026-06-02 — Analyse profonde état du projet

Session d’analyse post-sprint : revue complète du codebase et mise à jour documentation.

✅ Fait

  • Analyse de 50+ commits depuis scaffold initial
  • Identification de tous les modules livrés (bien au-delà du plan Sprint 1→5)
  • Documentation vault mise à jour (Journal, TODO, Architecture, Decisions)

🧠 Décisions

  • Vault du projet dans personal (décision utilisateur)
  • Documentation reflète l’état réel : tous les sprints complétés

⚠️ Points d’attention

  • i18n FR/EN (next-intl) non implémenté — seul item Sprint 5 manquant
  • Aucun test automatisé visible (pytest ni playwright)
  • Infra migrée Scaleway → Hetzner + Coolify (voir Decisions)

➡️ Prochain

  • Tests E2E (playwright) sur les flows critiques : devis, facturation, portail
  • i18n front si clientèle internationale active

2026-05-27 — Stabilisation CI/CD prod (dernière activité git)

✅ Fait

  • Fix healthcheck : python3 (curl absent image API)
  • Fix labels Traefik explicites (contourne bug Coolify d0b3d92a)
  • Fix NEXT_PUBLIC vars via GitHub Actions build args
  • Fix DATABASE_URL postgres://postgresql+asyncpg://
  • Fix Suspense boundary sur prospects page (useSearchParams)

2026-05-22 — Infra Hetzner + Coolify + GitHub Actions GHCR

✅ Fait

  • Migration infra Scaleway DEV1-S → Hetzner + Coolify
  • Domaines : prieure.fdubx.org / prieure-api.fdubx.org / prieure-db.fdubx.org
  • Workflows GHCR (build-api.yml, build-web.yml) — push sur main → build → deploy
  • docker-compose.prod-coolify.yml — stack complète avec Caddy/Traefik géré par Coolify
  • Dockerfile.api : dépendances WeasyPrint (libgdk-pixbuf, libcairo2, fonts-liberation)
  • Dockerfile.web : tsconfig ES2017, copy pnpm-lock.yaml pour flatpickr prod

🧠 Décisions

  • Voir Decisions : migration Hetzner + Coolify

✅ Fait

  • Génération devis IA (Mistral) — résumé + lignes automatiques (ai_quote.py)
  • Récapitulatif IA dans devis + édition/suppression devis
  • Rédaction email IA + Flatpickr date range picker + palette email “terra”
  • Magic link portail client (tokens single-use + middleware + cookies)
  • Email auto création/reset accès portail

2026-05-20 — Comptabilité, EDL, Plan 2D, Signalements, e-Invoicing

✅ Fait

  • Factures envoyées par email avec PDF pièce jointe
  • Devis envoyés par email avec PDF pièce jointe
  • Magic link automatique dans emails (créer accès, reset, facture)
  • Programme événement + to-do list partagée admin/portail
  • Tableau de bord routing fix + corrections SUPER PDP
  • Plan 2D drag-drop éditeur (vue domaine avec zones éditables par drag)
  • Panneau édition infos dans l’éditeur de plan
  • Retours clients (signalements & améliorations) portail + admin
  • Signature électronique EDL portail + devis portail
  • Badge “Signé portail” sur liste devis admin
  • Catalogue prestataires portail client avec sélections persistées
  • Fix login portail : email insensible casse + conflit email unique

⚠️ Points d’attention

  • Double head Alembic corrigé (d409c5c2) — chaîne de migration fragile

2026-05-19 — SUPER PDP facturation électronique

✅ Fait

  • Migrations : champs PDP sur clients, e-reporting sur factures, purchase_invoices
  • pdp_service.py + sync_pdp_events.py (Celery task)
  • Router purchase_invoices + router signalements
  • Schema purchase_invoice.py + model purchase_invoice.py

2026-05-18 — Sprint 1→4 : scaffold → opérationnel complet

✅ Fait

  • Scaffold monorepo + Docker Compose dev opérationnel
  • FastAPI skeleton + health check + auth JWT (access 15min / refresh 7j)
  • Migrations Alembic initial schema (toutes tables)
  • Seeds : spaces, gites, articles, user admin
  • Next.js 14 App Router + NextAuth + layout dashboard
  • Tous modules métier : clients, prospects, events, calendrier, dashboard KPIs
  • Devis (PDF, email, signature, IA), factures (PDF, email, paiement)
  • EDL (templates par espace, signature, validation), maintenance, inventaire, staff
  • Portail client (magic link, documents, hébergements, EDL, prestataires, médias)
  • Médiathèque + consentement RGPD
  • Plan 2D éditeur visuel, programme événement, to-do partagée
  • Recherche globale, notifications, paramètres (articles, tarifs, espaces, gîtes)