Sécurité : réclamation de foyer et consentement de rétractation déplacés dans le webhook Stripe uniquement (jamais plus au rendu de page) ; mot de passe Postgres régénéré et réseau dédié (fokan-net, base retirée de ai-net) ; limitation de débit sur les routes publiques ; plafonds sur les invitations ; jeton .ics dédié et révocable ; en-têtes de sécurité. Fonctionnel : le mail « garder le lien » part réellement ; verrou en mémoire sur l'enrichissement d'un foyer (course quiz/pg-boss) ; rattrapage Crit'Air étendu au passage hebdomadaire ; webhook Stripe robustifié (past_due/trialing ne coupent plus l'accès) ; champ P.2 proposé aussi sur la voie déclarative du quiz (marque/modèle), pas seulement via le champ K. Nouveau : un abonné peut rejouer son quiz pour mettre à jour son foyer (garde-fou d'un rejeu par mois) — voir D-018 dans docs/decisions.md pour le compromis retenu sur l'état des échéances. Exploitation : CI GitHub Actions, ESLint, migrations Drizzle versionnées (base existante baselinée, nouvelle migration jouée), healthcheck /api/health. Code mort retiré. Voir docs/audit-2026-07-28.md § 0 pour le détail complet, correctif par correctif, et ce qui reste délibérément différé (sauvegardes, sourcing des intervalles de courroie). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
9.2 KiB
Phase 0 — Étude API plaque & sources de détection
⛔ Étude close — D-002 a été annulée par D-004 le 25/07/2026
Aucune API plaque n'est utilisée, et aucune ne le sera. Le champ K de la carte grise (numéro de réception communautaire), recopié par le foyer, identifie le véhicule dans le référentiel RDW Open Data — 2,9 M de configurations, domaine public, zéro coût variable, zéro licence, zéro contact commercial. Depuis D-017, la même source livre en plus le code moteur, c'est-à-dire la distribution.
Ce que cela change par rapport à l'arbitrage du § 10.6 du cadrage : la question « la plaque doit-elle être gratuite ou payante ? » n'a plus d'objet. Il n'y a plus de coût variable à arbitrer, donc plus de CAC caché, et l'identification du véhicule est offerte à tous.
Ce document est conservé pour la trace du raisonnement : il établit qu'aucune API plaque gratuite ne peut exister (la réutilisation du SIV exige une licence ministérielle avec redevance) et que la date réelle du contrôle technique n'est pas disponible en self-service. Ces deux constats restent vrais, et ce sont eux qui ont conduit à D-004. Voir pilier-vehicules.md pour l'état réel du pilier.
Décision d'origine, conservée telle quelle ci-dessous :
Décision D-002 (22/07/2026) : API plaque payante self-service (~5 c/req), 1 plaque offerte par quiz, cache + limite IP.Vérifié : aucune API gratuite ne peut exister — la réutilisation du SIV exige une licence ministérielle avec redevance, et HistoVec (gratuit) exige nom + numéro de formule de la carte grise. La date CT reste indisponible en self-service → fenêtre calculée depuis la 1re immatriculation. Contacts AAA Data/Autorigin (CT réelle) suspendus, réactivables.
État au 22 juillet 2026 — recherche préliminaire web ; les points marqués 📞 nécessitent un contact commercial pour être tranchés.
1. Le paysage des fournisseurs
| Fournisseur | Modèle | Prix constaté | Données | CT / Crit'Air | Verdict |
|---|---|---|---|---|---|
| AAA Data — SIvin® | API B2B sous contrat, concessionnaire historique des données SIV | 📞 non publié | 75 M véhicules, plaque ou VIN → caractéristiques techniques ; « identifiants légaux pour assurance, carte grise et contrôle technique » | 📞 à confirmer | Le candidat sérieux — source officielle, à contacter en priorité |
| Autorigin (B2B) | Rapports d'historique par plaque, API B2B | 📞 non publié | Historique complet : résultats de contrôles techniques, kilométrage, sinistres, situation administrative | ✅ CT confirmé | Le seul qui affiche la donnée CT ; probablement facturé au rapport (riche, donc cher ?) 📞 |
| apiplaqueimmatriculation.com | Self-service, packs mensuels | Dès 39 €/mois sans engagement (~800 req/mois sur le pack standard → ~5 c/req) | 80+ champs : marque, modèle, carburant, CO₂, code moteur, tecdocID, VIN | ❌ non mentionnés | Plan B économique pour l'effet waouh de base |
| api-plaque-immatriculation.com | Self-service, paliers | Gratuit 10 req/mois · 59 $/600 req (~9 c/req) · 199 $/5 000 (~4 c) · 299 $/10 000 (~3 c) | 100+ champs (VIN, SRA, KType, puissance, CO₂, dimensions) | ❌ non mentionnés | Alternative self-service ; palier gratuit pratique pour le dev |
| AutomotivAPI (iziscar) | API données auto européennes | Non relevé | Marque, modèle, motorisation, 1re immat, KType, codes SRA | ❌ | À creuser seulement si les deux ci-dessus déçoivent |
| API Particulier (ANTS) | API officielle « extrait d'immatriculation » | Gratuit | Données du certificat d'immatriculation, temps réel SIV | — | ❌ Inutilisable : réservée aux collectivités (stationnement résidentiel), DataPass + FranceConnect |
| HistoVec | Interface publique | Gratuit | Historique + CT | ✅ | ❌ Pas d'API exploitable (confirmé, conforme au cadrage) |
Le prix constaté (~3-10 centimes/requête en self-service) est dans la fourchette basse de l'estimation du cadrage (5-50 c). À ce tarif, la règle « 1 plaque offerte par quiz » coûte ~50-100 € pour 1 000 quiz complétés — coût d'acquisition borné et négligeable, le réglage pressenti (§ 7.3) est validé sous réserve des prix AAA Data.
2. Le point critique : la date réelle du prochain CT
Constat : aucune API self-service n'expose la date du prochain contrôle technique dans ses champs publics. La donnée existe (UTAC-OTC → HistoVec, et Autorigin la sert dans ses rapports), mais elle passe par des contrats B2B.
Deux voies, à mener en parallèle :
- 📞 Contact commercial AAA Data (SIvin) et Autorigin : demander explicitement « date de validité / date du dernier CT par plaque », le prix à l'appel, et les conditions (volumes minimums, engagement). C'est le scénario cible du cadrage (« date réelle obtenue par la plaque »).
- Plan B dégradé mais honnête — l'inférence par la date de 1re immatriculation (champ présent chez tous les fournisseurs) : 1er CT avant le 4e anniversaire, puis tous les 2 ans. Pour un véhicule de moins de 4 ans la date est exacte ; au-delà, on obtient une fenêtre estimée (parité des années + anniversaire), affinée par une micro-question optionnelle du quiz (« dernier CT : cette année / l'an dernier / aucune idée ») — conforme au § 4.3. L'effet waouh devient « Peugeot 308 de 2019, CT à prévoir vers mars 2027 » au lieu d'une date certaine : acceptable pour la Phase 0, à upgrader dès qu'un contrat CT est signé.
Décision recommandée pour la Phase 0 : démarrer avec un agrégateur self-service (essai gratuit puis pack ~39-59 €/mois) pour marque/modèle/année/motorisation + plan B CT, et lancer les deux contacts commerciaux immédiatement. L'architecture rend le changement indolore : la détection plaque est un adapter (§ 20.8 du cadrage), le fournisseur est interchangeable.
3. Détection adresse — open data confirmé, gratuit
Les trois sources du cadrage existent et sont servies par des API publiques gratuites :
| Source | API | Usage fokan |
|---|---|---|
| BAN (Base Adresse Nationale) | API Adresse — api-adresse.data.gouv.fr |
Autocomplétion + normalisation de l'adresse, clé de jointure |
| DPE ADEME | « API DPE logements » (portail open data ADEME / data.gouv) | Type de chauffage, année de construction, surface — la pré-suggestion du volet logement |
| BDNB (CSTB) | « API BDNB Open » | Caractéristiques bâtiment en complément/recoupement |
| Bonus découvert : IMOPE (Observatoire National des Bâtiments) | API IMOPE | 400+ attributs par adresse (DPE, énergie, technique, risques...) agrégés de 100+ sources — candidate pour remplacer les jointures manuelles DPE+BDNB par un seul appel ; vérifier conditions d'accès et fraîcheur |
Conforme à la règle de gratuité (§ 7.3) : la détection adresse est offerte à tous. Toujours en suggestion corrigeable, jamais en vérité imposée.
4. Actions restantes de ce chantier
Révisé par D-002 :
- Ouvrir un compte d'essai chez les deux self-service (apiplaqueimmatriculation.com, api-plaque-immatriculation.com — palier gratuit 10 req/mois pour le dev), comparer la qualité réelle sur ~20 plaques connues (exactitude marque/modèle/1re immat, champs utiles à l'entretien).
- Choisir le fournisseur et implémenter l'adapter plaque (interchangeable par design, § 20.8).
- Implémenter le réglage anti-abus : 1 plaque/quiz, cache par plaque normalisée, limite IP.
- Tester la couverture réelle DPE/BDNB/IMOPE sur ~10 adresses connues (dont une récente et une rurale).
- Table des préconisations courroie/révision par modèle (chantier base de connaissance) — croisée avec le modèle retourné par l'API.
📞 Contacter AAA Data (SIvin®) / Autorigin pour la date CT réelle— suspendu, réactivable si le besoin se confirme.
Sources
- AAA Data — Nos API · SIvin®
- Autorigin B2B
- apiplaqueimmatriculation.com
- api-plaque-immatriculation.com
- AutomotivAPI (iziscar)
- API Particulier — Extrait d'immatriculation véhicule (ANTS)
- HistoVec intègre les données du contrôle technique — Sécurité Routière
- API Adresse (BAN) — data.gouv.fr
- API DPE logements — data.gouv.fr
- API BDNB Open — data.gouv.fr
- API IMOPE — data.gouv.fr