Journal de build vivant · mis à jour à chaque étape

Carnet de build — Marchés Publics IA

Tout ce qui a été fait, pourquoi ça a été fait, et les résultats — illustré (cartes mentales, diagrammes, timeline). Le « responsable appels d'offres en IA » pour les PME polynésiennes.

Statut : 🟢 EN LIGNE URL : dossier.pacifikai.com Gate Codex : 3× PASS · 0 CRITICAL Côté : VENDEUR (l'entreprise qui répond) Dernière MAJ : 9 juin 2026

0 Vue d'ensemble — la carte mentale

Le projet en un coup d'œil : les 6 chantiers et ce qu'on y a appris.

🎯 Marchés Publics IA — « le responsable appels d'offres en IA » pour les PME polynésiennes
🧭Cadrage
  • Lexpol ≠ Te Ariari (2 systèmes distincts)
  • Contact de Pascal = côté Lexpol / SGG
  • Piège : 2 régimes (CPMP vs État)
📊Marché
  • ~270 marchés attribués / an
  • 75 % sans aucune offre PME
  • Niche : ~500-800 entreprises
  • Moat = le code polynésien
💡Produit
  • Un « responsable AO » en IA
  • SaaS à paliers + Premium PBC
  • Billing Freemius
  • Ne certifie JAMAIS (BROUILLON)
📋Procédures
  • 62 formulaires officiels
  • LC · EC · OA · EM · IC
  • 17 fiches techniques (Pays)
🚀SaaS — EN LIGNE
  • Pipeline DCE-driven (8 étapes)
  • Déployé : dossier.pacifikai.com
  • 293 vrais avis Lexpol en direct
  • Worker IA + Freemius + auth
  • 3 gates Codex PASS · 0 CRITICAL
📚Documentation
  • Rapport contexte (16 pages)
  • One-pager produit
  • 3-layer (truth · design · manifest)
  • Ce carnet de build

1 Timeline — les étapes franchies

Chaque ✓ = une étape réellement terminée et prouvée. Les … = à venir.

2 Les décisions & leurs justifications

Pourquoi on a tranché comme ça — et l'alternative qu'on a écartée.

DécisionPourquoiAlternative écartée
Ne pas reconstruire Te AriariC'est un monopole légal d'État (le code interdit toute autre plateforme de dépôt).Bâtir une plateforme de publication → juridiquement mort-né.
Cible : côté ENTREPRISE (répondre)75% des marchés sans PME = douleur réelle + monétisable vite (SaaS B2B).Côté acheteur (B2G) → cycle long, on garde en réserve.
Moat = code polynésienLes outils IA français (Maître AO…) sont juridiquement faux en PF.Adapter un outil métropolitain → faux + recalibrage coûteux.
Pipeline DCE-driven Codex #1Un avis ne suffit pas : la vérité est dans le DCE complet (RC+CCAP+CCTP). Sinon on prouve une version trop faible.Piloter par l'avis → « beau brouillon » non conforme.
L'outil ne CERTIFIE JAMAIS Codex gateRisque juridique : un assistant ne doit pas attester « conforme ». Statut toujours « BROUILLON, validation humaine ».Afficher « conforme/prêt » → faux-conforme = responsabilité.
SaaS paliers + Premium PBCL'IA scale le bas (acquisition pas chère), l'humain (PBC/Pascal) capture le haut (marge).100% self-serve OU 100% agence → on perd un des deux leviers.
Billing FreemiusMerchant of Record ; Stripe est indisponible en Polynésie.Stripe/PayPal → indispo PF.
LLM = DeepSeek Codex archiPas cher & légal pour un produit client (le token OAuth Max est interdit par Anthropic). Abstraction LLMProvider → bascule Claude plus tard.claude -p sur forfait Max → interdit pour un SaaS commercial.
Worker in-process (pas Trigger.dev) Codex PROCEED1 seul VPS → un worker avec file DB-backed (lease atomique, reprise, concurrence) est plus simple & sans dépendance externe non-provisionnable.Trigger.dev cloud → création de projet impossible en autonomie (login navigateur).
Sécurité d'abord gate xhighLe gate Codex holistique a trouvé 3 CRITICAL (escalade cross-tenant, bypass de route, binding paiement) que les tests rataient → RLS durci, écritures via service_role, quota atomique, anti-spoof.Se fier aux tests « verts » → des failles d'archi RLS passent inaperçues.

3 Le build de bout en bout — le prototype

Comment l'IA transforme un vrai DCE en dossier de réponse. Architecture validée par Codex (checkpoint #1).

flowchart TD
  A["DCE réel
RC + CCAP + CCTP"] --> B["1. EXTRACT
exigences, critères, deadline"] B --> C{"2. ROUTE
régime ?"} C -- "Pays / Commune / EP" --> D["3. SELECT
formulaires LC/EC + CCAG"] C -- "État (UPF, gendarmerie...)" --> X["⛔ STOP
hors périmètre CPMP"] D --> E["4. GAP / ÉLICITE
ce qui manque (18 questions)"] E --> F["5. FILL
LC1·LC2·LC3·EC1·LC4·EC2"] F --> G["6. MÉMOIRE technique
tableau critère→preuve→risque"] G --> H["7. CHECK adversarial
cite les articles du RC"] H --> I["8. 🔶 BROUILLON
validation humaine obligatoire"]

Le parcours du gate Codex (durcissement)

Chaque colonne = une itération de cross-review adversariale. À chaque fois, de vrais bugs corrigés (garde-fou régime, fausse déclaration, never-certify…). Objectif : 0 CRITICAL.

4
it.1
5
it.2
2
it.3
3
it.4
1
it.5
1
it.7
0
✅ PASS
Preuve empirique : run complet 8/8 étapes en 528 s sur le vrai DCE de la DPAM (travaux d'amarrage, Raiatea). L'IA a extrait l'objet (130 mouillages, 6 critères pondérés), routé le bon régime (CPMP), généré 6 formulaires + un mémoire technique de 14,7 Ko, et sorti une checklist de 18 manques — sans jamais halluciner ni certifier.

4 Le contexte, illustré

Le piège n°1 : deux droits coexistent

flowchart LR
  Q["Qui publie l'avis ?"] --> P["Pays · Commune · Établissement public"]
  Q --> E["Service de l'État
(UPF, gendarmerie, justice)"] P --> CPMP["Régime CPMP
seuils en XPF"] E --> CCP["Code métropolitain
seuils en €"] CPMP --> US["✅ NOTRE CIBLE"] CCP --> HP["hors périmètre"]

Le marché en chiffres (scrapés sur Lexpol)

~270
marchés attribués / an
4,1
offres / marché
75%
sans aucune offre PME
~350
entreprises gagnantes / an
17,7M
XPF — marché médian
2027
démat. obligatoire ≥ 500k XPF

5 Le produit — le funnel

SaaS self-serve : l'IA scale le bas, Pacific Blue Consulting capture le haut.

flowchart TD
  V["🔍 Découverte (gratuit)
voit les AO + alertes"] --> S["📝 Standard ~12k XPF/mois
assistant IA + coffre-fort"] S --> P["⚡ Pro ~25k XPF/mois
illimité + intelligence marché"] P --> PBC["🤝 Premium — Pacific Blue Consulting
un expert co-construit le dossier"] V -. "active les 75% absentes" .-> S
La mécanique : « on configure une fois, on candidate à l'infini ». Un dossier manuel = 8-15 h ; les suivants < 1 h. Une PME à 6-10 marchés/an économise 60-120 h/an = l'équivalent d'un mi-temps. C'est l'employé qu'on remplace.

6 Sections vivantes — à compléter au fil du build

Le SaaS est construit, durci et en ligne. Voici l'architecture réelle, les preuves empiriques et le parcours sécurité.

Architecture réelle (déployée)

flowchart TD
  U["👤 Entreprise PME
(le vendeur qui répond)"] --> N["Next.js 15 — auth OTP
middleware + RLS"] N --> DB[("Supabase dédié
RLS par entreprise · 13 migrations")] N -- "upload DCE (PDF)" --> ST["Storage privé
écriture service_role + magic-bytes"] N -- "répondre" --> Q["responses : queued
RPC atomique (quota par palier)"] Q --> W["⚙️ Worker in-process
lease atomique · concurrence · reprise"] W --> ENG["Moteur 8 étapes
unpdf + DeepSeek + garde-fous"] ENG --> DR["🔶 BROUILLON
jamais certifié · validation humaine"] FR["💳 Freemius (Merchant of Record)"] -- "webhook signé HMAC
idempotency · anti-spoof" --> N

Les preuves (rien n'est « dit fait » sans test)

21/21
tests plomberie / RLS (cross-tenant)
64 s
DCE réel → BROUILLON (en prod)
14/14
webhook Freemius (events forgés)
293
vrais avis Lexpol en direct
13
migrations DB appliquées
0
CRITICAL (gate Codex final)

Le parcours sécurité — le gate xhigh a tout rattrapé

Une revue adversariale « holistique » de Codex a trouvé des failles d'architecture que mes tests verts rataient. Chaque colonne = un gate ; objectif 0 CRITICAL avant de déclarer « fait ».

2
engine
0
2
webhook
0
3
holistique
0
✅ PASS
3 CRITICAL trouvés & fermés : (1) un utilisateur pouvait rattacher son profil à l'entreprise d'un autre → escalade cross-tenant ; (2) il pouvait créer des réponses / uploader en direct → bypass des contrôles (quota, validation) ; (3) le paiement se liait par e-mail seul → usurpation. Tous corrigés (RLS verrouillé, écritures serveur, quota atomique, intent de checkout) et prouvés par des tests dédiés.
🟢 En ligne : https://dossier.pacifikai.com — inscription → onboarding (coffre-fort entreprise) → dashboard des 293 avis ouverts → « répondre » (upload DCE) → l'IA produit le BROUILLON. HTTPS auto (Let's Encrypt). Utilisable dès maintenant en plan gratuit. Reste : créer le produit Freemius (dashboard) pour activer le paiement, et le calibrage avec Pascal.

7 Index des livrables

Tout ce qui a été produit, accessible. (Liens relatifs — depuis le dossier du projet ou le tunnel.)

LivrableFichierQuoi
Rapport contexteRAPPORT-CONTEXTE.html16 pages pédagogiques (bases, process, acteurs, plateformes, chiffres, procédures, projections, lexique)
One-pager produitONE-PAGER-PRODUIT.htmlLe pitch 1 page (problème, solution, paliers, marché)
CadrageCADRAGE.mdNote de cadrage + modèle économique + questions Pascal
Étude de marchéETUDE-MARCHE.mdTAM/SAM/SOM + concurrence + pricing
Données scrapéesDATA-LEXPOL.md · data/~550 marchés, 62 formulaires, 17 fiches
Procédures (le cerveau)PROCEDURES.mdProcédures CPMP + matrice formulaires×situation + 2 régimes
Prototypeproto/Pipeline « dossier auto » + dossier généré (proto/output/)
SaaS — EN LIGNEapp/ · dossier.pacifikai.comNext.js 15 + Supabase dédié (13 migrations) + worker IA + Freemius + auth. Déployé Hetzner, HTTPS. Moteur : app/src/engine/
Runbook mise en ligneapp/ops/EXPOSE-PUBLIC.mdDNS + Caddy + activation Freemius (clés à poser)
3-layer (bootstrap).truth/ · .design/truth.html + manifest.json + design.html — pour reprendre le projet en 1 Read