React en production depuis 2015

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

Frontend, fullstack TypeScript et design produit : une équipe pluridisciplinaire qui livre du composant jusqu'à la prod.

Agence en forfait, ESN en régie

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

L’expertise dépasse le strict front. Les développeurs sont fullstack TypeScript (Node, NestJS, PostgreSQL) et travaillent main dans la main avec les product designers et les product managers. Cette polyvalence évite les frictions entre spécialités et raccourcit le chemin entre une idée produit et sa mise en production.

Pourquoi choisir Lonestone comme agence React

L'expertise React de l'équipe vient de plus de dix ans à livrer des produits qui tiennent dans la durée, sur des SaaS, des back-offices et des applications métier exigeantes.

React en production depuis 2015

L’équipe Lonestone utilise React quotidiennement depuis 2015 sur des SaaS, des back-offices, des dashboards et des applications métier. Cette antériorité donne une vision claire des patterns qui tiennent (composition de composants, gestion d’état) et de ceux qui vieillissent mal.

Une équipe React senior, dev frontend + design + product

L’équipe est composée majoritairement de profils seniors avec cinq à quinze ans d’expérience React, et associe développeurs frontend (et fullstack), product designers et product managers sur chaque projet. La proximité entre disciplines raccourcit les boucles de feedback et permet des choix techniques qui restent pertinents trois ou cinq ans plus tard.

Régie ou forfait, selon votre besoin

Lonestone intervient en forfait avec une équipe complète engagée sur le résultat (mode habituel pour les projets greenfield ou les refontes), ou en régie via l’offre Scale avec des développeurs React seniors au temps passé pour renforcer une équipe existante. Les deux modes peuvent même se combiner dans un projet à plusieurs phases.

TypeScript du store à l'UI

Tous les projets React de Lonestone sont écrits en TypeScript, et le typage continue côté API et base de données. Une chaîne de types complète détecte les erreurs à l’écriture, simplifie les refactos et fait gagner des semaines sur les projets qui durent.

Next.js dès qu'il faut indexer ou rendre côté serveur

Pour les sites qui doivent être trouvés sur Google ou rendus côté serveur, l’équipe bascule sur Next.js, le framework React de Vercel. Le choix entre React seul (SaaS, back-office) et Next.js (site, marketing, e-commerce) se fait au cadrage selon le type de produit.

Boilerplate technique maintenu en open source

Lonestone maintient un boilerplate React, Node et TypeScript en open source qui rassemble auth, gestion des utilisateurs, conventions d’architecture et déploiement. Chaque nouveau projet démarre productif dès le premier sprint au lieu de réinventer la fondation technique.

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

Le projet React reste la propriété du client et la stack volontairement standard (React, TypeScript, Node, PostgreSQL) permet à n’importe quelle équipe technique de reprendre la codebase, en interne ou chez un autre prestataire.

La collaboration avec Lonestone et son équipe a été extrêmement fructueuse, nous aboutissant à un produit qui dépasse largement nos attentes initiales. Un grand merci à toute l’équipe de développement et de design pour le travail accompli ! J’attends avec impatience de poursuivre cette collaboration pour l’évolution continue de ce produit stratégique au sein de notre entreprise.

Clara BICO

Clara BICO · Cheffe de projet @ Salto

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 React de Lonestone dans les bureaux de la Halle 6, île de Nantes
Notre go-to depuis 2015

Là où React fait toute la différence

React s'adapte à pratiquement n'importe quelle interface complexe. Voici les cas d'usage 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/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">SaaS multi-tenant</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 cas d’usage historique de React. Composition de composants, design system, gestion d’état complexe : tout l’écosystème est conçu pour les SaaS B2B et B2C qui doivent évoluer pendant des années.</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">Back-offices et outils métier</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">Tableaux de bord, CRUD complexes, workflows internes. React permet de livrer des <a href="/solutions/developpement-outil-metier" class="md">outils métier</a> ergonomiques avec un découpage propre entre lecture et écriture des données.</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">Dashboards et data visualisation</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">Avec des librairies comme Recharts, Visx ou D3, React permet de construire des tableaux de bord interactifs, du reporting temps réel et des explorations de données complexes côté navigateur.</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">Sites web et e-commerce via Next.js</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">Pour un site indexé par Google, l’équipe utilise <a href="/technos/next-js" class="md">Next.js</a> qui apporte rendu côté serveur, génération statique et SEO maîtrisé tout en restant 100% React.</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">Applications mobiles via React Native</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"><a href="/technos/react-native" class="md">React Native</a> réutilise les mêmes paradigmes que React et permet de livrer une <a href="/solutions/creation-app-mobile" class="md">application iOS et Android</a> avec une seule codebase TypeScript.</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">Refonte progressive d&#39;un produit existant</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">React peut s’intégrer dans une application existante page par page, sans tout réécrire d’un coup. Cette approche convient aux <a href="/solutions/refonte-site-web" class="md">refontes</a> où la continuité de service est critique.</p> </div> </div>
Tout l'écosystème, pas juste React

Les outils qu'on choisit autour de React

Un projet React moderne, c'est autant de bibliothèques satellites qui font la productivité au quotidien. L'équipe maîtrise les choix qui comptent pour chaque type de produit.

<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">Styling et design system</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">Tailwind CSS en premier choix pour la vitesse et la cohérence, CSS Modules ou Vanilla Extract sur les projets qui exigent une isolation forte. Storybook pour documenter et tester les composants, et des design tokens partagés entre web et 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/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">Bibliothèques de composants</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">Shadcn UI et Radix Primitives en premier choix pour leur flexibilité et leur accessibilité. Material UI (MUI) ou Mantine quand le projet doit démarrer vite avec un design system existant. Headless UI ou Ariakit pour les composants 100% sur mesure.</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">État serveur et data fetching</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">Tanstack Query (React Query) ou SWR pour les API REST, tRPC quand le back-end est aussi en TypeScript, Apollo Client pour les projets GraphQL. Le bon outil dépend de l’API existante et du niveau de typage souhaité.</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">État client et formulaires</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">Zustand et Jotai pour l’état partagé léger, Redux Toolkit pour les SaaS multi-modules. React Hook Form avec Zod pour les formulaires complexes et leur validation typée de bout en bout.</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">Vitest et React Testing Library pour les tests unitaires et d’intégration. Playwright pour les parcours end-to-end. ESLint et TypeScript strict en garde-fous, Sentry pour remonter les erreurs en production.</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">Animation et data visualisation</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">Framer Motion pour les animations et transitions fluides. Recharts, Visx ou Nivo pour les graphiques et tableaux de bord. dnd-kit pour les interfaces drag-and-drop modernes.</p> </div> </div>
Basés à Nantes, actifs partout en France

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

L'équipe React 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 niveau d'exigence technique : revues de code systématiques, design system documenté, déploiements automatisés et monitoring temps réel via Sentry. Les ateliers techniques (architecture, choix de librairies, performance) se font en visio ou dans les bureaux selon ce que préfère le client.

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 React et une ESN React ? </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 React livre un produit clé en main avec une équipe pluridisciplinaire (développeurs, product managers, designers) engagée sur le résultat. Une ESN React 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"> Faut-il choisir React, Next.js ou Vue.js pour un nouveau projet ? </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">React reste le choix par défaut pour un SaaS, un back-office ou une application web complexe car son écosystème et sa communauté sont les plus larges. <a href="/technos/next-js" class="md">Next.js</a>, qui repose sur React, s’impose dès qu’un site doit être indexé par Google ou rendu côté serveur. <a href="/technos/vuejs" class="md">Vue.js</a> convient à des projets plus légers ou à des équipes déjà formées dessus. Le choix se fait au cadrage selon le type de produit, la stack existante et le profil des équipes.</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 React ? </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 utilise React en production depuis 2015, ce qui représente plus de dix ans d’expérience cumulée sur des SaaS, des outils métier et des applications web complexes. L’équipe maîtrise également l’écosystème associé : <a href="/technos/next-js" class="md">Next.js</a> pour le rendu côté serveur, <a href="/technos/react-native" class="md">React Native</a> pour le mobile, Redux et Zustand pour la gestion d’état, Vitest et React Testing Library pour les tests automatisés.</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 React 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 React 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 technique avec des profils React 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"> Le code React 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 volontairement standard (React, TypeScript, Node) permet à n’importe quelle équipe React de reprendre le projet en interne ou chez un autre prestataire, sans dépendance à Lonestone.</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 travaille-t-elle avec des entreprises hors de Nantes ? </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’agence est basée à la Halle 6 sur l’île de Nantes mais accompagne des clients partout en France, en Europe et aux États-Unis. Les projets se pilotent à distance avec des points hebdomadaires en visio et des ateliers en présentiel quand le client le souhaite, soit dans les bureaux Lonestone soit sur site.</p> </div> </details>