Icône Vrai-Prix

# Vrai-Prix iOS > **La vraie valeur de votre propriété, sans boîte noire — dans votre poche.** > App iOS native de [Vrai-Prix](https://www.vrai-prix.com), le moteur d'évaluation immobilière transparent pour le Québec. ![Swift](https://img.shields.io/badge/SwiftUI-iOS_17%2B-ff5148?style=flat-square&logo=swift&logoColor=white) ![Version](https://img.shields.io/badge/version-1.1.0-9e2a25?style=flat-square) ![TestFlight](https://img.shields.io/badge/TestFlight-1.1.0_(1)-141814?style=flat-square&logo=apple) ![Tests](https://img.shields.io/badge/tests_UI-3%2F3-141814?style=flat-square) ![XcodeGen](https://img.shields.io/badge/projet-XcodeGen-141814?style=flat-square) L'app consomme l'**API de production** (`/api/search`, `/api/nearby`, `/api/estimate`, `/api/report`, `/api/report/pro`) — 3 747 008 unités d'évaluation, 745 119 ventes réelles, MdAPE 11,0 %. Aucune donnée embarquée : le serveur [vrai-prix](https://git.spboucher.ai/vrai-prix) reste la source de vérité. ## Fonctionnalités | Onglet | Description | |---|---| | 🔎 **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 | | 🗺️ **Carte** | Recherche par carte (MapKit) : propriétés avoisinantes, géolocalisation, fiche d'aperçu avec estimation 2026 → estimation complète | | 🎛️ **Manuelle** | Municipalité + type + caractéristiques facultatives, sans adresse exacte | | 📄 **Rapports** | PDF standard (3 p.) et professionnel bancaire (6 p.), visionneuse PDFKit + partage | | 📖 **À propos** | Chiffres de validation IAAO, méthodologie en cinq étapes, conformité Loi 25 | Chaque comparable affiche ses **ajustements en dollars** (conditions de marché, superficie, âge) et son prix ajusté — la transparence totale du moteur, fidèle au site. ## Captures d'écran | Recherche | Estimation | Comparable déplié | |:---:|:---:|:---:| | ![Recherche d'adresse](docs/screenshots/1-recherche.png) | ![Estimation complète](docs/screenshots/2-estimation.png) | ![Ajustements en dollars](docs/screenshots/4-comparable.png) | | Carte | Fiche carte | Manuelle | |:---:|:---:|:---:| | ![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) | *Captures générées automatiquement par les tests XCUITest contre l'API de production.* ## Design Identité « éditorial sharp » du site : papier `#f5f3ee`, encre `#141814`, accent rouge vif `#ff5148`, bordeaux `#9e2a25` — bordures encre 1,5 pt, ombres décalées dures, display uppercase, micro-étiquettes mono. Polices embarquées : **Space Grotesk**, **Inter**, **JetBrains Mono**. L'icône est générée depuis le wordmark par `scripts/make-icon.swift` (CoreGraphics + CoreText, 1024×1024 sans alpha) : ```bash swift scripts/make-icon.swift VraiPrix/Fonts VraiPrix/Assets.xcassets/AppIcon.appiconset/icon-1024.png ``` ## Build Le projet Xcode est généré par [XcodeGen](https://github.com/yonaskolb/XcodeGen) — seul `project.yml` est versionné : ```bash xcodegen generate # (re)génère VraiPrix.xcodeproj open VraiPrix.xcodeproj # ou en CLI : xcodebuild -project VraiPrix.xcodeproj -scheme VraiPrix \ -destination 'generic/platform=iOS Simulator' CODE_SIGNING_ALLOWED=NO build ``` ### Tests de fumée bout en bout Trois tests XCUITest contre l'API de production (captures dans `/tmp/vp-ui-*.png`) : recherche → estimation, carte → point → fiche → estimation, estimation manuelle. ```bash xcodebuild -project VraiPrix.xcodeproj -scheme VraiPrix \ -destination 'platform=iOS Simulator,name=iPhone 17 Pro' CODE_SIGNING_ALLOWED=NO test ``` ## Distribution (TestFlight / App Store) Bundle id `ai.spboucher.vraiprix`, signature automatique (équipe 3YM54G49SN). ```bash xcodebuild -project VraiPrix.xcodeproj -scheme VraiPrix \ -destination 'generic/platform=iOS' -configuration Release \ -archivePath /tmp/VraiPrix.xcarchive archive -allowProvisioningUpdates xcodebuild -exportArchive -archivePath /tmp/VraiPrix.xcarchive \ -exportOptionsPlist ExportOptions.plist -allowProvisioningUpdates # method: app-store-connect, destination: upload ``` `manageAppVersionAndBuildNumber` gère le numéro de build à l'upload. L'icône sans canal alpha, `ITSAppUsesNonExemptEncryption` et le texte d'usage de la localisation (français) sont déjà conformes pour la revue. ## Auteur **Simon-Pierre Boucher** — [contact@spboucher.ai](mailto:contact@spboucher.ai) *Estimations statistiques à titre indicatif — ne remplacent pas une évaluation par un évaluateur agréé (OEAQ). Voir [conditions](https://www.vrai-prix.com/conditions) et [méthodologie](https://www.vrai-prix.com/methodologie).*