SPB Git

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%
5.0 KB · 103 lines markdown
Rendered Raw Blame History
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.910![Swift](https://img.shields.io/badge/SwiftUI-iOS_17%2B-ff5148?style=flat-square&logo=swift&logoColor=white)11![Version](https://img.shields.io/badge/version-1.1.0-9e2a25?style=flat-square)12![TestFlight](https://img.shields.io/badge/TestFlight-1.1.0_(1)-141814?style=flat-square&logo=apple)13![Tests](https://img.shields.io/badge/tests_UI-3%2F3-141814?style=flat-square)14![XcodeGen](https://img.shields.io/badge/projet-XcodeGen-141814?style=flat-square)1516L'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| ![Recherche d'adresse](docs/screenshots/1-recherche.png) | ![Estimation complète](docs/screenshots/2-estimation.png) | ![Ajustements en dollars](docs/screenshots/4-comparable.png) |3940| Carte | Fiche carte | Manuelle |41|:---:|:---:|:---:|42| ![Recherche par carte](docs/screenshots/6-carte.png) | ![Fiche d'aperçu](docs/screenshots/7-carte-fiche.png) | ![Estimation manuelle](docs/screenshots/5-manuelle.png) |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