AngoraTek EN
← Retour au blog
Studio 6 min de lecture

Ce que nous construisons en public

AngoraTek est un cabinet de conseil géospatial de petite taille, et quatre de nos réalisations sont en libre accès sur internet public à l'instant même. Deux sont des dépôts open source, une est un planificateur d'itinéraires gratuit, et une est le site officiel d'un festival de trail à South Lake Tahoe. Un cabinet qui ne peut pas vous montrer de code vous demande de faire confiance à un jeu de diapositives, alors nous laissons les nôtres sur la table.

Le cadre qui mérite qu'on s'y oppose : c'est notre R&D et notre portefeuille en un seul geste, et les deux rôles se nourrissent l'un l'autre. Le cabinet finance des choses dont il avait besoin et que personne n'avait construites. Ce qui survit est publié, des inconnus le mettent à l'épreuve, et ce que nous apprenons en le faisant tourner en production finit dans les projets clients. Ce qui casse en production finit ici, sous forme de billet. Rien sur la liste n'est une couche marketing. Chaque point a commencé comme un outil dont quelqu'un de l'équipe avait réellement besoin.

Cinq fournisseurs n'étaient pas d'accord, alors le désaccord est devenu une bibliothèque

Le premier dépôt, everymap-rs, existe parce que poser la même question à HERE, Google, TomTom, Mapbox et Radar produit cinq formats de réponse et, là où ils répondent, cinq opinions sur ce qu'est un isochrone. Nous avions sans cesse besoin de les tester les uns contre les autres pour nos clients, alors nous avons construit un client Rust unifié. Dix traits de domaine reçoivent chacun une interface ; les fournisseurs les implémentent de façon inégale, 35 implémentations au total, des dix domaines de HERE jusqu'aux quatre de Radar. La version que vous pouvez tirer est jeune, 0.2.2, publiée pour la première fois le 15 septembre 2026, et elle le dit sur la page du crate plutôt que de se cacher derrière un 2.0 d'allure mature.

Les fournisseurs se contredisent là où ça porte du poids, et le travail de la bibliothèque est de rendre ces désaccords bon marché à tester, pas de les cacher. Quand Google ne peut pas répondre à une requête de trafic, l'erreur le dit sans détour au lieu de renvoyer quelque chose qui ressemble à des données. Ce choix de conception a son propre billet, plus tôt dans cette série, et c'est la partie que nous garderions même en réécrivant tout le reste.

Les bindings que personne d'autre ne maintenait, alors quelqu'un devait s'y mettre

Le second dépôt, here-sdk-for-maui, comble un vide plus discret : il n'existait aucun binding .NET officiel maintenu pour le HERE SDK 4.x Explore Edition, et les développeurs qui construisent des applications multiplateformes avec MAUI ont dû en bricoler l'habillage eux-mêmes, mal. Le nôtre fournit une seule API C# idiomatique pour les cartes, la recherche, le routage et le trafic sur Android et iOS, avec une application de référence dans le dépôt qui exerce le tout.

Le côté iOS porte l'histoire de guerre, racontée ici en un court paragraphe. Le SDK iOS de HERE est exclusivement Swift, alors que .NET se lie au côté d'Apple par Objective-C. Le projet emballe donc le SDK Swift dans un framework Swift NativeBridge, réexpose l'API avec @objc, et lie le tout via Objective Sharpie, le schéma que le MAUI Community Toolkit recommande. Cela fonctionne, et cela reste honnête en embarquant un framework iOS d'environ 831 Mo (allégé là où nous avons pu) et un seul écart documenté, où une sélection de carte renvoie null sur iOS. Nous préférons publier une limite connue plutôt qu'un README propre qui en cache une.

Le planificateur d'itinéraires qui garde notre ingénierie honnête en production

WayMaker a commencé comme un produit et est devenu la chose que nous montrons aux sceptiques. Il est gratuit et installable, et il comprend l'anglais ordinaire. Demandez « une boucle ombragée de 10 km près de Tahoe avec vue sur le lac » et il génère un itinéraire optimisé avec un profil d'élévation et une répartition entre revêtement et sentier, exportable en GPX. Sous cette surface réside notre propre backend, dont un graphe de sentiers routable côté serveur sur lequel tourne le routeur, avec les sources créditées à l'intérieur de l'application.

WayMaker est aussi l'endroit où notre discipline autour du hors ligne et des tuiles se voit imposée par la réalité plutôt que par la revue de code. La recette hors ligne qui paraît raisonnable, mettre en cache ce que l'utilisateur a touché aujourd'hui, échoue au cas d'usage réel : une carte mise en cache à la maison jeudi peut être blanche dimanche, à l'endroit où le signal n'est jamais arrivé. Un randonneur qui charge un itinéraire chez lui et le parcourt dimanche a besoin des tuiles de dimanche, sur un appareil qui peut passer la journée entière hors couverture. Voilà pourquoi le cache de tuiles de l'application suit le principe cache-first, n'expire jamais et n'évince jamais : une tuile en cache reste valide pour toujours. La réalité a tenu le design honnête, et ce sont les mêmes réflexes de production que nous apportons quand un client a besoin de cartes hors ligne qui survivent à une zone blanche.

Et une phrase sur le quatrième point : le site officiel d'un festival de trail sur deux jours à South Lake Tahoe, construit directement sur les traces réelles du parcours de la course, est en ligne sur tahoeskyrace.com.

Ce que publier achète, et ce qu'il ne peut pas

Les quatre projets valent comme R&D parce qu'ils sont en ligne. Des inconnus cassent des choses que nous n'aurions pas testées, et un traileur qui ouvre une issue depuis une crête avec une batterie agonisante est un environnement de test qu'aucun de nos plans ne couvre. Ces leçons finissent chez nous. Le design de traits dans everymap façonne notre façon d'architecturer les intégrations clientes. Les décisions de cache de tuiles de WayMaker ont déjà été défendues en production, contre de vrais randonneurs sur de vraies crêtes, et nous défendrions les mêmes dans votre projet.

Ce que publier ne peut pas acheter, c'est un substitut aux études de cas qu'il serait malhonnête d'écrire. Les travaux clients restent privés. Ces quatre projets, eux, sont des outils et des produits que nous possédons, et c'est la raison pour laquelle ils peuvent être publics. Ils sont aussi tout jeunes, et nous ne citerons pas de chiffres d'adoption, parce que des nombres à cet âge nous flatteraient et ne vous diraient rien. Si vous voulez nous évaluer, le code est ouvert, les produits sont en ligne, et les échecs sont documentés dans les issues et les billets. C'est tout l'appareil de construction de confiance, et il suffit.

Lisez le dépôt avant la page de présentation. C'est la plus honnête des pages que nous possédions, et elle a été écrite par les mêmes personnes qui construiront la vôtre.

AngoraTek est un cabinet de conseil géospatial de petite taille qui construit des plateformes géospatiales, des pipelines de données, des systèmes agentiques et des produits web et mobiles gérés. [Contactez-nous](/fr/#contact), ou continuez simplement de lire.

Merci d'avoir lu jusqu'ici. Si cela ressemble au problème sur lequel vous butez, parlez-nous-en. Un fondateur lit chaque message.

Engager la conversation