{"id":2968,"date":"2025-09-02T08:12:43","date_gmt":"2025-09-02T12:12:43","guid":{"rendered":"https:\/\/www.cleverthinkingsoftware.com\/?p=2968"},"modified":"2025-09-02T08:30:59","modified_gmt":"2025-09-02T12:30:59","slug":"the-story-behind-maps-address-book","status":"publish","type":"post","link":"https:\/\/www.cleverthinkingsoftware.com\/fr\/the-story-behind-maps-address-book\/","title":{"rendered":"L'Histoire Derri\u00e8re Maps Address Book"},"content":{"rendered":"<p><em>Ou : Comment l'Application la Plus Simple s'est Transform\u00e9e en la Chose la Plus Difficile que Nous Ayons Jamais Construite<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-color has-link-color wp-elements-6ffb22d44199aaf26f879fe266f79232\" style=\"color:#000000;padding-top:var(--wp--preset--spacing--10);font-size:clamp(0.984rem, 0.984rem + ((1vw - 0.2rem) * 0.86), 1.5rem);\"><strong>Chapitre 1 : Il N'est Jamais Trop Tard (pour Avoir des Ennuis)<\/strong><\/h2>\n\n\n\n<p>J'avais presque 50 ans, avec une carri\u00e8re \u00e9panouissante dans la production m\u00e9diatique derri\u00e8re moi, et un carnet rempli d'id\u00e9es sur lesquelles je n'avais jamais agi. L'une de ces id\u00e9es \u00e9tait un jeu vid\u00e9o de trading boursier, mais j'avais besoin de quelque chose de plus petit pour commencer. Quelque chose de simple. Quelque chose qu'on ne pouvait pas rater.<\/p>\n\n\n\n<p><strong>Derni\u00e8res paroles c\u00e9l\u00e8bres.<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading has-text-color has-link-color wp-elements-dc551dd4c10b2cc5dd3217e9a2d7aaad\" style=\"color:#000000;padding-top:var(--wp--preset--spacing--10);font-size:clamp(0.984rem, 0.984rem + ((1vw - 0.2rem) * 0.86), 1.5rem);\">Un Probl\u00e8me si Stupide qu'il Fallait le R\u00e9soudre<\/h3>\n\n\n\n<p>Tout a commenc\u00e9 avec un trajet. M\u00eame itin\u00e9raire, m\u00eames jours, m\u00eame heure : traverser la ville pour rencontrer mon partenaire commercial, Nicolas. Ouvrir Google Maps. Taper son nom. Rien.<\/p>\n\n\n\n<p>Bizarre.<\/p>\n\n\n\n<p>J'essaye Apple Maps. Toujours rien.<\/p>\n\n\n\n<p>Je l'avais dans mes contacts. J'avais marqu\u00e9 son endroit comme favori. J'y \u00e9tais all\u00e9 des dizaines de fois. Et pourtant, les deux applications se comportaient comme si elles n'avaient jamais entendu parler de cet endroit.<\/p>\n\n\n\n<p>Il s'av\u00e8re que les deux applications traitent les favoris comme des coordonn\u00e9es \u00e9tiquet\u00e9es. Pas comme des personnes. Si vous n'\u00e9tiquetez pas les choses exactement comme il faut, vous ne pouvez pas les rechercher. Mais attendez, sur l'\u00e9cran des favoris, il n'y a m\u00eame pas de barre de recherche.<\/p>\n\n\n\n<p>C'est l\u00e0 que j'ai r\u00e9alis\u00e9 que nous avions besoin d'un carnet d'adresses pour les cartes. Pas un truc enfoui dans une application de contacts, mais quelque-chose con\u00e7u sp\u00e9cifiquement pour \u00e7a.<\/p>\n\n\n\n<p>Et comme \u00e7a,&nbsp;<strong>Maps Address Book<\/strong>&nbsp;est n\u00e9.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-color has-link-color wp-elements-e89ca7a3c856194a30825a73e93c4696\" style=\"color:#000000;padding-top:var(--wp--preset--spacing--10);font-size:clamp(0.984rem, 0.984rem + ((1vw - 0.2rem) * 0.86), 1.5rem);\">L'Utilitaire Manquant de l'App Store<\/h2>\n\n\n\n<p>Quand j'ai demand\u00e9 autour de moi, il s'est av\u00e9r\u00e9 que tout le monde avait le m\u00eame probl\u00e8me. Les gens faisaient des captures d'\u00e9cran d'adresses, s'envoyaient des notes par texto, ou m\u00e9morisaient des noms de rues juste pour obtenir des directions vers des endroits familiers.<\/p>\n\n\n\n<p>Nous avons v\u00e9rifi\u00e9 l'App Store : rien de semblable \u00e0 ce que nous avions en t\u00eate. M\u00eame le nom \u00e9tait disponible. Nous n'arrivions pas \u00e0 y croire.<\/p>\n\n\n\n<p>Le principe \u00e9tait d'une simplicit\u00e9 mortelle :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Sauvegarder des lieux par nom<\/li>\n\n\n\n<li>Les rechercher instantan\u00e9ment<\/li>\n\n\n\n<li>Appuyer pour lancer les directions<\/li>\n<\/ul>\n\n\n\n<p>Nous ne r\u00e9inventions pas la roue. Nous r\u00e9parions un pneu crev\u00e9.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-color has-link-color wp-elements-3e0e51fd69db2eaf1d96b0623a101829\" style=\"color:#000000;padding-top:var(--wp--preset--spacing--10);font-size:clamp(0.984rem, 0.984rem + ((1vw - 0.2rem) * 0.86), 1.5rem);\">Design d'Abord, Panique Ensuite<\/h2>\n\n\n\n<p>J'ai commenc\u00e9 \u00e0 esquisser des maquettes sur ma Supernote. Interface propre. Gros boutons. Gros doigts bienvenus. J'ai ajout\u00e9 le tri, un bouton d'appel, peut-\u00eatre un glisser-pour-appeler. Soudain, l'application \"simple\" n'\u00e9tait plus si simple.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized is-style-rounded is-style-rounded--1\"><img loading=\"lazy\" decoding=\"async\" width=\"1230\" height=\"1760\" src=\"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/screens.png\" alt=\"\" class=\"wp-image-2981\" style=\"width:512px\" srcset=\"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/screens.png 1230w, https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/screens-210x300.png 210w, https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/screens-716x1024.png 716w, https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/screens-768x1099.png 768w, https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/screens-1073x1536.png 1073w, https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/screens-8x12.png 8w\" sizes=\"auto, (max-width: 1230px) 100vw, 1230px\" \/><\/figure>\n\n\n\n<p>Alors nous avons r\u00e9duit. La version 1.0 devait \u00eatre minimaliste. Juste des adresses, des notes, et une liste propre. Nous \u00e9couterions les commentaires et grandirions \u00e0 partir de l\u00e0.<\/p>\n\n\n\n<p><strong>Qu'est-ce qui pouvait mal se passer ?<\/strong><\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-color has-link-color wp-elements-5f8bb668e757601a12aaf84dd6ddf1f6\" style=\"color:#000000;padding-top:var(--wp--preset--spacing--10);font-size:clamp(0.984rem, 0.984rem + ((1vw - 0.2rem) * 0.86), 1.5rem);\"><strong>Chapitre 2 : Ah Oui, Tout<\/strong><\/h2>\n\n\n\n<h2 class=\"wp-block-heading has-text-color has-link-color wp-elements-1414d20a937707d00412d3aab40571ba\" style=\"color:#000000;padding-top:var(--wp--preset--spacing--10);font-size:clamp(0.984rem, 0.984rem + ((1vw - 0.2rem) * 0.86), 1.5rem);\">La Surprise Swift 6<\/h2>\n\n\n\n<p>Quand Nicolas a commenc\u00e9 le d\u00e9veloppement dans Xcode, il visait le Swift moderne. Mais le Swift moderne avait d'autres plans.<\/p>\n\n\n\n<p>\ud83d\udccd Le Probl\u00e8me : Le Protocole Sendable de Swift 6<\/p>\n\n\n\n<p>Avec iOS 18 et Swift 6, Apple a introduit une application stricte au moment de la compilation du protocole&nbsp;<code>Sendable<\/code>&nbsp;pour assurer la s\u00e9curit\u00e9 des threads. \u00c7a sonne bien sur le papier\u2014jusqu'\u00e0 ce que tout votre graphe d'objets se casse parce que&nbsp;<code>ReferenceWritableKeyPath<\/code>&nbsp;ne se conforme plus.<\/p>\n\n\n\n<p>Tout type utilis\u00e9 dans les requ\u00eates SwiftData devait \u00eatre rendu&nbsp;<code>Sendable<\/code>. Cela signifiait des refactorisations en cascade \u00e0 travers chaque mod\u00e8le associ\u00e9\u2014adresses, coordonn\u00e9es GPS, m\u00e9tadonn\u00e9es de contact, vous nommez.<\/p>\n\n\n\n<p>Ce qui \u00e9tait autrefois une requ\u00eate d'une ligne est devenu une saga de migration. Nous avons pass\u00e9 des jours \u00e0 d\u00e9m\u00ealer les cha\u00eenes de propri\u00e9t\u00e9s, \u00e0 envelopper les types non s\u00e9curis\u00e9s, et \u00e0 diviser la logique juste pour satisfaire le compilateur.<\/p>\n\n\n\n<p>Le bon c\u00f4t\u00e9 ? Notre application est maintenant robustement s\u00e9curis\u00e9e pour les threads et pr\u00eate pour l'avenir. Le processus \u00e9tait douloureux, mais le r\u00e9sultat est une couche de donn\u00e9es solide comme le roc.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-color has-link-color wp-elements-997c27d3b803ba05c849bcd85fde56fa\" style=\"color:#000000;padding-top:var(--wp--preset--spacing--10);font-size:clamp(0.984rem, 0.984rem + ((1vw - 0.2rem) * 0.86), 1.5rem);\">Quand CloudKit ne Plaisante Pas<\/h2>\n\n\n\n<p>Une fois que nous avons ma\u00eetris\u00e9 Swift 6, il \u00e9tait temps d'impl\u00e9menter la synchronisation entre appareils. Entrez : CloudKit.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">\u2601\ufe0f Le Probl\u00e8me : L'Enfer des Sch\u00e9mas et la Perdition des Relations<\/h5>\n\n\n\n<p>CloudKit promettait une synchronisation transparente entre appareils. Ce qu'il nous a vraiment donn\u00e9 : des champs optionnels partout, des relations bidirectionnelles qui pouvaient faire planter l'application s'ils \u00e9taient mal g\u00e9r\u00e9s, et aucun support pour les contraintes d'unicit\u00e9.<\/p>\n\n\n\n<p>Migrer notre sch\u00e9ma SwiftData existant a n\u00e9cessit\u00e9 de repenser comment les relations, les valeurs par d\u00e9faut, et l'identit\u00e9 des objets fonctionnaient. Chaque attribut devait \u00eatre nullable. Chaque relation inverse devait \u00eatre d\u00e9finie manuellement. La pr\u00e9vention des doublons est devenue un probl\u00e8me de logique fait maison.<\/p>\n\n\n\n<p>Et ne parlons pas de tester l'\u00e9tat de synchronisation \u00e0 travers les appareils et les conditions r\u00e9seau. Ou les bugs invisibles caus\u00e9s par les conflits entre les modifications hors ligne et la synchronisation en ligne.<\/p>\n\n\n\n<p>Est-ce que \u00e7a valait la peine ? Oui. Mais seulement parce que les nerfs de Nicolas n'ont pas l\u00e2ch\u00e9.<\/p>\n\n\n\n<p>Du Apple classique : 90% de magie, 10% de d\u00e9sastre non document\u00e9.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-color has-link-color wp-elements-926394323a884a5bd6b7694b4f839924\" style=\"color:#000000;padding-top:var(--wp--preset--spacing--10);font-size:clamp(0.984rem, 0.984rem + ((1vw - 0.2rem) * 0.86), 1.5rem);\"><strong>Chapitre 3 : Les D\u00e9tails qui N'\u00e9taient Pas Optionnels<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading has-text-color has-link-color wp-elements-81aa7a107be0a5250591820b663912ac\" style=\"color:#000000;padding-top:var(--wp--preset--spacing--10);font-size:clamp(0.984rem, 0.984rem + ((1vw - 0.2rem) * 0.86), 1.5rem);\">Design d'Ic\u00f4ne : AKA Trois Semaines de Crise Existentielle<\/h3>\n\n\n\n<p>Vous penseriez que concevoir une ic\u00f4ne prendrait une journ\u00e9e. Essayez trois semaines.<\/p>\n\n\n\n<p>Elle devait \u00eatre belle sur un aper\u00e7u App Store plein \u00e9cran, et toujours avoir du sens comme un petit carr\u00e9 sur un t\u00e9l\u00e9phone de 4 pouces. La plupart des ic\u00f4nes g\u00e9n\u00e9r\u00e9es par IA avaient l'air fantastiques\u2014jusqu'\u00e0 ce que vous les r\u00e9duisiez. Alors elles se transformaient en bouillie de pixels.<\/p>\n\n\n\n<p>Alors j'ai pris mon stylet et j'ai fait \u00e0 l'ancienne. Nous avions besoin :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>D'une carte<\/li>\n\n\n\n<li>De quelques onglets ou lettres (pour le carnet d'adresses)<\/li>\n\n\n\n<li>D'une forme de livre<\/li>\n<\/ul>\n\n\n\n<p>Un croquis plus tard, nous l'avions. Une ic\u00f4ne simple et claire qui fonctionnait en grand et en petit.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized is-style-rounded is-style-rounded--2\"><img loading=\"lazy\" decoding=\"async\" width=\"1008\" height=\"1010\" src=\"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/icon.jpg\" alt=\"\" class=\"wp-image-2980\" style=\"width:512px\" srcset=\"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/icon.jpg 1008w, https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/icon-300x300.jpg 300w, https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/icon-150x150.jpg 150w, https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/icon-768x770.jpg 768w, https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/icon-12x12.jpg 12w\" sizes=\"auto, (max-width: 1008px) 100vw, 1008px\" \/><\/figure>\n\n\n\n<p>J'ai lanc\u00e9 mon fid\u00e8le ancien workflow Stable Diffusion, j'ai entr\u00e9 \"ic\u00f4ne d'application Maps Address Book\" et voici la toute premi\u00e8re image qui est sortie :<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"864\" height=\"864\" src=\"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/08\/00012-645325025-lighter-crop-1024-edited.png\" alt=\"\" class=\"wp-image-3043\" style=\"width:auto;height:512px\" srcset=\"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/08\/00012-645325025-lighter-crop-1024-edited.png 864w, https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/08\/00012-645325025-lighter-crop-1024-edited-300x300.png 300w, https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/08\/00012-645325025-lighter-crop-1024-edited-150x150.png 150w, https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/08\/00012-645325025-lighter-crop-1024-edited-768x768.png 768w, https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/08\/00012-645325025-lighter-crop-1024-edited-12x12.png 12w\" sizes=\"auto, (max-width: 864px) 100vw, 864px\" \/><\/figure>\n\n\n\n<p>\u00c0 l'\u00e9poque, nous avons pens\u00e9... Oh wow, c'est parfait ! H\u00e9las, m\u00eame si \u00e7a avait l'air g\u00e9nial au premier regard, d\u00e8s que nous l'avons affich\u00e9e \u00e0 la taille d'ic\u00f4ne sur mobile, nous avons r\u00e9alis\u00e9 que \u00e7a ne convenait pas du tout : trop petit ; faible contraste ; la carte n'est pas visible du tout. Alors je suis reparti de z\u00e9ro, et j'ai fait de mon mieux pour faire quelque chose de plus percutant, vif et... visible.<\/p>\n\n\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"wp-block-uagb-image-gallery uagb-block-1c35199c\"\n\t\t\t\t\t\tstyle=\"\"\n\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"spectra-image-gallery spectra-image-gallery__layout--grid spectra-image-gallery__layout--grid-col-3 spectra-image-gallery__layout--grid-col-tab-3 spectra-image-gallery__layout--grid-col-mob-2\">\n\t\t\t\t\t\t\t\t\t\t\t<div class='spectra-image-gallery__media-wrapper' data-spectra-gallery-image-id='3034' tabindex=\"0\">\n\t\t\t\t\t\t\t<div class=\"spectra-image-gallery__media spectra-image-gallery__media--grid\">\n\t\t\t\t<picture>\n\t\t\t\t\t<source media=\"(min-width: 1024px)\" srcset=\"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/v2.png\">\n\t\t\t\t\t<source media=\"(min-width: 768px)\" srcset=\"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/v2.png\">\n\t\t\t\t\t<img decoding=\"async\" class=\"spectra-image-gallery__media-thumbnail spectra-image-gallery__media-thumbnail--grid\" src=\"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/v2-300x300.png\" alt=\"\" loading=\"lazy\" \/>\n\t\t\t\t<\/picture>\n\t\t\t\t<div class=\"spectra-image-gallery__media-thumbnail-blurrer\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"spectra-image-gallery__media-thumbnail-caption-wrapper spectra-image-gallery__media-thumbnail-caption-wrapper--overlay\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"spectra-image-gallery__media-thumbnail-caption spectra-image-gallery__media-thumbnail-caption--overlay\">\n\t\t\t\t\tTrop carr\u00e9 !\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class='spectra-image-gallery__media-wrapper' data-spectra-gallery-image-id='3026' tabindex=\"0\">\n\t\t\t\t\t\t\t<div class=\"spectra-image-gallery__media spectra-image-gallery__media--grid\">\n\t\t\t\t<picture>\n\t\t\t\t\t<source media=\"(min-width: 1024px)\" srcset=\"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/v4.png\">\n\t\t\t\t\t<source media=\"(min-width: 768px)\" srcset=\"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/v4.png\">\n\t\t\t\t\t<img decoding=\"async\" class=\"spectra-image-gallery__media-thumbnail spectra-image-gallery__media-thumbnail--grid\" src=\"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/v4-300x300.png\" alt=\"\" loading=\"lazy\" \/>\n\t\t\t\t<\/picture>\n\t\t\t\t<div class=\"spectra-image-gallery__media-thumbnail-blurrer\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"spectra-image-gallery__media-thumbnail-caption-wrapper spectra-image-gallery__media-thumbnail-caption-wrapper--overlay\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"spectra-image-gallery__media-thumbnail-caption spectra-image-gallery__media-thumbnail-caption--overlay\">\n\t\t\t\t\tTrop incoh\u00e9rent !\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class='spectra-image-gallery__media-wrapper' data-spectra-gallery-image-id='3027' tabindex=\"0\">\n\t\t\t\t\t\t\t<div class=\"spectra-image-gallery__media spectra-image-gallery__media--grid\">\n\t\t\t\t<picture>\n\t\t\t\t\t<source media=\"(min-width: 1024px)\" srcset=\"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/v5.png\">\n\t\t\t\t\t<source media=\"(min-width: 768px)\" srcset=\"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/v5.png\">\n\t\t\t\t\t<img decoding=\"async\" class=\"spectra-image-gallery__media-thumbnail spectra-image-gallery__media-thumbnail--grid\" src=\"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/v5-300x300.png\" alt=\"\" loading=\"lazy\" \/>\n\t\t\t\t<\/picture>\n\t\t\t\t<div class=\"spectra-image-gallery__media-thumbnail-blurrer\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"spectra-image-gallery__media-thumbnail-caption-wrapper spectra-image-gallery__media-thumbnail-caption-wrapper--overlay\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"spectra-image-gallery__media-thumbnail-caption spectra-image-gallery__media-thumbnail-caption--overlay\">\n\t\t\t\t\tTrop 3D !\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class='spectra-image-gallery__media-wrapper' data-spectra-gallery-image-id='3029' tabindex=\"0\">\n\t\t\t\t\t\t\t<div class=\"spectra-image-gallery__media spectra-image-gallery__media--grid\">\n\t\t\t\t<picture>\n\t\t\t\t\t<source media=\"(min-width: 1024px)\" srcset=\"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/v7.jpg\">\n\t\t\t\t\t<source media=\"(min-width: 768px)\" srcset=\"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/v7.jpg\">\n\t\t\t\t\t<img decoding=\"async\" class=\"spectra-image-gallery__media-thumbnail spectra-image-gallery__media-thumbnail--grid\" src=\"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/v7-300x300.jpg\" alt=\"\" loading=\"lazy\" \/>\n\t\t\t\t<\/picture>\n\t\t\t\t<div class=\"spectra-image-gallery__media-thumbnail-blurrer\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"spectra-image-gallery__media-thumbnail-caption-wrapper spectra-image-gallery__media-thumbnail-caption-wrapper--overlay\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"spectra-image-gallery__media-thumbnail-caption spectra-image-gallery__media-thumbnail-caption--overlay\">\n\t\t\t\t\tPas assez carnet-d'adresses !\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class='spectra-image-gallery__media-wrapper' data-spectra-gallery-image-id='3030' tabindex=\"0\">\n\t\t\t\t\t\t\t<div class=\"spectra-image-gallery__media spectra-image-gallery__media--grid\">\n\t\t\t\t<picture>\n\t\t\t\t\t<source media=\"(min-width: 1024px)\" srcset=\"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/v8.png\">\n\t\t\t\t\t<source media=\"(min-width: 768px)\" srcset=\"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/v8.png\">\n\t\t\t\t\t<img decoding=\"async\" class=\"spectra-image-gallery__media-thumbnail spectra-image-gallery__media-thumbnail--grid\" src=\"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/v8-300x300.png\" alt=\"\" loading=\"lazy\" \/>\n\t\t\t\t<\/picture>\n\t\t\t\t<div class=\"spectra-image-gallery__media-thumbnail-blurrer\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"spectra-image-gallery__media-thumbnail-caption-wrapper spectra-image-gallery__media-thumbnail-caption-wrapper--overlay\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"spectra-image-gallery__media-thumbnail-caption spectra-image-gallery__media-thumbnail-caption--overlay\">\n\t\t\t\t\tTrop commun !\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class='spectra-image-gallery__media-wrapper' data-spectra-gallery-image-id='3040' tabindex=\"0\">\n\t\t\t\t\t\t\t<div class=\"spectra-image-gallery__media spectra-image-gallery__media--grid\">\n\t\t\t\t<picture>\n\t\t\t\t\t<source media=\"(min-width: 1024px)\" srcset=\"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/08\/v9-edited.png\">\n\t\t\t\t\t<source media=\"(min-width: 768px)\" srcset=\"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/08\/v9-edited.png\">\n\t\t\t\t\t<img decoding=\"async\" class=\"spectra-image-gallery__media-thumbnail spectra-image-gallery__media-thumbnail--grid\" src=\"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/08\/v9-edited-300x300.png\" alt=\"\" loading=\"lazy\" \/>\n\t\t\t\t<\/picture>\n\t\t\t\t<div class=\"spectra-image-gallery__media-thumbnail-blurrer\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"spectra-image-gallery__media-thumbnail-caption-wrapper spectra-image-gallery__media-thumbnail-caption-wrapper--overlay\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"spectra-image-gallery__media-thumbnail-caption spectra-image-gallery__media-thumbnail-caption--overlay\">\n\t\t\t\t\tTrop jeu-vid\u00e9o !\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\n\n\n<p>Apr\u00e8s quelques centaines d'essais, j'avais un meilleur concept. Plein \u00e9cran, \u00e7a avait l'air fantastique, mais \u00e0 chaque fois il y avait quelque chose qui clochait : impossible de voir les onglets ; perspective d\u00e9cal\u00e9e ; carte de couverture pas assez visible ; trop jeu-vid\u00e9o ; trop IA ; trop moyen... Alors j'ai pris tous les concepts que j'avais trouv\u00e9s jusqu'alors, et je les ai tous mis ensemble dans une ic\u00f4ne \u00e0 fort contraste et haute visibilit\u00e9. Et maintenant nous l'avions, la version finale :<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/v10.png\" alt=\"\" class=\"wp-image-3037\" style=\"width:auto;height:512px\" srcset=\"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/v10.png 1024w, https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/v10-300x300.png 300w, https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/v10-150x150.png 150w, https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/v10-768x768.png 768w, https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/v10-12x12.png 12w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Il a fallu beaucoup d'essais, sur de nombreux \u00e9crans diff\u00e9rents \u00e0 diff\u00e9rentes tailles, du compositing et beaucoup de frustration, mais j'y suis finalement arriv\u00e9. Il s'av\u00e8re que les diffuseurs sont cool, mais ils ne comprennent rien \u00e0 l'accessibilit\u00e9. Du tout.<\/p>\n\n\n\n<p><strong>Le\u00e7on :<\/strong>&nbsp;L'IA peut aider. Mais elle ne comprend pas les contraintes visuelles. Il faut encore un \u0153il humain.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-color has-link-color wp-elements-6d904de1594f187085b58956a4cc94b4\" style=\"color:#000000;padding-top:var(--wp--preset--spacing--10);font-size:clamp(0.984rem, 0.984rem + ((1vw - 0.2rem) * 0.86), 1.5rem);\">Localisation : Le Niveau Boss Cach\u00e9<\/h2>\n\n\n\n<p>Nous savions que nous voulions que Maps Address Book atteigne au-del\u00e0 du Canada. Alors nous avons localis\u00e9.<\/p>\n\n\n\n<p>Il s'av\u00e8re que \"localisation\" ne signifie pas juste traduire le texte. \u00c7a signifie :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Traduire tout, y compris les images et les pages App Store<\/li>\n\n\n\n<li>Tenir compte des dispositions RTL (bonjour l'arabe)<\/li>\n\n\n\n<li>Corriger les bugs de police (cor\u00e9en, on te voit)<\/li>\n\n\n\n<li>Copier-coller les cha\u00eenes traduites dans Photoshop pour chaque langue, puis exporter chaque image \u00e0 nouveau<\/li>\n<\/ul>\n\n\n\n<p>M\u00eame utiliser Claude pour g\u00e9n\u00e9rer des traductions contextuelles n'\u00e9tait pas suffisant. Des locuteurs natifs devaient encore tout r\u00e9viser. Et l'App Store exige des captures d'\u00e9cran dans toutes les langues principales.<\/p>\n\n\n\n<p>Si vous voulez jamais comprendre l'\u00e2me d'une langue, essayez d'espacer du texte d'interface traduit \u00e0 travers 12 mod\u00e8les de captures d'\u00e9cran avec des polices align\u00e9es \u00e0 droite. Dans Photoshop.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-color has-link-color wp-elements-9e76618dbfaa89e5c98efc5416c175c1\" style=\"color:#000000;padding-top:var(--wp--preset--spacing--10);font-size:clamp(0.984rem, 0.984rem + ((1vw - 0.2rem) * 0.86), 1.5rem);\"><strong>Chapitre 4 : Ce que Nous Avons Appris<\/strong><\/h2>\n\n\n\n<p>Nous avons commenc\u00e9 ce projet en pensant : \"Ce sera facile. C'est juste un simple utilitaire.\"<\/p>\n\n\n\n<p>Voici ce que nous avons appris \u00e0 la place :<\/p>\n\n\n\n<p>\u00c9coutez t\u00f4t. Les commentaires des utilisateurs nous ont sauv\u00e9s de construire les mauvaises choses. Les gens ne voulaient pas de fonctionnalit\u00e9s tape-\u00e0-l'\u0153il\u2014ils voulaient juste leurs foutues adresses.<\/p>\n\n\n\n<p>Aucun projet n'est simple quand on se soucie de la qualit\u00e9.<\/p>\n\n\n\n<p>Le codage repr\u00e9sente 20% du travail. Les 80% restants sont le design, l'UX, le marketing, le support, l'internationalisation, et les tests.<\/p>\n\n\n\n<p>L'App Store compte. Une bonne description, des localisations, et des captures d'\u00e9cran polies ne sont pas optionnelles.<\/p>\n\n\n\n<p>Concevez pour la d\u00e9couvrabilit\u00e9. Une interface claire ne suffit pas\u2014les gens doivent sentir comment l'utiliser.<\/p>\n\n\n\n<p>Les LLM aident. Claude a aid\u00e9 avec la syntaxe Swift, l'architecture, et les traductions. Mais il ne pouvait pas prendre de d\u00e9cisions ou r\u00e9soudre l'UX nuanc\u00e9e. L'IA est votre copilote, pas votre capitaine. Le 'Vibe Coding' ? Quelle blague. Le sang et les larmes, voil\u00e0 ce qui nous a men\u00e9s \u00e0 la ligne d'arriv\u00e9e.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-color has-link-color wp-elements-72ba126d0a502a2179df2762d0ed43eb\" style=\"color:#000000;padding-top:var(--wp--preset--spacing--10);font-size:clamp(0.984rem, 0.984rem + ((1vw - 0.2rem) * 0.86), 1.5rem);\"><strong>\u00c9pilogue : Alors, \u00c7a Valait le Coup ?<\/strong><\/h2>\n\n\n\n<p>Absolument.<\/p>\n\n\n\n<p>En une ann\u00e9e de construction de Maps Address Book, j'ai appris plus sur la psychologie, l'UX globale, et la strat\u00e9gie produit qu'en 20 ans de production audiovisuelle.<\/p>\n\n\n\n<p>Ce n'\u00e9tait pas l'application que nous pensions construire. Mais c'\u00e9tait l'application dont nous (et apparemment tout un tas d'autres personnes) avions besoin.<\/p>\n\n\n\n<p>Et la prochaine fois que quelqu'un vous dit \"Je veux faire une app,\" donnez-lui cet article.<\/p>\n\n\n\n<p><strong>Puis servez-lui un verre.<\/strong><\/p>","protected":false},"excerpt":{"rendered":"<p>Or: How the Simplest App Turned Into the Most Difficult Thing We&#8217;ve Ever Built Chapter 1: It&#8217;s Never Too Late (to Get in Trouble) I was nearly 50, with a fulfilling career in media production behind me, and a notebook full of ideas I&#8217;d never acted on. One of those ideas was a stock trading [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":3066,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"_uag_custom_page_level_css":"","footnotes":""},"categories":[1],"tags":[68,72,71,57,31,73,29,59,67,69],"class_list":["post-2968","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-apple","tag-behind-the-scene","tag-design","tag-devtools","tag-engineering","tag-localization","tag-programming","tag-softwareengineering","tag-swift","tag-swiftui"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>The Story Behind Maps Address Book - Clever Thinking Software<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.cleverthinkingsoftware.com\/fr\/the-story-behind-maps-address-book\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The Story Behind Maps Address Book - Clever Thinking Software\" \/>\n<meta property=\"og:description\" content=\"Or: How the Simplest App Turned Into the Most Difficult Thing We&#8217;ve Ever Built Chapter 1: It&#8217;s Never Too Late (to Get in Trouble) I was nearly 50, with a fulfilling career in media production behind me, and a notebook full of ideas I&#8217;d never acted on. One of those ideas was a stock trading [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.cleverthinkingsoftware.com\/fr\/the-story-behind-maps-address-book\/\" \/>\n<meta property=\"og:site_name\" content=\"Clever Thinking Software\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-02T12:12:43+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-02T12:30:59+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/cropped_optimized_jpeg.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1536\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Dexter Santucci\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Dexter Santucci\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/the-story-behind-maps-address-book\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/the-story-behind-maps-address-book\\\/\"},\"author\":{\"name\":\"Dexter Santucci\",\"@id\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/#\\\/schema\\\/person\\\/19feaeb89ca35dbcc64175aa2e59d894\"},\"headline\":\"The Story Behind Maps Address Book\",\"datePublished\":\"2025-09-02T12:12:43+00:00\",\"dateModified\":\"2025-09-02T12:30:59+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/the-story-behind-maps-address-book\\\/\"},\"wordCount\":1312,\"publisher\":{\"@id\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/the-story-behind-maps-address-book\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped_optimized_jpeg.jpg\",\"keywords\":[\"Apple\",\"behind the scene\",\"design\",\"DevTools\",\"engineering\",\"localization\",\"programming\",\"SoftwareEngineering\",\"swift\",\"SwiftUI\"],\"articleSection\":[\"Uncategorized\"],\"inLanguage\":\"fr-FR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/the-story-behind-maps-address-book\\\/\",\"url\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/the-story-behind-maps-address-book\\\/\",\"name\":\"The Story Behind Maps Address Book - Clever Thinking Software\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/the-story-behind-maps-address-book\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/the-story-behind-maps-address-book\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped_optimized_jpeg.jpg\",\"datePublished\":\"2025-09-02T12:12:43+00:00\",\"dateModified\":\"2025-09-02T12:30:59+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/the-story-behind-maps-address-book\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/the-story-behind-maps-address-book\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/the-story-behind-maps-address-book\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped_optimized_jpeg.jpg\",\"contentUrl\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped_optimized_jpeg.jpg\",\"width\":1536,\"height\":1024},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/the-story-behind-maps-address-book\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The Story Behind Maps Address Book\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/#website\",\"url\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/\",\"name\":\"Clever Thinking Software\",\"description\":\"Controlling complexity through custom software, IT consulting and AI solutions.\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/#organization\"},\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/#organization\",\"name\":\"Clever Thinking Software Inc.\",\"url\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/thumbnail_Clever-Thinking-Software-Gothic-BLACK-BACKGROUND-Orange-2.png\",\"contentUrl\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/thumbnail_Clever-Thinking-Software-Gothic-BLACK-BACKGROUND-Orange-2.png\",\"width\":1049,\"height\":590,\"caption\":\"Clever Thinking Software Inc.\"},\"image\":{\"@id\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.instagram.com\\\/cleverthinkingsoftware\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/#\\\/schema\\\/person\\\/19feaeb89ca35dbcc64175aa2e59d894\",\"name\":\"Dexter Santucci\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4c851dd54302bfb3ccf7d61ed804864236aac356acbbdf58a743063af85a7eeb?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4c851dd54302bfb3ccf7d61ed804864236aac356acbbdf58a743063af85a7eeb?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4c851dd54302bfb3ccf7d61ed804864236aac356acbbdf58a743063af85a7eeb?s=96&d=mm&r=g\",\"caption\":\"Dexter Santucci\"},\"url\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/fr\\\/author\\\/dex_admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"The Story Behind Maps Address Book - Clever Thinking Software","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.cleverthinkingsoftware.com\/fr\/the-story-behind-maps-address-book\/","og_locale":"fr_FR","og_type":"article","og_title":"The Story Behind Maps Address Book - Clever Thinking Software","og_description":"Or: How the Simplest App Turned Into the Most Difficult Thing We&#8217;ve Ever Built Chapter 1: It&#8217;s Never Too Late (to Get in Trouble) I was nearly 50, with a fulfilling career in media production behind me, and a notebook full of ideas I&#8217;d never acted on. One of those ideas was a stock trading [&hellip;]","og_url":"https:\/\/www.cleverthinkingsoftware.com\/fr\/the-story-behind-maps-address-book\/","og_site_name":"Clever Thinking Software","article_published_time":"2025-09-02T12:12:43+00:00","article_modified_time":"2025-09-02T12:30:59+00:00","og_image":[{"width":1536,"height":1024,"url":"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/cropped_optimized_jpeg.jpg","type":"image\/jpeg"}],"author":"Dexter Santucci","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"Dexter Santucci","Dur\u00e9e de lecture estim\u00e9e":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.cleverthinkingsoftware.com\/the-story-behind-maps-address-book\/#article","isPartOf":{"@id":"https:\/\/www.cleverthinkingsoftware.com\/the-story-behind-maps-address-book\/"},"author":{"name":"Dexter Santucci","@id":"https:\/\/www.cleverthinkingsoftware.com\/#\/schema\/person\/19feaeb89ca35dbcc64175aa2e59d894"},"headline":"The Story Behind Maps Address Book","datePublished":"2025-09-02T12:12:43+00:00","dateModified":"2025-09-02T12:30:59+00:00","mainEntityOfPage":{"@id":"https:\/\/www.cleverthinkingsoftware.com\/the-story-behind-maps-address-book\/"},"wordCount":1312,"publisher":{"@id":"https:\/\/www.cleverthinkingsoftware.com\/#organization"},"image":{"@id":"https:\/\/www.cleverthinkingsoftware.com\/the-story-behind-maps-address-book\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/cropped_optimized_jpeg.jpg","keywords":["Apple","behind the scene","design","DevTools","engineering","localization","programming","SoftwareEngineering","swift","SwiftUI"],"articleSection":["Uncategorized"],"inLanguage":"fr-FR"},{"@type":"WebPage","@id":"https:\/\/www.cleverthinkingsoftware.com\/the-story-behind-maps-address-book\/","url":"https:\/\/www.cleverthinkingsoftware.com\/the-story-behind-maps-address-book\/","name":"The Story Behind Maps Address Book - Clever Thinking Software","isPartOf":{"@id":"https:\/\/www.cleverthinkingsoftware.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.cleverthinkingsoftware.com\/the-story-behind-maps-address-book\/#primaryimage"},"image":{"@id":"https:\/\/www.cleverthinkingsoftware.com\/the-story-behind-maps-address-book\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/cropped_optimized_jpeg.jpg","datePublished":"2025-09-02T12:12:43+00:00","dateModified":"2025-09-02T12:30:59+00:00","breadcrumb":{"@id":"https:\/\/www.cleverthinkingsoftware.com\/the-story-behind-maps-address-book\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.cleverthinkingsoftware.com\/the-story-behind-maps-address-book\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.cleverthinkingsoftware.com\/the-story-behind-maps-address-book\/#primaryimage","url":"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/cropped_optimized_jpeg.jpg","contentUrl":"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/cropped_optimized_jpeg.jpg","width":1536,"height":1024},{"@type":"BreadcrumbList","@id":"https:\/\/www.cleverthinkingsoftware.com\/the-story-behind-maps-address-book\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.cleverthinkingsoftware.com\/"},{"@type":"ListItem","position":2,"name":"The Story Behind Maps Address Book"}]},{"@type":"WebSite","@id":"https:\/\/www.cleverthinkingsoftware.com\/#website","url":"https:\/\/www.cleverthinkingsoftware.com\/","name":"Clever Thinking Software","description":"Ma\u00eetriser la complexit\u00e9 gr\u00e2ce au d\u00e9veloppement custom, au conseil informatique et aux solutions d'IA.","publisher":{"@id":"https:\/\/www.cleverthinkingsoftware.com\/#organization"},"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.cleverthinkingsoftware.com\/#organization","name":"Clever Thinking Software Inc.","url":"https:\/\/www.cleverthinkingsoftware.com\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.cleverthinkingsoftware.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2024\/06\/thumbnail_Clever-Thinking-Software-Gothic-BLACK-BACKGROUND-Orange-2.png","contentUrl":"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2024\/06\/thumbnail_Clever-Thinking-Software-Gothic-BLACK-BACKGROUND-Orange-2.png","width":1049,"height":590,"caption":"Clever Thinking Software Inc."},"image":{"@id":"https:\/\/www.cleverthinkingsoftware.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.instagram.com\/cleverthinkingsoftware\/"]},{"@type":"Person","@id":"https:\/\/www.cleverthinkingsoftware.com\/#\/schema\/person\/19feaeb89ca35dbcc64175aa2e59d894","name":"Dexter Santucci","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/secure.gravatar.com\/avatar\/4c851dd54302bfb3ccf7d61ed804864236aac356acbbdf58a743063af85a7eeb?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/4c851dd54302bfb3ccf7d61ed804864236aac356acbbdf58a743063af85a7eeb?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4c851dd54302bfb3ccf7d61ed804864236aac356acbbdf58a743063af85a7eeb?s=96&d=mm&r=g","caption":"Dexter Santucci"},"url":"https:\/\/www.cleverthinkingsoftware.com\/fr\/author\/dex_admin\/"}]}},"jetpack_featured_media_url":"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/cropped_optimized_jpeg.jpg","uagb_featured_image_src":{"full":["https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/cropped_optimized_jpeg.jpg",1536,1024,false],"thumbnail":["https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/cropped_optimized_jpeg-150x150.jpg",150,150,true],"medium":["https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/cropped_optimized_jpeg-300x200.jpg",300,200,true],"medium_large":["https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/cropped_optimized_jpeg-768x512.jpg",768,512,true],"large":["https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/cropped_optimized_jpeg-1024x683.jpg",1024,683,true],"1536x1536":["https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/cropped_optimized_jpeg.jpg",1536,1024,false],"2048x2048":["https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/cropped_optimized_jpeg.jpg",1536,1024,false],"trp-custom-language-flag":["https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/06\/cropped_optimized_jpeg-18x12.jpg",18,12,true]},"uagb_author_info":{"display_name":"Dexter Santucci","author_link":"https:\/\/www.cleverthinkingsoftware.com\/fr\/author\/dex_admin\/"},"uagb_comment_info":0,"uagb_excerpt":"Or: How the Simplest App Turned Into the Most Difficult Thing We&#8217;ve Ever Built Chapter 1: It&#8217;s Never Too Late (to Get in Trouble) I was nearly 50, with a fulfilling career in media production behind me, and a notebook full of ideas I&#8217;d never acted on. One of those ideas was a stock trading\u2026","_links":{"self":[{"href":"https:\/\/www.cleverthinkingsoftware.com\/fr\/wp-json\/wp\/v2\/posts\/2968","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cleverthinkingsoftware.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cleverthinkingsoftware.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cleverthinkingsoftware.com\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cleverthinkingsoftware.com\/fr\/wp-json\/wp\/v2\/comments?post=2968"}],"version-history":[{"count":28,"href":"https:\/\/www.cleverthinkingsoftware.com\/fr\/wp-json\/wp\/v2\/posts\/2968\/revisions"}],"predecessor-version":[{"id":3115,"href":"https:\/\/www.cleverthinkingsoftware.com\/fr\/wp-json\/wp\/v2\/posts\/2968\/revisions\/3115"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cleverthinkingsoftware.com\/fr\/wp-json\/wp\/v2\/media\/3066"}],"wp:attachment":[{"href":"https:\/\/www.cleverthinkingsoftware.com\/fr\/wp-json\/wp\/v2\/media?parent=2968"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cleverthinkingsoftware.com\/fr\/wp-json\/wp\/v2\/categories?post=2968"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cleverthinkingsoftware.com\/fr\/wp-json\/wp\/v2\/tags?post=2968"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}