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.
Le projet en un coup d'œil : les 6 chantiers et ce qu'on y a appris.
Chaque ✓ = une étape réellement terminée et prouvée. Les … = à venir.
Pourquoi on a tranché comme ça — et l'alternative qu'on a écartée.
| Décision | Pourquoi | Alternative écartée |
|---|---|---|
| Ne pas reconstruire Te Ariari | C'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ésien | Les 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 #1 | Un 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 gate | Risque juridique : un assistant ne doit pas attester « conforme ». Statut toujours « BROUILLON, validation humaine ». | Afficher « conforme/prêt » → faux-conforme = responsabilité. |
| SaaS paliers + Premium PBC | L'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 Freemius | Merchant of Record ; Stripe est indisponible en Polynésie. | Stripe/PayPal → indispo PF. |
| LLM = DeepSeek Codex archi | Pas 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 PROCEED | 1 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 xhigh | Le 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. |
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"]
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.
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"]
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
Le SaaS est construit, durci et en ligne. Voici l'architecture réelle, les preuves empiriques et le parcours sécurité.
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
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 ».
Tout ce qui a été produit, accessible. (Liens relatifs — depuis le dossier du projet ou le tunnel.)
| Livrable | Fichier | Quoi |
|---|---|---|
| Rapport contexte | RAPPORT-CONTEXTE.html | 16 pages pédagogiques (bases, process, acteurs, plateformes, chiffres, procédures, projections, lexique) |
| One-pager produit | ONE-PAGER-PRODUIT.html | Le pitch 1 page (problème, solution, paliers, marché) |
| Cadrage | CADRAGE.md | Note de cadrage + modèle économique + questions Pascal |
| Étude de marché | ETUDE-MARCHE.md | TAM/SAM/SOM + concurrence + pricing |
| Données scrapées | DATA-LEXPOL.md · data/ | ~550 marchés, 62 formulaires, 17 fiches |
| Procédures (le cerveau) | PROCEDURES.md | Procédures CPMP + matrice formulaires×situation + 2 régimes |
| Prototype | proto/ | Pipeline « dossier auto » + dossier généré (proto/output/) |
| SaaS — EN LIGNE | app/ · dossier.pacifikai.com | Next.js 15 + Supabase dédié (13 migrations) + worker IA + Freemius + auth. Déployé Hetzner, HTTPS. Moteur : app/src/engine/ |
| Runbook mise en ligne | app/ops/EXPOSE-PUBLIC.md | DNS + Caddy + activation Freemius (clés à poser) |
| 3-layer (bootstrap) | .truth/ · .design/ | truth.html + manifest.json + design.html — pour reprendre le projet en 1 Read |