Doggie Bus : comment un développeur a créé un « Uber pour chiens » avec .NET MAUI et Azure

Logo Doggie Bus

Client
Doggie Bus

Produits & services
.NET MAUI
ASP.NET
Azure

Secteur
Transport

Taille de l’organisation
Petite (1-100 employés)

Pays/région
États-Unis

Doggie Bus est une start-up de la Nouvelle-Orléans fondée par Troy Bergeron, offrant un service unique d’« Uber pour chiens » – une application mobile qui permet aux propriétaires d’animaux de planifier des trajets sûrs et pratiques pour leurs chiens vers la garderie, le vétérinaire et plus encore. Troy, un amoureux des chiens depuis toujours, conduit personnellement la navette Doggie Bus et traite chaque chien comme un membre de la famille. Son objectif est de rendre le transport des animaux aussi facile et fiable que de commander un service de transport traditionnel, afin que les propriétaires aient une tranquillité d'esprit totale.

Pour donner vie à cette vision, Troy s'est associé à Mario DeLuca (DeLuca Technologies), un ingénieur logiciel vétéran et un utilisateur précoce de .NET MAUI (et de Xamarin avant cela). Ensemble, ils ont construit une application mobile multiplateforme qui rivalise avec les meilleures expériences de covoiturage, mais qui est adaptée aux parents d'animaux.

Capture d’écran du tableau de bord
Capture d’écran de la planification de l’enlèvement
Suivi en direct de l’emplacement du Doggie Bus

De vraies personnes, une véritable passion

Début 2024, Doggie Bus a été lancé sur iOS et Android, facilitant la tâche des propriétaires d’animaux pour organiser des trajets. L’engagement personnel de Troy envers la sécurité des animaux est au cœur du service. Il rencontre chaque nouveau client (humain et chien) et établit la confiance par la transparence : les propriétaires peuvent suivre le Doggie Bus en temps réel sur une carte et recevoir des notifications à chaque enlèvement ou dépôt.

Les parents d’animaux domestiques, qui sont souvent aussi protecteurs que n’importe quel parent, apprécient cette visibilité. L'application leur offre une tranquillité d'esprit, sachant où se trouve leur « bébé à fourrure » à tout moment et qu'il est entre de bonnes mains.

Sur le plan technique, Mario était le héros en coulisses. En tant que développeur C# de longue date, il était ravi d'utiliser .NET de bout en bout pour Doggie Bus. Cela lui a permis de créer à lui seul une expérience mobile native et soignée sur les deux plateformes. Le partenariat a fonctionné sans accroc : Troy a apporté des connaissances approfondies du domaine et des retours constants en tant que premier utilisateur de l'application (exécutant son itinéraire quotidien via un mode d'administration), tandis que Mario itérait rapidement sur les fonctionnalités. Tous deux étaient motivés par la mission de rendre le service « si facile qu'un chien pourrait le faire », comme aime à le dire Troy.

Notre service doit être si simple qu’un chien pourrait le faire. »

Troy Bergeron, fondateur, parent d'animal et conducteur Doggie Bus

Mario et Troy se tenant devant le Doggie Bus.

Mieux ensemble : résoudre le problème avec .NET MAUI

Le défi : Doggie Bus avait besoin d’applications mobiles de haute qualité sur deux plateformes sans double effort. Ils nécessitaient également une communication en temps réel (pour le suivi en direct des trajets) et une interface utilisateur élégante et conviviale pour instaurer la confiance chez les utilisateurs. En tant que petite start-up, ils devaient fournir tout cela avec un temps et un budget limités.

La solution .NET : Mario a choisi .NET MAUI pour l'application mobile, lui permettant de cibler iOS et Android à partir d'une seule codebase C#. Cette décision a immédiatement réduit le temps de développement et les coûts de moitié, car une codebase produit deux applications natives. « Avec .NET MAUI, nous avons pu partager plus de 90 % de notre code entre les plateformes. Cette efficacité nous permet de nous déplacer plus rapidement, de réduire la surcharge de maintenance et de fournir une expérience cohérente sur iOS et Android. », ajoute Mario. Le framework .NET MAUI a fourni les performances et la flexibilité nécessaires, sans nécessiter une grande équipe. Les principaux aspects de la solution sont les suivants :

  • Codebase d’application unifiée : environ 90 % du code de l’application Doggie Bus est partagé entre les plateformes. Les fonctionnalités principales (dispositions d’interface utilisateur, logique de conduite, modèles de données) ont été écrites une seule fois dans .NET et exécutées en mode natif sur iOS et Android. Seules quelques parties nécessitaient des ajustements spécifiques à la plateforme (par exemple, un renderer de carte personnalisé sur chaque système d’exploitation pour animer l’icône de petit bus de manière fluide). Cette approche à codebase unique garantit la parité des fonctionnalités et une maintenance simplifiée.
  • Back-end alimenté par Azure : l’équipe a créé un back-end cloud avec ASP.NET Core et Azure pour gérer l’authentification, la planification et le stockage des données. À l’aide d’Azure SignalR, l’application effectue des mises à jour en temps réel : au fur et à mesure que Troy conduit, l’emplacement GPS du fourgon est envoyé dans le cloud et instantanément transmis aux téléphones des propriétaires des animaux, leur permettant de voir le véhicule se déplacer en direct sur la carte. Toutes les données (calendriers, profils d’animaux, dossiers de vaccination) sont stockées dans Azure SQL Database via Entity Framework. Le back-end s’intègre également à Apple et Google pour faciliter la connexion. Cette pile Microsoft de bout en bout (application MAUI + services Azure) garantit la fiabilité et la scalabilité dès le premier jour.
  • Outils et bibliothèques de développement modernes : Mario a tiré parti de l'écosystème riche de .NET pour accélérer le développement. Il a utilisé le .NET MAUI Community Toolkit pour des composants et effets d'interface utilisateur prêts à l'emploi et a exploité des bibliothèques open source pour des flux d'authentification. Des fonctionnalités de productivité comme le Rechargement à chaud XAML ont permis des ajustements rapides de l'interface utilisateur, et GitHub Copilot a agi comme un pair-programmeur IA, générant du code de base et accélérant le développement. Le résultat : Doggie Bus est passé du concept à une application riche en fonctionnalités et soignée en une fraction du temps par rapport au développement traditionnel multi-équipes.

Pourquoi .NET MAUI ? En plus de l'efficacité multiplateforme, Doggie Bus a choisi .NET pour ses performances et son écosystème unifié. L'application utilise la compilation AOT (Ahead-of-Time), ce qui lui permet de fonctionner avec des performances « très fluides » même sur des téléphones Android plus anciens. En utilisant C# à la fois côté client et serveur, l'équipe peut partager code et compétences sur l'ensemble du projet. Par exemple, les modèles de données sont définis une fois et réutilisés des deux côtés, réduisant ainsi les bogues et les incohérences.

Mario a brièvement envisagé d'autres frameworks, mais ayant livré des applications réussies avec Xamarin, il a fait confiance à .NET MAUI pour obtenir des résultats de qualité native. « À mon avis, c'est une évidence », dit-il à propos du choix de MAUI. Cette approche unifiée a éliminé le besoin d'embaucher des développeurs iOS/Android séparés et d'apprendre de nouveaux langages – un énorme avantage pour une petite entreprise. Même des défis comme l'implémentation de cartes en temps réel et des connexions sociales ont été résolus sans problème grâce à la flexibilité et aux bibliothèques de .NET.

Chaque fois qu'un obstacle se présentait (comme le réglage de l'animation de l'épingle de carte en mouvement), .NET permettait des solutions personnalisées sans atteindre un point mort. En résumé, .NET fournit tout ce dont l'équipe Doggie Bus a besoin sur une seule plateforme, rendant le développement plus rapide, moins coûteux et plus agréable.

.NET MAUI nous a permis de réduire les coûts de développement de plus de 50 %. Avec une seule codebase et une logique de back-end partagée, nous avons livré des applications natives hautes performances pour iOS et Android, sans doubler le travail. »

Mario DeLuca, PDG de DeLuca Technologies

Impact et la route à venir

Pour le plaisir des propriétaires d’animaux domestiques : depuis son lancement, Doggie Bus a transformé la façon dont les clients gèrent le transport des animaux de compagnie. La réservation d’un trajet ne prend plus que quelques secondes dans l’application, en remplaçant ce qui était auparavant des appels téléphoniques ou des SMS. En quelques clics, un propriétaire d’animal planifie un enlèvement – aucune paperasse ni va-et-vient nécessaires. L’application envoie des notifications automatiques à des moments clés (lorsque le bus approche, lorsque votre chien est récupéré et lorsqu’il est déposé), de sorte que les propriétaires ne s’inquiètent pas.

Ils adorent particulièrement le suivi en direct : regarder l'icône Doggie Bus se déplacer sur la carte en temps réel est à la fois rassurant et amusant. Troy note : « Je reçois beaucoup de compliments sur les notifications », et de nombreux utilisateurs lui ont dit que le service est incroyablement facile à utiliser. Cette commodité et cette transparence ont entraîné une forte adoption par les propriétaires d'animaux locaux. De nombreux clients réservent désormais des trajets Doggie Bus plusieurs fois par semaine dans le cadre de leur routine, confiants que c'est fiable et sûr pour leurs chiens.

Pour l’utilisation de Troy, la solution .NET a apporté des améliorations immédiates. Toute la planification et la tenue des dossiers sont devenues 100 % numériques – « Tout est dans une seule application. Il n’y a pas de trace papier. », comme le dit Troy. Plus de tableaux ni de journaux manuels. Les fonctionnalités d’administration de l’application lui permettent de gérer l’itinéraire de chaque jour, de vérifier les profils de chiens et les dossiers de vaccination, et de gérer les paiements, le tout en un seul endroit.

Cela a simplifié les opérations et réduit les erreurs. Troy peut se concentrer sur le soin des chiens plutôt que sur la paperasse. Financièrement, l'utilisation de .NET a permis à l'entreprise d'économiser une fortune en coûts de développement. Construire des applications natives séparées aurait nécessité deux développeurs ou un outsourcing coûteux, ce qui était hors de portée. Au lieu de cela, un développeur a livré l’intégralité du produit.

Mario estime que le choix de .NET MAUI « a considérablement réduit les coûts de développement », ce qui était crucial pour le lancement de Doggie Bus. Malgré un budget limité, l'application finale a atteint une qualité professionnelle comparable à celle de concurrents beaucoup plus grands. Le choix technologique a également simplifié la maintenance future : de nouvelles fonctionnalités peuvent être ajoutées une seule fois et apparaître sur les deux plateformes, maintenant ainsi des coûts continus bas.

Grâce à sa solide fondation technologique, Doggie Bus est prêt à se développer. L'architecture native Cloud sur Azure peut facilement prendre en charge plus de véhicules ou de nouveaux emplacements, en accord avec les plans de Troy de franchiser le service. L'équipe explore déjà l'expansion vers d'autres villes, sachant que la même application et le même back-end peuvent être étendus avec des modifications minimales. Ils prévoient également un portail web pour les réservations (probablement construit avec Blazor WebAssembly), et une grande partie du code .NET existant peut être réutilisée pour cela. Avec .NET, l'expansion est intégrée, et non une réflexion après coup – la polyvalence de la plateforme signifie que les plateformes mobiles, web et futures peuvent toutes partager une codebase et un ensemble de compétences.

En réfléchissant au parcours jusqu’à présent, Troy et Mario soulignent comment .NET leur a permis de transformer une idée en réalité. « Mario a réalisé mon rêve », dit Troy, reconnaissant envers la technologie et le talent qui ont donné vie à Doggie Bus. Mario, à son tour, attribue le mérite aux outils : « .NET fait que les rêves deviennent réalité », dit-il, notant que la plateforme a permis à une petite équipe de livrer une application au-delà de leurs attentes initiales. Mario continue : « Ce n'est pas juste une application mobile – c'est une plateforme connectée au cloud, évolutive et conçue pour la croissance. Avec .NET MAUI et Azure, nous avons créé une base prête pour l'avenir, efficace et conçue pour s'étendre. ». Le succès de Doggie Bus – des propriétaires d’animaux heureux, une entreprise florissante et une base pour la croissance – en est la preuve. Avec .NET aux commandes, cet « Uber pour chiens » prend la route avec confiance, et le voyage ne fait que commencer.

Avec .NET et Microsoft, vous ne créez pas seulement des logiciels – vous transformez votre vision en solutions concrètes. C’est là que les rêves deviennent réalité. »

Mario DeLuca, PDG de DeLuca Technologies

Prêt à démarrer ?

Notre tutoriel étape par étape vous aidera à démarrer .NET MAUI sur votre ordinateur.

Bien démarrer