spb/vrai-prix-ios Public
App iOS native de Vrai-Prix — estimation immobilière transparente pour le Québec (SwiftUI, MapKit, Swift Charts)
Swift 100%
1<p align="center">2 <img src="VraiPrix/Assets.xcassets/AppIcon.appiconset/icon-1024.png" width="120" alt="Icône Vrai-Prix" style="border-radius:24px" />3</p>45# Vrai-Prix iOS67> **La vraie valeur de votre propriété, sans boîte noire — dans votre poche.**8> App iOS native de [Vrai-Prix](https://www.vrai-prix.com), le moteur d'évaluation immobilière transparent pour le Québec.9101112-141814?style=flat-square&logo=apple)13141516L'app consomme l'**API de production** (`/api/search`, `/api/nearby`, `/api/estimate`,17`/api/report`, `/api/report/pro`) — 3 747 008 unités d'évaluation, 745 119 ventes réelles,18MdAPE 11,0 %. Aucune donnée embarquée : le serveur [vrai-prix](https://git.spboucher.ai/vrai-prix)19reste la source de vérité.2021## Fonctionnalités2223| Onglet | Description |24|---|---|25| 🔎 **Estimer** | Recherche d'adresse (FTS5) avec autocomplétion débouncée → estimation complète : valeur, fourchette P10–P90, indice de confiance A–D, fusion 65 % modèle hédonique / 35 % comparables, historique 2021→2026 (Swift Charts), caractéristiques du rôle |26| 🗺️ **Carte** | Recherche par carte (MapKit) : propriétés avoisinantes, géolocalisation, fiche d'aperçu avec estimation 2026 → estimation complète |27| 🎛️ **Manuelle** | Municipalité + type + caractéristiques facultatives, sans adresse exacte |28| 📄 **Rapports** | PDF standard (3 p.) et professionnel bancaire (6 p.), visionneuse PDFKit + partage |29| 📖 **À propos** | Chiffres de validation IAAO, méthodologie en cinq étapes, conformité Loi 25 |3031Chaque comparable affiche ses **ajustements en dollars** (conditions de marché, superficie,32âge) et son prix ajusté — la transparence totale du moteur, fidèle au site.3334## Captures d'écran3536| Recherche | Estimation | Comparable déplié |37|:---:|:---:|:---:|38|  |  |  |3940| Carte | Fiche carte | Manuelle |41|:---:|:---:|:---:|42|  |  |  |4344*Captures générées automatiquement par les tests XCUITest contre l'API de production.*4546## Design4748Identité « éditorial sharp » du site : papier `#f5f3ee`, encre `#141814`, accent rouge vif49`#ff5148`, bordeaux `#9e2a25` — bordures encre 1,5 pt, ombres décalées dures, display50uppercase, micro-étiquettes mono. Polices embarquées : **Space Grotesk**, **Inter**,51**JetBrains Mono**. L'icône est générée depuis le wordmark par `scripts/make-icon.swift`52(CoreGraphics + CoreText, 1024×1024 sans alpha) :5354```bash55swift scripts/make-icon.swift VraiPrix/Fonts VraiPrix/Assets.xcassets/AppIcon.appiconset/icon-1024.png56```5758## Build5960Le projet Xcode est généré par [XcodeGen](https://github.com/yonaskolb/XcodeGen) — seul61`project.yml` est versionné :6263```bash64xcodegen generate # (re)génère VraiPrix.xcodeproj65open VraiPrix.xcodeproj # ou en CLI :66xcodebuild -project VraiPrix.xcodeproj -scheme VraiPrix \67 -destination 'generic/platform=iOS Simulator' CODE_SIGNING_ALLOWED=NO build68```6970### Tests de fumée bout en bout7172Trois tests XCUITest contre l'API de production (captures dans `/tmp/vp-ui-*.png`) :73recherche → estimation, carte → point → fiche → estimation, estimation manuelle.7475```bash76xcodebuild -project VraiPrix.xcodeproj -scheme VraiPrix \77 -destination 'platform=iOS Simulator,name=iPhone 17 Pro' CODE_SIGNING_ALLOWED=NO test78```7980## Distribution (TestFlight / App Store)8182Bundle id `ai.spboucher.vraiprix`, signature automatique (équipe 3YM54G49SN).8384```bash85xcodebuild -project VraiPrix.xcodeproj -scheme VraiPrix \86 -destination 'generic/platform=iOS' -configuration Release \87 -archivePath /tmp/VraiPrix.xcarchive archive -allowProvisioningUpdates88xcodebuild -exportArchive -archivePath /tmp/VraiPrix.xcarchive \89 -exportOptionsPlist ExportOptions.plist -allowProvisioningUpdates # method: app-store-connect, destination: upload90```9192`manageAppVersionAndBuildNumber` gère le numéro de build à l'upload. L'icône sans canal93alpha, `ITSAppUsesNonExemptEncryption` et le texte d'usage de la localisation (français)94sont déjà conformes pour la revue.9596## Auteur9798**Simon-Pierre Boucher** — [contact@spboucher.ai](mailto:contact@spboucher.ai)99100*Estimations statistiques à titre indicatif — ne remplacent pas une évaluation par un101évaluateur agréé (OEAQ). Voir [conditions](https://www.vrai-prix.com/conditions) et102[méthodologie](https://www.vrai-prix.com/methodologie).*103