Flutter en production depuis 2021

Des développeurs experts en Flutter, en régie comme au forfait

Apps Flutter iOS et Android avec une UI personnalisée et des animations fluides, livrées par une équipe pluridisciplinaire.

Agence en forfait, ESN en régie

Lonestone est une agence Flutter et une ESN nantaise active partout en France depuis 2014. Son équipe de 30 développeurs, product managers et designers livre des applications Flutter en production depuis 2021. Elle intervient en forfait avec une équipe mobile complète engagée sur le résultat, ou en régie via l’offre Scale avec des développeurs Flutter au temps passé pour renforcer une équipe existante.

L’expertise dépasse le strict mobile. Les développeurs sont fullstack (Node, NestJS, PostgreSQL côté back-end) et travaillent main dans la main avec les product designers qui maîtrisent les conventions iOS et Android et les Material 3. Cette polyvalence raccourcit le chemin entre un wireframe Figma et une application publiée sur l’App Store et le Play Store.

Pourquoi choisir Lonestone comme agence Flutter

L'expertise Flutter de l'équipe vient de plusieurs années à livrer des applications Dart sur l'App Store et le Play Store, avec une exigence permanente sur l'UI, la performance et la qualité du code.

Flutter en production depuis 2021

L’équipe Lonestone livre des apps Flutter en production depuis 2021. Elle a accompagné les transitions majeures (Null Safety, Material 3, Impeller, montées de version Dart) et donne une vision claire des patterns Flutter qui scalent dans la durée.

Une équipe mobile senior, dev + design + product

L’équipe est composée majoritairement de profils seniors avec cinq à dix ans d’expérience mobile, et associe développeurs Flutter et React Native, product designers qui maîtrisent les Human Interface Guidelines (iOS) et Material 3 (Android), et product managers familiers du cycle de publication App Store et Play Store.

Régie ou forfait, selon votre besoin

Lonestone intervient en forfait avec une équipe Flutter complète engagée sur le résultat (mode habituel pour les apps greenfield ou les refontes), ou en régie via l’offre Scale avec des développeurs Flutter seniors au temps passé pour renforcer une équipe existante.

Une seule codebase Dart, deux apps iOS et Android

Flutter produit deux apps iOS et Android (et même web) à partir d’une seule codebase Dart. Le coût de développement et de maintenance est divisé par deux par rapport au natif strict (Swift + Kotlin), avec une UI rendue à l’identique sur chaque plateforme grâce au moteur Skia/Impeller.

UI personnalisée pixel par pixel

Le moteur de rendu de Flutter dessine chaque pixel sans dépendre des composants UI natifs, ce qui donne un contrôle total sur le look-and-feel et permet des UI très brandées, des animations 60fps fluides et des interfaces 2D complexes que les frameworks à composants natifs peinent à reproduire.

Cycle de release App Store et Play Store maîtrisé

Au-delà du code, l’équipe gère les certificats Apple et Google, prépare les fiches de stores (screenshots, descriptions, ASO), pilote les soumissions et les revues Apple, et accompagne le client sur les comptes développeur. Les comptes restent au nom du client pour préserver la propriété des apps publiées.

Stack standard, code livré, zéro lock-in

Le projet Flutter reste la propriété du client et la stack volontairement standard (Flutter, Dart, Riverpod ou Bloc, GoRouter) permet à n’importe quelle équipe Dart de reprendre la codebase, en interne ou chez un autre prestataire.

Les agences de dév c’est une jungle et j’ai l’impression qu’on a déniché la pépite :)

Grégoire D'ABOVILLE

Grégoire D'ABOVILLE · Head of Growth @ Jump

Une architecture technique de pointe

Les technologies et architectures que nous choisissons sont éprouvées, robustes et évolutives. Nous basons la plupart de nos projets sur le boilerplate Lonestone que nous maintenons en open source.

L'équipe mobile de Lonestone dans les bureaux de la Halle 6, île de Nantes
Le terrain de chasse de Flutter

Là où Flutter fait toute la différence

Flutter brille dès que l'UI doit être très personnalisée, ou que l'app a besoin d'un look-and-feel identique sur iOS et Android. Voici les types d'apps qui reviennent le plus souvent dans les projets Lonestone.

<div class="feature bg-white p-6 lg:p-10 in-data-[theme=dark]:bg-black" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="24:73"> <div class="mb-4 w-fit rounded-2xl [[data-theme=dark]_&#38;]:bg-yellow" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="25:66"> <span class="icon size-16 text-black" style="aspect-ratio:64/64;-webkit-mask-image:url(/@fs/data/app/src/assets/icons/DeviceMobile.svg?origWidth=64&#38;origHeight=64&#38;origFormat=svg);mask-image:url(/@fs/data/app/src/assets/icons/DeviceMobile.svg?origWidth=64&#38;origHeight=64&#38;origFormat=svg)" data-astro-cid-bvystztw data-astro-source-file="/data/app/src/components/icons/Icon.astro" data-astro-source-loc="23:6"></span> </div> <h3 class="mb-4 font-medium text-2xl lg:text-3xl" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="28:53">Applications mobile B2C</h3> <div class="text-lg text-gray-500 leading-9 in-data-[theme=dark]:text-gray-300" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="31:4"> <p class="md">Marketplaces, apps communautaires, apps de services à la personne, apps média. Flutter livre rapidement une app iOS et Android avec une identité visuelle forte, des push notifications et un cycle de release sur les stores.</p> </div> </div><div class="feature bg-white p-6 lg:p-10 in-data-[theme=dark]:bg-black" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="24:73"> <div class="mb-4 w-fit rounded-2xl [[data-theme=dark]_&#38;]:bg-yellow" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="25:66"> <span class="icon size-16 text-black" style="aspect-ratio:64/64;-webkit-mask-image:url(/@fs/data/app/src/assets/icons/Optimisation.svg?origWidth=64&#38;origHeight=64&#38;origFormat=svg);mask-image:url(/@fs/data/app/src/assets/icons/Optimisation.svg?origWidth=64&#38;origHeight=64&#38;origFormat=svg)" data-astro-cid-bvystztw data-astro-source-file="/data/app/src/components/icons/Icon.astro" data-astro-source-loc="23:6"></span> </div> <h3 class="mb-4 font-medium text-2xl lg:text-3xl" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="28:53">Outils métier mobile pour le terrain</h3> <div class="text-lg text-gray-500 leading-9 in-data-[theme=dark]:text-gray-300" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="31:4"> <p class="md">Inventaires, relevés, signatures électroniques, photos géolocalisées, mode hors-ligne avec synchronisation. Les apps métier qui équipent les équipes terrain bénéficient pleinement de l’écosystème Flutter et de ses bibliothèques offline-first comme Drift et Isar.</p> </div> </div><div class="feature bg-white p-6 lg:p-10 in-data-[theme=dark]:bg-black" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="24:73"> <div class="mb-4 w-fit rounded-2xl [[data-theme=dark]_&#38;]:bg-yellow" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="25:66"> <span class="icon size-16 text-black" style="aspect-ratio:64/64;-webkit-mask-image:url(/@fs/data/app/src/assets/icons/Performance.svg?origWidth=64&#38;origHeight=64&#38;origFormat=svg);mask-image:url(/@fs/data/app/src/assets/icons/Performance.svg?origWidth=64&#38;origHeight=64&#38;origFormat=svg)" data-astro-cid-bvystztw data-astro-source-file="/data/app/src/components/icons/Icon.astro" data-astro-source-loc="23:6"></span> </div> <h3 class="mb-4 font-medium text-2xl lg:text-3xl" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="28:53">Apps avec UI très personnalisée et brandée</h3> <div class="text-lg text-gray-500 leading-9 in-data-[theme=dark]:text-gray-300" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="31:4"> <p class="md">Le moteur de rendu Skia (et Impeller) permet à Flutter de dessiner exactement l’UI souhaitée pixel par pixel, sans dépendre des composants UI natifs. Idéal pour les apps avec une identité visuelle forte ou des écrans qui doivent rester rigoureusement identiques sur iOS et Android.</p> </div> </div><div class="feature bg-white p-6 lg:p-10 in-data-[theme=dark]:bg-black" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="24:73"> <div class="mb-4 w-fit rounded-2xl [[data-theme=dark]_&#38;]:bg-yellow" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="25:66"> <span class="icon size-16 text-black" style="aspect-ratio:64/64;-webkit-mask-image:url(/@fs/data/app/src/assets/icons/Iteration.svg?origWidth=64&#38;origHeight=64&#38;origFormat=svg);mask-image:url(/@fs/data/app/src/assets/icons/Iteration.svg?origWidth=64&#38;origHeight=64&#38;origFormat=svg)" data-astro-cid-bvystztw data-astro-source-file="/data/app/src/components/icons/Icon.astro" data-astro-source-loc="23:6"></span> </div> <h3 class="mb-4 font-medium text-2xl lg:text-3xl" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="28:53">Apps avec animations et rendu 2D complexes</h3> <div class="text-lg text-gray-500 leading-9 in-data-[theme=dark]:text-gray-300" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="31:4"> <p class="md">Animations 60fps fluides, transitions custom, rendus 2D, jeux légers. Là où d’autres frameworks rament, Flutter conserve une frame rate stable grâce à son moteur de rendu intégré. Pertinent pour les apps fitness, santé, finance ou data viz interactive.</p> </div> </div><div class="feature bg-white p-6 lg:p-10 in-data-[theme=dark]:bg-black" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="24:73"> <div class="mb-4 w-fit rounded-2xl [[data-theme=dark]_&#38;]:bg-yellow" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="25:66"> <span class="icon size-16 text-black" style="aspect-ratio:64/64;-webkit-mask-image:url(/@fs/data/app/src/assets/icons/TechCode.svg?origWidth=64&#38;origHeight=64&#38;origFormat=svg);mask-image:url(/@fs/data/app/src/assets/icons/TechCode.svg?origWidth=64&#38;origHeight=64&#38;origFormat=svg)" data-astro-cid-bvystztw data-astro-source-file="/data/app/src/components/icons/Icon.astro" data-astro-source-loc="23:6"></span> </div> <h3 class="mb-4 font-medium text-2xl lg:text-3xl" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="28:53">Apps multi-plateformes (iOS, Android et web)</h3> <div class="text-lg text-gray-500 leading-9 in-data-[theme=dark]:text-gray-300" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="31:4"> <p class="md">Flutter cible iOS, Android et le web depuis une seule codebase Dart. Pertinent pour les apps qui doivent exister sur les trois plateformes avec un look-and-feel rigoureusement identique, ou pour proposer une version web légère en complément des apps mobile.</p> </div> </div><div class="feature bg-white p-6 lg:p-10 in-data-[theme=dark]:bg-black" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="24:73"> <div class="mb-4 w-fit rounded-2xl [[data-theme=dark]_&#38;]:bg-yellow" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="25:66"> <span class="icon size-16 text-black" style="aspect-ratio:64/64;-webkit-mask-image:url(/@fs/data/app/src/assets/icons/Organisation.svg?origWidth=64&#38;origHeight=64&#38;origFormat=svg);mask-image:url(/@fs/data/app/src/assets/icons/Organisation.svg?origWidth=64&#38;origHeight=64&#38;origFormat=svg)" data-astro-cid-bvystztw data-astro-source-file="/data/app/src/components/icons/Icon.astro" data-astro-source-loc="23:6"></span> </div> <h3 class="mb-4 font-medium text-2xl lg:text-3xl" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="28:53">Évolution d&#39;une app Flutter en production</h3> <div class="text-lg text-gray-500 leading-9 in-data-[theme=dark]:text-gray-300" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="31:4"> <p class="md">Ajout de nouvelles fonctionnalités, intégrations natives spécifiques (Bluetooth, NFC, capteurs santé), refonte d’écrans existants, optimisations de performance. L’équipe prend le relais sur le rythme de release du client quand l’app Flutter existe déjà.</p> </div> </div>
Tout l'écosystème, pas juste Flutter

Les outils qu'on choisit autour de Flutter

Un projet Flutter moderne s'appuie sur un écosystème spécifique. L'équipe maîtrise les choix qui comptent pour chaque type d'application.

<div class="feature bg-white p-6 lg:p-10 in-data-[theme=dark]:bg-black" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="24:73"> <div class="mb-4 w-fit rounded-2xl [[data-theme=dark]_&#38;]:bg-yellow" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="25:66"> <span class="icon size-16 text-black" style="aspect-ratio:64/64;-webkit-mask-image:url(/@fs/data/app/src/assets/icons/ProductPrototype.svg?origWidth=64&#38;origHeight=64&#38;origFormat=svg);mask-image:url(/@fs/data/app/src/assets/icons/ProductPrototype.svg?origWidth=64&#38;origHeight=64&#38;origFormat=svg)" data-astro-cid-bvystztw data-astro-source-file="/data/app/src/components/icons/Icon.astro" data-astro-source-loc="23:6"></span> </div> <h3 class="mb-4 font-medium text-2xl lg:text-3xl" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="28:53">State management</h3> <div class="text-lg text-gray-500 leading-9 in-data-[theme=dark]:text-gray-300" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="31:4"> <p class="md">Riverpod en premier choix pour les nouveaux écrans (testable, lisible, sans BuildContext requis), Bloc sur les projets historiques où l’architecture événementielle stricte prime, Provider sur les bases existantes en cours de migration.</p> </div> </div><div class="feature bg-white p-6 lg:p-10 in-data-[theme=dark]:bg-black" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="24:73"> <div class="mb-4 w-fit rounded-2xl [[data-theme=dark]_&#38;]:bg-yellow" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="25:66"> <span class="icon size-16 text-black" style="aspect-ratio:64/64;-webkit-mask-image:url(/@fs/data/app/src/assets/icons/Optimisation.svg?origWidth=64&#38;origHeight=64&#38;origFormat=svg);mask-image:url(/@fs/data/app/src/assets/icons/Optimisation.svg?origWidth=64&#38;origHeight=64&#38;origFormat=svg)" data-astro-cid-bvystztw data-astro-source-file="/data/app/src/components/icons/Icon.astro" data-astro-source-loc="23:6"></span> </div> <h3 class="mb-4 font-medium text-2xl lg:text-3xl" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="28:53">Navigation et routing</h3> <div class="text-lg text-gray-500 leading-9 in-data-[theme=dark]:text-gray-300" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="31:4"> <p class="md">GoRouter pour le routing déclaratif et les deep links, AutoRoute sur les codebases qui veulent un routing fortement typé. Les deux choix s’intègrent avec les patterns d’authentification et les guards de navigation.</p> </div> </div><div class="feature bg-white p-6 lg:p-10 in-data-[theme=dark]:bg-black" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="24:73"> <div class="mb-4 w-fit rounded-2xl [[data-theme=dark]_&#38;]:bg-yellow" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="25:66"> <span class="icon size-16 text-black" style="aspect-ratio:64/64;-webkit-mask-image:url(/@fs/data/app/src/assets/icons/Integration.svg?origWidth=64&#38;origHeight=64&#38;origFormat=svg);mask-image:url(/@fs/data/app/src/assets/icons/Integration.svg?origWidth=64&#38;origHeight=64&#38;origFormat=svg)" data-astro-cid-bvystztw data-astro-source-file="/data/app/src/components/icons/Icon.astro" data-astro-source-loc="23:6"></span> </div> <h3 class="mb-4 font-medium text-2xl lg:text-3xl" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="28:53">Réseau et API</h3> <div class="text-lg text-gray-500 leading-9 in-data-[theme=dark]:text-gray-300" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="31:4"> <p class="md">Dio pour les appels HTTP avancés (interceptors, retry, gestion fine des erreurs), Retrofit Dart pour les API REST typées via codegen, freezed pour les modèles immutables, json_serializable pour la sérialisation.</p> </div> </div><div class="feature bg-white p-6 lg:p-10 in-data-[theme=dark]:bg-black" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="24:73"> <div class="mb-4 w-fit rounded-2xl [[data-theme=dark]_&#38;]:bg-yellow" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="25:66"> <span class="icon size-16 text-black" style="aspect-ratio:64/64;-webkit-mask-image:url(/@fs/data/app/src/assets/icons/Iteration.svg?origWidth=64&#38;origHeight=64&#38;origFormat=svg);mask-image:url(/@fs/data/app/src/assets/icons/Iteration.svg?origWidth=64&#38;origHeight=64&#38;origFormat=svg)" data-astro-cid-bvystztw data-astro-source-file="/data/app/src/components/icons/Icon.astro" data-astro-source-loc="23:6"></span> </div> <h3 class="mb-4 font-medium text-2xl lg:text-3xl" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="28:53">Stockage local et offline</h3> <div class="text-lg text-gray-500 leading-9 in-data-[theme=dark]:text-gray-300" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="31:4"> <p class="md">Drift (ex-Moor) pour SQLite typé en Dart, Isar pour les bases NoSQL embarquées rapides, shared_preferences pour les valeurs simples, secure_storage pour les tokens et secrets.</p> </div> </div><div class="feature bg-white p-6 lg:p-10 in-data-[theme=dark]:bg-black" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="24:73"> <div class="mb-4 w-fit rounded-2xl [[data-theme=dark]_&#38;]:bg-yellow" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="25:66"> <span class="icon size-16 text-black" style="aspect-ratio:64/64;-webkit-mask-image:url(/@fs/data/app/src/assets/icons/Target.svg?origWidth=64&#38;origHeight=64&#38;origFormat=svg);mask-image:url(/@fs/data/app/src/assets/icons/Target.svg?origWidth=64&#38;origHeight=64&#38;origFormat=svg)" data-astro-cid-bvystztw data-astro-source-file="/data/app/src/components/icons/Icon.astro" data-astro-source-loc="23:6"></span> </div> <h3 class="mb-4 font-medium text-2xl lg:text-3xl" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="28:53">Tests et qualité</h3> <div class="text-lg text-gray-500 leading-9 in-data-[theme=dark]:text-gray-300" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="31:4"> <p class="md">Tests unitaires natifs Flutter, widget tests pour valider les composants UI sans émulateur, integration_test pour les parcours end-to-end. Patrol et Maestro sur les apps qui ont besoin de scénarios complexes incluant des permissions natives.</p> </div> </div><div class="feature bg-white p-6 lg:p-10 in-data-[theme=dark]:bg-black" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="24:73"> <div class="mb-4 w-fit rounded-2xl [[data-theme=dark]_&#38;]:bg-yellow" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="25:66"> <span class="icon size-16 text-black" style="aspect-ratio:64/64;-webkit-mask-image:url(/@fs/data/app/src/assets/icons/Performance.svg?origWidth=64&#38;origHeight=64&#38;origFormat=svg);mask-image:url(/@fs/data/app/src/assets/icons/Performance.svg?origWidth=64&#38;origHeight=64&#38;origFormat=svg)" data-astro-cid-bvystztw data-astro-source-file="/data/app/src/components/icons/Icon.astro" data-astro-source-loc="23:6"></span> </div> <h3 class="mb-4 font-medium text-2xl lg:text-3xl" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="28:53">Release management et observabilité</h3> <div class="text-lg text-gray-500 leading-9 in-data-[theme=dark]:text-gray-300" data-astro-source-file="/data/app/src/components/sections/Feature.astro" data-astro-source-loc="31:4"> <p class="md">Codemagic, Bitrise ou GitHub Actions pour la CI/CD, Firebase App Distribution et TestFlight pour les phases bêta. Sentry et Firebase Crashlytics pour la remontée de crashs en production, Firebase Performance Monitoring pour les métriques.</p> </div> </div>
Basés à Nantes, actifs partout en France

Des développeurs Flutter à Nantes pour des projets dans toute la France

L'équipe mobile Lonestone travaille depuis la Halle 6 sur l'île de Nantes, juste au-dessus de La Cantine × French Tech Nantes. Les clients à Nantes, Rennes, Paris, Lyon, Bordeaux et au-delà bénéficient du même cadre de qualité : revues de code systématiques, tests automatisés sur émulateurs et devices, soumissions App Store et Play Store pilotées par l'équipe, monitoring temps réel des crashs.

On discute de votre projet ?

Échange gratuit et sans engagement, directement avec un expert du sujet. Devis sous 48h.

Contacter l'équipe
de Lonestone
FAQ

Questions fréquentes

<details class="group border-b border-gray-100 open:bg-gray-50 transition-colors duration-300" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="11:2"> <summary class="flex w-full cursor-pointer items-center gap-4 px-5 py-6 text-left list-none [&::-webkit-details-marker]:hidden" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="14:4"> <svg class="size-8 shrink-0 text-gray-400" viewBox="0 0 32 32" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="22:6"> <line x1="0" y1="16" x2="32" y2="16" class="transition-transform duration-300 ease-[cubic-bezier(0.25,0.1,0.25,1)] origin-center group-open:rotate-180" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="23:8"></line> <line x1="16" y1="0" x2="16" y2="32" class="transition-transform duration-300 ease-[cubic-bezier(0.25,0.1,0.25,1)] origin-center group-open:rotate-90" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="30:8"></line> </svg> <h3 class="text-lg md:text-xl lg:text-2xl text-gray-950 text-balance" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="38:75"> Quelle différence entre une agence Flutter et une ESN Flutter ? </h3> </summary> <div class="faq-answer pl-18 pr-5 pb-6 text-base text-gray-600 leading-relaxed" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="42:83"> <p class="md">Une agence Flutter livre une app clé en main avec une équipe pluridisciplinaire (développeurs, product managers, designers) engagée sur le résultat. Une ESN Flutter met à disposition des développeurs au temps passé pour renforcer une équipe existante. Lonestone propose les deux modes : forfait avec équipe complète, et profils en régie via l’<a href="/offres/scale" class="md">offre Scale</a>.</p> </div> </details><details class="group border-b border-gray-100 open:bg-gray-50 transition-colors duration-300" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="11:2"> <summary class="flex w-full cursor-pointer items-center gap-4 px-5 py-6 text-left list-none [&::-webkit-details-marker]:hidden" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="14:4"> <svg class="size-8 shrink-0 text-gray-400" viewBox="0 0 32 32" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="22:6"> <line x1="0" y1="16" x2="32" y2="16" class="transition-transform duration-300 ease-[cubic-bezier(0.25,0.1,0.25,1)] origin-center group-open:rotate-180" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="23:8"></line> <line x1="16" y1="0" x2="16" y2="32" class="transition-transform duration-300 ease-[cubic-bezier(0.25,0.1,0.25,1)] origin-center group-open:rotate-90" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="30:8"></line> </svg> <h3 class="text-lg md:text-xl lg:text-2xl text-gray-950 text-balance" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="38:75"> Flutter ou React Native, lequel choisir ? </h3> </summary> <div class="faq-answer pl-18 pr-5 pb-6 text-base text-gray-600 leading-relaxed" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="42:83"> <p class="md"><a href="/technos/react-native" class="md">React Native</a> est le choix par défaut chez Lonestone sur les nouveaux projets mobiles car la stack TypeScript et le pont avec <a href="/technos/react" class="md">React</a> web permettent de mutualiser compétences et logique métier. Flutter est privilégié quand l’app demande une UI très personnalisée pixel par pixel, des animations ou rendus 2D complexes, ou quand le client a déjà une équipe Dart formée. Le choix se fait au cadrage selon le contexte.</p> </div> </details><details class="group border-b border-gray-100 open:bg-gray-50 transition-colors duration-300" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="11:2"> <summary class="flex w-full cursor-pointer items-center gap-4 px-5 py-6 text-left list-none [&::-webkit-details-marker]:hidden" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="14:4"> <svg class="size-8 shrink-0 text-gray-400" viewBox="0 0 32 32" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="22:6"> <line x1="0" y1="16" x2="32" y2="16" class="transition-transform duration-300 ease-[cubic-bezier(0.25,0.1,0.25,1)] origin-center group-open:rotate-180" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="23:8"></line> <line x1="16" y1="0" x2="16" y2="32" class="transition-transform duration-300 ease-[cubic-bezier(0.25,0.1,0.25,1)] origin-center group-open:rotate-90" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="30:8"></line> </svg> <h3 class="text-lg md:text-xl lg:text-2xl text-gray-950 text-balance" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="38:75"> Quelle différence entre Flutter et le développement natif (Swift + Kotlin) ? </h3> </summary> <div class="faq-answer pl-18 pr-5 pb-6 text-base text-gray-600 leading-relaxed" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="42:83"> <p class="md">Flutter produit des apps iOS et Android à partir d’une seule codebase Dart, ce qui divise par deux le coût de développement et de maintenance. Le natif strict (Swift + Kotlin) reste pertinent pour les apps qui ont besoin d’un accès très approfondi aux APIs OS récentes (Vision Pro, Watch) ou pour les jeux 3D temps réel. Pour la grande majorité des apps métier et B2C, Flutter couvre tous les besoins avec une UX équivalente.</p> </div> </details><details class="group border-b border-gray-100 open:bg-gray-50 transition-colors duration-300" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="11:2"> <summary class="flex w-full cursor-pointer items-center gap-4 px-5 py-6 text-left list-none [&::-webkit-details-marker]:hidden" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="14:4"> <svg class="size-8 shrink-0 text-gray-400" viewBox="0 0 32 32" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="22:6"> <line x1="0" y1="16" x2="32" y2="16" class="transition-transform duration-300 ease-[cubic-bezier(0.25,0.1,0.25,1)] origin-center group-open:rotate-180" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="23:8"></line> <line x1="16" y1="0" x2="16" y2="32" class="transition-transform duration-300 ease-[cubic-bezier(0.25,0.1,0.25,1)] origin-center group-open:rotate-90" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="30:8"></line> </svg> <h3 class="text-lg md:text-xl lg:text-2xl text-gray-950 text-balance" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="38:75"> Quelle est l&#39;expérience de Lonestone en Flutter ? </h3> </summary> <div class="faq-answer pl-18 pr-5 pb-6 text-base text-gray-600 leading-relaxed" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="42:83"> <p class="md">Lonestone livre des apps Flutter en production depuis 2021. L’équipe maîtrise Dart, les patterns de state management (Riverpod, Bloc, Provider), GoRouter, l’écosystème de packages pub.dev, et le cycle de publication App Store et Play Store.</p> </div> </details><details class="group border-b border-gray-100 open:bg-gray-50 transition-colors duration-300" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="11:2"> <summary class="flex w-full cursor-pointer items-center gap-4 px-5 py-6 text-left list-none [&::-webkit-details-marker]:hidden" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="14:4"> <svg class="size-8 shrink-0 text-gray-400" viewBox="0 0 32 32" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="22:6"> <line x1="0" y1="16" x2="32" y2="16" class="transition-transform duration-300 ease-[cubic-bezier(0.25,0.1,0.25,1)] origin-center group-open:rotate-180" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="23:8"></line> <line x1="16" y1="0" x2="16" y2="32" class="transition-transform duration-300 ease-[cubic-bezier(0.25,0.1,0.25,1)] origin-center group-open:rotate-90" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="30:8"></line> </svg> <h3 class="text-lg md:text-xl lg:text-2xl text-gray-950 text-balance" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="38:75"> Lonestone propose-t-elle des développeurs Flutter en régie (TJM) ? </h3> </summary> <div class="faq-answer pl-18 pr-5 pb-6 text-base text-gray-600 leading-relaxed" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="42:83"> <p class="md">Oui. En plus du mode forfait, Lonestone propose des développeurs Flutter au temps passé via l’<a href="/offres/scale" class="md">offre Scale</a>. Ce mode convient aux clients qui ont déjà un product manager et un cadrage et cherchent à renforcer ponctuellement leur équipe mobile avec des profils Flutter seniors.</p> </div> </details><details class="group border-b border-gray-100 open:bg-gray-50 transition-colors duration-300" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="11:2"> <summary class="flex w-full cursor-pointer items-center gap-4 px-5 py-6 text-left list-none [&::-webkit-details-marker]:hidden" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="14:4"> <svg class="size-8 shrink-0 text-gray-400" viewBox="0 0 32 32" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="22:6"> <line x1="0" y1="16" x2="32" y2="16" class="transition-transform duration-300 ease-[cubic-bezier(0.25,0.1,0.25,1)] origin-center group-open:rotate-180" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="23:8"></line> <line x1="16" y1="0" x2="16" y2="32" class="transition-transform duration-300 ease-[cubic-bezier(0.25,0.1,0.25,1)] origin-center group-open:rotate-90" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="30:8"></line> </svg> <h3 class="text-lg md:text-xl lg:text-2xl text-gray-950 text-balance" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="38:75"> Lonestone gère-t-elle la publication sur l&#39;App Store et le Play Store ? </h3> </summary> <div class="faq-answer pl-18 pr-5 pb-6 text-base text-gray-600 leading-relaxed" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="42:83"> <p class="md">Oui. L’équipe pilote les certificats Apple et Google, prépare les fiches de stores (screenshots, descriptions, mots-clés ASO), gère les soumissions et les revues Apple, et accompagne le client sur les comptes développeur. Les comptes restent au nom du client pour préserver la propriété des apps publiées.</p> </div> </details><details class="group border-b border-gray-100 open:bg-gray-50 transition-colors duration-300" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="11:2"> <summary class="flex w-full cursor-pointer items-center gap-4 px-5 py-6 text-left list-none [&::-webkit-details-marker]:hidden" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="14:4"> <svg class="size-8 shrink-0 text-gray-400" viewBox="0 0 32 32" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="22:6"> <line x1="0" y1="16" x2="32" y2="16" class="transition-transform duration-300 ease-[cubic-bezier(0.25,0.1,0.25,1)] origin-center group-open:rotate-180" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="23:8"></line> <line x1="16" y1="0" x2="16" y2="32" class="transition-transform duration-300 ease-[cubic-bezier(0.25,0.1,0.25,1)] origin-center group-open:rotate-90" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="30:8"></line> </svg> <h3 class="text-lg md:text-xl lg:text-2xl text-gray-950 text-balance" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="38:75"> Le code Flutter produit reste-t-il la propriété du client ? </h3> </summary> <div class="faq-answer pl-18 pr-5 pb-6 text-base text-gray-600 leading-relaxed" data-astro-source-file="/data/app/src/components/sections/FAQItem.astro" data-astro-source-loc="42:83"> <p class="md">Oui. La codebase appartient au client et est livrée sur son dépôt Git. La stack Flutter standard permet à n’importe quelle équipe Dart de reprendre le projet en interne ou chez un autre prestataire.</p> </div> </details>