Prendre RDV
Proposition technique · Cahier d'architecture V1.0 · Mai 2026

Proposition technique pour la plateforme EnProjets V1.

Bonjour Laurent. Cette proposition couvre l'intégralité du cahier des charges : plateforme multi-tenant conforme RGPD, hébergée en France, avec embeddings 384 dimensions et audit log immuable. Le travail est découpé en 7 jalons indépendants sur 22 semaines, avec validation et facturation à chaque étape. Vous pouvez arrêter sans pénalité entre deux jalons.

Budget V1 · Scénario A
220k€ HT
Embeddings self-hosted, sans LLM
Option B · LLM
+30k€ HT
Claude API, activable en V1.5
Durée
22semaines
Environ 5,5 mois calendaires
Premier jalon
30k€ · 4 sem
Sortie de risque avant le jalon 2
01 · Synthèse

Synthèse de la proposition.

Le cahier des charges décrit une plateforme structurante : cinq interfaces utilisateurs, un backend multi-tenant strict, un moteur de matching sémantique auditable, un module événementiel en temps réel, une messagerie chiffrée avec accès superviseur, et des exigences RGPD renforcées pour les mineurs. La V1 doit être livrée comme une infrastructure capable d'héberger des données sensibles de jeunes et de servir de référentiel à des collectivités.

La proposition couvre l'intégralité des exigences MUST du CDC : hébergement OVH ou Scaleway en France, chiffrement AES-256 et TLS 1.3, isolation multi-tenant via Row-Level Security PostgreSQL, droit à l'oubli RGPD en moins de 72 heures, embeddings 384 dimensions Qdrant self-hosted, audit log immuable, consentement parental hardblock, QR codes UUID v4 anti-fraude, plan de reprise d'activité avec RTO inférieur à 4 heures.

Le découpage en 7 jalons indépendants apporte une vraie protection à EnProjets. Chaque jalon donne lieu à une démonstration, un rapport écrit et une réunion de validation. Vous pouvez arrêter le projet entre deux jalons sans pénalité. Le premier jalon, à 30 k€, livre l'architecture validée, le setup infra, le schéma entité-relation complet et la spec OpenAPI. Même si la suite ne se fait pas, vous repartez avec des actifs réutilisables.

Côté calendrier : un démarrage fin mai ou début juin permet de tenir une V1 utilisable en septembre (fin du jalon 4) et complète en décembre. Au-delà de la mi-juin, la mise en production glisse à janvier 2027, sans rogner sur la recette.

Axe 1 · Approche

Phasage indépendant

7 jalons distincts, sans reconduction implicite. Sortie possible entre chaque, sans pénalité. Vous payez à mesure que la valeur est livrée.

Axe 2 · Conformité

MUST intégralement traités

Tous les MUST du CDC adressés sans exception, dont les 384 dimensions Qdrant, l'audit log immuable, le hardblock parental et la réversibilité 30 jours.

Axe 3 · Souveraineté

Stack portable

Open-source standard, aucun lock-in propriétaire. Dépôt Git, comptes hébergeur et secrets au nom d'EnProjets dès le jalon 1.

02 · Chiffrage

Chiffrage.

Chiffrage par scénario, hors infrastructure récurrente et hors pentest externe. TVA non applicable selon votre statut associatif, à confirmer au jalon 1.

Recommandé Scénario A · embeddings · V1
220 000
22 semaines · 7 jalons · HT
  • Effort total
    ~150 jours/homme
  • Équipe
    2 à 3 personnes
  • TJM moyen implicite
    ~1 450 €/j
  • Garantie post-prod
    6 mois bloquants
Option B · add-on Claude API
+€30 000
+2 semaines · server-side
  • Couvre
    Reformulation · fallback · caching
  • API mensuelle
    ~150 à 400 €/mois
  • Décision
    Activable au jalon 4 ou V1.5
  • Zero data retention
    Activé via Anthropic
Forfait Périmètre fonctionnel Durée Montant HT
V1 Scénario A Forfait complet conforme au CDC, hors LLM 22 sem 220 000 €
Option add-on Scénario B Reformulation IA Claude server-side +2 sem +30 000 €
V1 complète A + B Si la commission ad hoc valide les deux scénarios 24 sem 250 000 €
03 · Découpage

Découpage en jalons.

Chaque jalon donne lieu à une démonstration, un rapport écrit et une réunion de validation. Le paiement se fait à hauteur de 30 % à la commande du jalon et 70 % à validation. Vous pouvez arrêter entre deux jalons, sans pénalité.

01

Cadrage & fondations

Architecture détaillée · Schéma entité-relation complet · Spec OpenAPI 3.0 · ADR par choix structurant · Setup OVH/Scaleway · CI/CD GitLab · Repo Git EnProjets Owner.

4 sem
30 000 €
02

Backend core & sécurité

API REST versionnée · JWT RS256 · Multi-tenant RLS · AuditLog immuable · RGPD foundations · PostgreSQL + Prisma · Chiffrement AES-256 + Vault.

5 sem
45 000 €
03

Onboarding & profils

PWA jeune mobile-first (Lighthouse ≥90, WCAG AA) · Interface acteur web · Tunnel projet <2 min · Consentement parental hardblock · Pseudonymisation mineurs.

4 sem
35 000 €
04

Matching V1 (Scénario A)

Service embeddings 384 dim · Qdrant self-hosted · Scoring multicritères 6 dimensions · Top 3 explicable · Intégrations COG INSEE + SIRENE · Logs audit biais trimestriels.

4 sem
35 000 €
05

DéclikTour

QR UUID v4 signés · Anti-fraude device_hash · Service Worker offline + IndexedDB · Compteur live WebSocket/SSE + Redis Pub/Sub · App animateur mobile-first 3G.

3 sem
30 000 €
06

Dashboard collectivité & back-office

Dashboard collectivité agrégats ≥5 individus · Exports PDF/CSV · Back-office modération · Messagerie chiffrée avec accès superviseur · Notifications email + Web Push.

3 sem
25 000 €
07

Recette & mise en production

Tests de charge k6 (300 scans/30 min) · Coordination pentest externe · Runbook complet · Formation équipe 2h · Plan de réversibilité 30j · PRA RTO ≤ 4h · Déploiement prod.

2 sem
20 000 €
Σ

Total V1, Scénario A (forfait complet)

Couverture intégrale des MUST du CDC. Aucun ajout caché. Garantie corrective incluse.

22 sem
220 000 €
+

Option Scénario B · LLM Claude API

Activable au jalon 4 ou en V1.5. Intégration côté serveur, monitoring de coût et fallback documenté.

+2 sem
+30 000 €
Planning sur 22 semaines
S1 → S22 · 7 jalons
J1 · Cadrage30 k€ · S1→S4
Cadrage
J2 · Backend45 k€ · S5→S9
Backend & sécurité
J3 · Onboarding35 k€ · S10→S13
Onboarding
J4 · Matching35 k€ · S14→S17
Matching V1
J5 · DéclikTour30 k€ · S18→S20
DéclikTour
J6 · Dashboard25 k€ · S18→S20
Dashboard
J7 · Recette20 k€ · S21→S22
Recette

Les jalons 5 et 6 sont parallélisables avec une équipe de deux. S'il faut les exécuter séquentiellement, le projet glisse de 3 semaines.

04 · Architecture & stack

Architecture et choix techniques.

L'architecture s'organise en trois couches : clients PWA et web, API unifiée et services applicatifs, puis couche de données chiffrée. L'ensemble est open-source, hébergé en France et portable vers un autre prestataire.

Couche 1
Clients

App Jeune (PWA mobile), Acteur (web), Collectivité (web), Animateur (PWA offline), Back-office (admin).

Couche 2
API & services

NestJS · JWT RS256 · rate limit · OpenAPI 3 · middleware multi-tenant · matching · messagerie · notifications · audit.

Couche 3
Données & infra

PostgreSQL 16 (RLS) · Qdrant 384 dim · Redis · object storage souverain · OVH Gravelines/SBG · Docker · Vault.

Frontend
Next.js 15 · TypeScript · Tailwind · shadcn/ui

PWA jeune et animateur, Service Worker + IndexedDB pour l'offline DéclikTour. Lighthouse ≥90 et WCAG 2.1 AA garantis par CI.

Backend
Node.js 22 LTS · NestJS 10 · Prisma 5

TypeScript de bout en bout, validation via class-validator, OpenAPI généré automatiquement. Une alternative équivalente est possible si vous préférez : Python avec FastAPI et Alembic.

Données
PostgreSQL 16 · Qdrant 1.x · Redis 7

PostgreSQL managé OVH avec Row-Level Security pour le multi-tenant. Qdrant en VM dédiée. Redis pour cache + Pub/Sub WebSockets.

Embeddings
intfloat/multilingual-e5-small (384 dim)

Modèle multilingue sous licence MIT, performant en français, environ 50 ms d'embedding sur CPU. Conforme au MUST du CDC. Calibration A/B prévue au jalon 4.

Infra
OVH Public Cloud · Docker · GitLab CI

Datacenter Gravelines ou Strasbourg, certifié ISO 27001. Comptes au nom d'EnProjets dès le premier jour. Backups quotidiens chiffrés conservés 30 jours.

Sécurité
Vault · argon2id · TLS 1.3 · LUKS

HashiCorp Vault auto-hébergé pour la gestion centralisée des secrets. Chiffrement disque via LUKS et chiffrement applicatif AES-256 sur les champs sensibles.

Monitoring
Prometheus · Grafana · Loki · Alertmanager

Open-source et auto-hébergée. Tableaux de bord accessibles en lecture pour votre équipe. Alertes par email et Slack sur seuils.

Intégrations
API COG INSEE · SIRENE · Chorus Pro

Validation des territoires via geo.api.gouv.fr, vérification SIRET avant activation d'un acteur, factur-X pour les marchés publics.

05 · Réponses aux MUST · §10.1 du CDC

Réponses aux exigences MUST.

Chaque exigence MUST du chapitre 10 du CDC est traitée ici, avec l'approche retenue, le détail d'implémentation et les tests de non-régression associés.

Q1 · MUST

Comment garantir l'isolation multi-tenant entre territoires ?

+

Isolation logique stricte via PostgreSQL Row-Level Security (RLS), avec une défense en profondeur sur trois couches : middleware applicatif, contrainte base de données, journal d'audit.

  • Toutes les tables sensibles embarquent un tenant_id non-NULL indexé. La politique RLS rejette toute requête sans tenant courant.
  • Un middleware NestJS injecte app.current_tenant à partir du JWT à chaque requête.
  • Des tests d'intégration dédiés vérifient l'absence de fuite entre tenants dès le jalon 2, puis en non-régression à chaque release.
  • Le journal d'audit immuable trace toute lecture ou modification avec tenant_id, user_id, IP, user-agent et horodatage signé.
Q2 · MUST

Le droit à l'oubli RGPD est-il exécutable sous 72 heures ?

+

Oui. Le délai cible est de 24 heures et le plafond contractuel de 72 heures. Le processus combine un soft-delete immédiat, une purge programmée et un journal d'effacement.

  • Soft-delete immédiat à la demande (flag deleted_at et pseudonymisation des champs identifiants).
  • Job de purge nocturne qui supprime physiquement les données sous 24 heures, y compris dans les backups via la rotation.
  • Délivrance d'un certificat d'effacement horodaté et signé, conservé 5 ans à des fins de preuve auprès de la CNIL.
  • Tests automatisés en CI pour vérifier qu'aucune donnée résiduelle ne subsiste dans le cache Redis ou l'index Qdrant après purge.
Q3 · MUST

Comment garantir le consentement parental pour les mineurs ?

+

Hardblock applicatif : aucune création de compte mineur n'est possible sans consentement parental vérifié.

  • Détection automatique de l'âge à l'inscription via date de naissance. En dessous de 15 ans (ou du seuil légal applicable), le parcours bascule sur le flow parental.
  • Lien de consentement envoyé au parent avec UUID signé, expiration sous 7 jours, protection anti-rejeu et traçabilité IP et horodatage.
  • Le compte reste inutilisable tant que le consentement n'est pas reçu, sans mode dégradé.
  • Stockage du consentement dans un registre signé, conservé pendant la durée du compte et 5 ans après sa suppression.
Q4 · MUST

Embeddings 384 dimensions et matching auditable : comment ?

+

Modèle intfloat/multilingual-e5-small (licence MIT, 384 dimensions), avec Qdrant auto-hébergé sur une VM OVH dédiée.

  • Scoring multicritère sur 6 dimensions explicables : thématique, géographie, durée, format, contraintes et valeurs.
  • Le top 3 est toujours expliqué. Chaque recommandation est accompagnée des 3 critères dominants ayant contribué au score.
  • Audit de biais trimestriel automatisé sur la distribution des matchs par genre, territoire et tranche d'âge, avec alertes en cas de dérive supérieure à 15 %.
  • Pas de boîte noire : les poids et règles sont documentés dans des fichiers de configuration versionnés.
Q5 · MUST

Comment gérer le plan de reprise d'activité (RTO ≤ 4 h) ?

+

Backups chiffrés horaires et procédure de restauration testée trimestriellement.

  • PostgreSQL : backups physiques continus via WAL streaming, complétés par des dumps quotidiens conservés 30 jours en stockage objet souverain.
  • Qdrant : snapshots quotidiens, complétés par un script de réindexation depuis PostgreSQL en cas de corruption (les embeddings sont déterministes).
  • Runbook complet livré au jalon 7, couvrant les scénarios de panne, les commandes exactes, l'ordre des étapes et les points de contrôle.
  • Test de restauration trimestriel sur environnement isolé, avec rapport signé. RTO cible mesuré à 2 heures, plafond contractuel à 4 heures.
Q6 · MUST

Quelle stratégie de réversibilité si EnProjets change de prestataire ?

+

Réversibilité totale en 30 jours, avec une stack 100 % open-source et des comptes au nom d'EnProjets dès le jalon 1.

  • Aucune dépendance propriétaire. Une alternative est documentée pour chaque composant clé.
  • Comptes hébergeur, registrar DNS, Vault et dépôt Git créés au nom d'EnProjets dès le jalon 1.
  • Documentation d'exploitation, ADR, schémas et runbooks remis à chaque jalon.
  • 10 heures d'accompagnement post-transfert incluses dans le forfait pour faciliter l'onboarding d'un nouveau prestataire.
Q7 · MUST

Comment le pentest externe sera-t-il coordonné et budgété ?

+

Le pentest est mené par un cabinet indépendant choisi par EnProjets. La coordination est incluse dans le jalon 7.

  • Honoraires du cabinet : 5 à 10 k€ HT selon le périmètre, hors forfait, réglés directement par EnProjets.
  • Une semaine de marge est intégrée au jalon 7 pour corriger les éventuels findings critiques ou élevés avant la mise en production.
  • Un re-test est généralement inclus par les cabinets sérieux pour valider les corrections, sans coût additionnel.
  • Le rapport final est livré à EnProjets sans censure, archivé pour audit ultérieur et partagé avec votre DPO le cas échéant.
06 · Risques & périmètre

Risques identifiés.

Sur un projet de cette ampleur, les risques principaux sont rarement techniques. Ils sont surtout calendaires, humains et liés au périmètre. Voici ceux que j'identifie à ce stade, et la façon dont chacun est traité au contrat.

Démarrage après la mi-juin
Élevé

Le calendrier de septembre à décembre repose sur un démarrage avant le 15 juin. Un lancement en juillet ou août décale la mise en production à janvier 2027.

Mitigation

Une décision d'EnProjets est attendue avant fin mai. Il est possible de réserver le créneau de démarrage en amont.

Dérive du périmètre
Élevé

Les besoins terrain peuvent faire émerger des demandes supplémentaires en cours de route. C'est la première cause de dépassement budgétaire dans ce type de projet.

Mitigation

Découpage par jalon. Toute demande hors CDC est documentée dans un avenant chiffré et validée avant développement.

Dépendance à une équipe restreinte
Moyen

Avec une équipe de 2 à 3 personnes, l'indisponibilité d'un développeur clé peut décaler le projet de 3 à 4 semaines.

Mitigation

Documentation continue (ADR, runbook), revues de code systématiques, dépôt Git appartenant à EnProjets pour permettre une reprise par un tiers.

Calibration du matching à valider
Moyen

Les poids du score multicritère seront calibrés au jalon 4, mais ils nécessiteront un retour terrain aux jalons 5 et 6 pour être affinés.

Mitigation

Tests A/B sur un jeu de données EnProjets dès le jalon 4, journal d'audit des biais activé, ajustements possibles en correctif post-production.

Vulnérabilité détectée au pentest
Moyen

Le pentest externe du jalon 7 peut révéler une vulnérabilité haute ou critique nécessitant des correctifs avant la mise en production.

Mitigation

Une semaine de marge est intégrée au jalon 7. Le pentest est mené par un cabinet indépendant choisi par EnProjets.

Coût d'usage API Claude (Scénario B)
Faible

L'usage réel du LLM peut dépasser l'estimation initiale en cas de pic d'adoption. Le risque est budgétaire et non bloquant pour la production.

Mitigation

Monitoring quotidien du coût, alertes sur seuils, rate limit applicatif par utilisateur si nécessaire, et fallback DRAFT documenté.

Inclus dans le forfait 220 k€

  • Développement complet V1 (Scénario A)Tous les MUST et SHOULD du CDC adressésForfait
  • Tests unitaires + intégrationCouverture cible ≥70 % backend, mesurée en CIForfait
  • Tests de charge k6300 scans / 30 min validés au jalon 7Forfait
  • Coordination pentest externeHors honoraires du cabinet (voir ci-contre)Forfait
  • Documentation + ADR + runbookLivrés au fil de l'eau, tenus à jourForfait
  • Formation équipe EnProjets (2 h)Back-office, monitoring, procédures d'urgenceForfait
  • Garantie corrective 6 moisSur bugs bloquants identifiés post-prodForfait
  • Plan de réversibilité 30 joursAvec 10 h d'accompagnement post-transfertForfait

Hors forfait, à prévoir en parallèle

  • Infrastructure OVH/ScalewayPostgreSQL managé, VMs, object storage, monitoring~8 à 15 k€/an
  • Pentest externe pré-productionCabinet indépendant choisi par EnProjets5 à 10 k€
  • API Claude (Scénario B)Selon volumes, à calibrer après mesure V1~150 à 400 €/mois
  • SMS transactionnelsSi activés en V1, via OVH SMS ou Octopush~0,05 €/SMS
  • Nom de domaine + emails transac.SMTP type Brevo ou auto-hébergé~50 €/mois
  • Provisionnement Vault HAVM dédiée, peut être mutualisée au jalon 1~30 €/mois
  • DPO externe (optionnel)Recommandé SHOULD, non obligatoire en V1~3 à 5 k€/an
  • Périmètre APIs V2FranceConnect, WhatsApp, Parcoursup, API publiquehors V1
07 · Conditions & modalités

Cadre contractuel.

Paiement

  • 30 % à la commande de chaque jalon, 70 % à validation.
  • Facturation au prestataire désigné. TVA non applicable si le statut associatif s'applique, à confirmer au jalon 1.
  • Paiement à 30 jours fin de mois après facturation.

Propriété intellectuelle

  • Transfert intégral du code à EnProjets dès le jalon 1, les commits étant poussés directement sur votre dépôt.
  • Aucune réutilisation du code par le prestataire dans un autre projet sans accord écrit.
  • Bibliothèques open-source listées avec leurs licences. Aucune GPL-3 dans le code propriétaire.

Garantie

  • Garantie corrective de 6 mois après la mise en production sur les bugs bloquants.
  • 10 heures de support post-projet incluses pour les questions et les ajustements mineurs.
  • Au-delà, le TJM standard s'applique sur devis.

Confidentialité & validité

  • NDA signé en amont si EnProjets le souhaite.
  • L'offre est valable 60 jours à compter du 18 mai 2026.
  • Le créneau de démarrage peut être pré-réservé avant signature, sur simple échange.
Prochaine étape

Échangeons en visio.

Une rencontre d'environ 90 minutes permettra de présenter l'architecture en détail, de répondre à vos questions et d'ajuster le périmètre si besoin. À l'issue de l'échange, vous aurez tous les éléments pour choisir le scénario et signer le devis du jalon 1.