# OutOfRange Consulting — site complet > Toutes les pages de https://www.outofrange-consulting.com en un seul fichier, > généré depuis le HTML publié. La carte courte est dans /llms.txt. --- Geoffrey Marc · Tech lead & architecte .NET · Indépendant depuis 2019 # Faire évoluer une plateforme critique sans arrêter la production. J'interviens sur des systèmes .NET distribués qui tournent déjà et qu'on ne peut pas mettre à l'arrêt : découpage des services, cohérence des données, migrations réversibles, contrats d'API qui tiennent dans le temps. Et, depuis deux ans, l'outillage qui fait entrer l'IA dans le travail quotidien des équipes de développement. [Décrivez-moi votre contexte →](https://www.outofrange-consulting.com/contact) [Dossier de compétences](https://www.outofrange-consulting.com/dossier) ## Situation **Disponible sous un mois** pour une mission en régie. Actuellement chez **Edenred**, à temps plein, sur une plateforme de services B2B déployée dans plusieurs pays européens — et ouvert en parallèle à **un projet court** pour une PME. ## Interventions *Par ordre de fréquence réelle, pas par symétrie.* ### Architecture et développement .NET C'est le cœur du métier et l'essentiel de mes missions. Concevoir et écrire des services back-end : découpage en domaines, communication asynchrone, cohérence des données entre services, contrats d'API et stratégie de versioning. J'écris le code autant que je dessine les schémas — les deux se corrigent mutuellement, et un schéma que personne n'a essayé de coder ment souvent. Ce que j'apporte n'est pas une préférence d'architecture, c'est une façon de choisir : poser deux ou trois options, dire ce que chacune coûte à écrire et à faire vivre, et laisser la décision à l'équipe qui la maintiendra. DDDCQRSEvent-driven Multi-tenantOpenAPI-firstPostgreSQL ### Migrations à risque maîtrisé Changer de socle pendant que la production tourne, par étapes réversibles : l'ancien chemin reste en place jusqu'à preuve du nouveau, la bascule se fait client par client, et le retour arrière est possible à chaque palier. Le déroulé d'un cas réel est dans les [réalisations](https://www.outofrange-consulting.com/parcours#realisations). Double écritureFeature flags Bascule par tenantRetour arrière ### IA appliquée à l'ingénierie Faire entrer les modèles dans le cycle de développement demande plus qu'un abonnement : du contexte versionné dans le dépôt, de l'outillage exposé aux assistants, une passerelle mesurée et une revue humaine sur le chemin critique. Le détail est [plus bas sur cette page](#ia). MCPAgentsPasserelle LLMGarde-fous ### Conduite technique d'équipe Poser un cadre que l'équipe s'approprie : décisions écrites et discutables, conventions outillées plutôt que rappelées à l'oral, revues qui expliquent au lieu de sanctionner. Je préfère laisser une équipe autonome qu'une équipe dépendante — c'est aussi la seule façon qu'une mission serve encore à quelque chose un an après mon départ. ADRRevue de codeAnalyseursMentorat ## Formats ### Mission en régie, sur la durée Format principal C'est ainsi que je travaille depuis 2019, et ce que je cherche : m'intégrer à une équipe et rester assez longtemps pour vivre avec mes propres décisions d'architecture. Mes deux dernières missions durent respectivement plus de deux ans et un an et huit mois. Temps plein, en télétravail depuis la région lyonnaise, avec des déplacements ponctuels pour les moments qui le méritent : démarrage, cadrage d'architecture, ateliers d'équipe. ### Projet court pour une PME En parallèle, ponctuellement Une PME qui a besoin d'un service back-end bien construit, d'une reprise d'application ou d'un avis d'architecte sur un choix structurant : je peux prendre ce type de projet en parallèle d'une mission longue, sur un périmètre défini à l'avance. Le périmètre et le rythme se décident au premier échange — je préfère refuser que promettre une disponibilité que je n'aurais pas. ## Démarche *Ce que valent les premières semaines.* La valeur d'un intervenant extérieur se joue dans son premier mois : sa capacité à absorber un système qu'il n'a pas écrit, à en saisir les contraintes non dites, et à parler juste avec ceux qui le maintiennent. Je commence par lire — le code, l'historique Git, les tickets, les comptes rendus d'incident. L'historique dit souvent ce que la documentation tait : quelles zones ont été reprises trois fois, quel module personne n'ose toucher, quelle décision a été prise un vendredi soir et jamais rediscutée. À la fin de cette phase, je sais où sont les endroits fragiles, et je peux le dire à l'équipe sans la vexer. Ensuite seulement viennent les propositions. Un besoin métier devient un petit nombre d'options techniques, chacune avec son coût et son risque ; je recommande, et la décision reste collective. Ce qui est décidé est écrit — pas pour la cérémonie, mais pour que l'équipe suivante comprenne le pourquoi et pas seulement le comment. La livraison se fait par étapes courtes, testées, réversibles. Aucune mise en production ne devrait demander de retenir son souffle. Et la montée en compétence se fait au fil de l'eau, en binôme et en revue, plutôt qu'en session de formation à la fin — de sorte que la passation n'ait rien à révéler. IA appliquée ## Un outil d'ingénierie, traité comme tel. L'IA générative change la façon de produire du logiciel, à condition de la traiter comme n'importe quel composant de production : avec du pilotage, des quotas, de la traçabilité et des garde-fous. C'est le travail que je mène en mission, sur une plateforme réelle, installé progressivement. - **Un dépôt lisible par un agent.** Conventions, contexte et procédures décrits dans le dépôt, pour que l'assistant produise du code conforme dès le premier jet. - **L'outillage interne exposé aux modèles.** Des serveurs MCP donnant accès au dépôt, aux tickets et aux environnements : l'assistant travaille sur vos données, pas sur des suppositions. - **Une passerelle maîtrisée.** Point d'entrée unique, clés par usage, suivi de la consommation, bascule entre fournisseurs. - **La revue humaine sur le chemin critique.** Toujours, et sans exception négociable. Wolverine.Http/ApiVersioning/ApiVersionResolver.cs [PR #2633 ↗](https://github.com/JasperFx/wolverine/pull/2633) ``` +internal static class ApiVersionResolver+{+ public static ApiVersionResolution? Resolve(MethodInfo method)+ {+ var methodAttrs = method.GetCustomAttributes(inherit: false).ToList();+ List winningAttrs;++ if (methodAttrs.Count > 0)+ {+ winningAttrs = methodAttrs;+ }+ else+ {+ var classAttrs = method.DeclaringType?.GetCustomAttributes(inherit: false).ToList();+ if (classAttrs is null || classAttrs.Count == 0)+ {+ return null;+ } ``` **La décision tient en six lignes :** l'attribut posé sur la méthode l'emporte, celui de la classe ne sert que de repli. Sans cette règle, deux versions déclarées à deux endroits donnent un comportement qui dépend de l'ordre de découverte — le genre de défaut qu'on ne diagnostique qu'en production. ## Repères 17 années de développement depuis la sortie d'école, dont l'essentiel sur l'écosystème .NET et sept en indépendant. 100 développeurs environ dans le périmètre de ma mission actuelle, sur un ensemble de 250 personnes. 13 contributions fusionnées dans Wolverine, le framework .NET utilisé en mission — dont la fonctionnalité de versioning d'API ci-dessus. 0 interruption de service demandée au métier sur les migrations de socle que j'ai menées. ## Recommandations *Publiées sur LinkedIn, par des gens avec qui j'ai travaillé au quotidien.* > « Plus d'un an et demi de collaboration, c'est passé si vite… Ce fut un réel plaisir de travailler avec Geoffrey qui a toujours été moteur pour faire progresser les choses et pas seulement dans son domaine de compétence pour lequel il excelle. Oui Geoffrey est un très bon tech lead .NET c'est indiscutable, mais il a aussi de l'expérience sur les organisations et n'hésitera pas à être force de proposition pour améliorer des problèmes d'orga en équipe, il sait transmettre, il sait vulgariser… et surtout il sait écouter et se remettre en question. Un vrai couteau Suisse qui a été un atout majeur dans le projet de refonte de Leetchi. Je le recommande sans aucune hésitation. » **Sébastien Pousse** — Lead Manager QA, Leetchi > « J'ai eu le plaisir de travailler avec Geoffrey pendant plus d'un an et demi chez Leetchi. Geoffrey a été d'une aide inestimable de par sa grande expertise technique sur le développement, sa vision 360 du projet, son efficacité et sa proactivité. Mon seul regret, notre collaboration a été trop courte. J'ai hâte de pouvoir retravailler avec lui un jour. » **Grégory Blaire** — Directeur BU Software Engineering, Leetchi > « Il a une grande connaissance technique en .Net, qu'il saura transmettre à des plus juniors, et une rapidité d'exécution très impressionnante. Il est un atout indispensable par sa capacité à comprendre rapidement un besoin et à proposer un design technique adapté. Il a été un développeur indispensable sur notre projet chez Leetchi.com. Je le conseille les yeux fermés. » **Rudy Wahl** — Tech lead, Leetchi Les recommandations sont consultables sur [mon profil LinkedIn](https://www.linkedin.com/in/oor-gmc/). ## Un système à faire évoluer ? Décrivez-moi le contexte en quelques lignes. Je réponds sous 24 h ouvrées, avec une première lecture — et je vous le dis si je ne suis pas la bonne personne. [Prendre contact →](https://www.outofrange-consulting.com/contact) [Parcours & réalisations](https://www.outofrange-consulting.com/parcours) --- Parcours # Dix-sept ans à faire tourner des systèmes en production. Ingénieur UTBM, développeur devenu lead dev puis architecte, indépendant depuis 2019. Le fil conducteur n'a pas changé : des systèmes complexes, et les équipes qui les portent. [Prendre contact →](https://www.outofrange-consulting.com/contact) [Dossier de compétences détaillé](https://www.outofrange-consulting.com/dossier) ## En bref J'interviens comme développeur senior, architecte ou leader technique transverse selon ce dont le projet a besoin — souvent les trois à la fois. Je prends en charge les sujets qui traversent les équipes : socle technique commun, contrats entre services, migrations sensibles, choix structurants. Ce sont des sujets qui ne s'imposent pas par l'autorité ; ils se gagnent équipe par équipe, avec des décisions écrites et un chemin de migration qui n'arrête personne. Mes contextes de prédilection : la reprise d'un existant mal documenté, la plateforme qui a grossi plus vite que ses conventions, l'équipe distribuée sur plusieurs pays et plusieurs fuseaux. ## Le chemin Depuis mai 2024 En cours ### Tech Expert .NET — leader technique d'une initiative transverse Edenred EMEA Benefits · Paris · via OutOfRange Consulting Refonte et industrialisation d'une plateforme de services aux entreprises déployée dans plusieurs pays européens : plusieurs dizaines de services .NET et un front Angular / Nx. L'inventaire complet est dans le [dossier de compétences](https://www.outofrange-consulting.com/dossier). Je porte techniquement une initiative transverse sur un périmètre de **250 personnes, dont une centaine de développeurs**, et j'interviens en appui auprès des équipes qui n'en font pas partie : le modèle d'écriture et la persistance, le socle commun, les contrats d'API et leur versioning, l'observabilité, et l'outillage IA de l'ingénierie. oct. 2022 — mai 2024 1 an 8 mois ### Tech Lead .NET — refonte de la plateforme Leetchi.com · Fintech · Paris Arrivé développeur back-end senior au moment de la séparation de Leetchi.com et de MangoPay, j'ai pris la position de référent technique de la refonte — mise en production en mai 2023 — avant de rejoindre l'équipe Growth. La fiche détaillée est dans le [dossier](https://www.outofrange-consulting.com/dossier). nov. 2020 — avr. 2022 1 an 6 mois ### Tech Lead, puis architecte .NET — plateforme logistique CrossDock Hub One · Télécoms & services aéroportuaires · Dardilly Une solution de gestion logistique en micro-services, construite dans le cadre du renouvellement du parc applicatif. Lead dev au départ, architecte ensuite, avec la mise en place du déploiement automatisé sur clusters Kubernetes. 2019 — 2020 ### Missions d'expertise et d'architecture Adéquat · Groupe SEB · Bureau Veritas Trois interventions courtes et ciblées : cellule technique de l'ERP interne d'Adéquat, refonte architecturale de l'application logistique SmoothPLP et solution d'archivage des flux EDI chez Groupe SEB, front et API REST pour la refonte d'une gestion documentaire chez Bureau Veritas. C'est le format sur lequel on m'appelle quand la décision d'architecture doit être prise vite et tenir ensuite. févr. 2017 — août 2019 2 ans 7 mois ### Architecte / Lead Dev .NET ELCIA Groupe · Éditeur logiciel · Brignais Le configurateur en ligne, les applications back-office et les outils internes de gestion des licences, contrats et incidents. J'y construis les applications Portail, Aide en ligne et Onboarding, et surtout les nouvelles versions du framework interne, en accompagnant les équipes sur ces sujets. Passage en indépendant en janvier 2019 sur le même périmètre, avant de transmettre le rôle au nouveau lead developer. 2009 — 2016 ### Développeur, puis lead dev et architecte back-end .NET Orange Business Services, Netapsys, Apollo SSC · clients grands comptes Sept ans à concevoir des applications métier et des services back-end sur l'écosystème Microsoft, en régie puis en prestation, pour Renault, Aéroports de Paris, ERAMET, Alcatel-Lucent, ENGIE, APRIL ou le Ministère des Sports. C'est là que je passe lead dev et architecte, dès la construction de l'ERP d'Adéquat en 2014. C'est là aussi que s'est construite la conviction qui guide aujourd'hui mes choix : un système se juge à ce qu'il coûte à faire évoluer, pas à ce qu'il coûte à écrire. 2006 — 2009 ### Ingénieur en informatique Université de Technologie de Belfort-Montbéliard (UTBM) Formation d'ingénieur, spécialité informatique. ## Clients *Plutôt des organisations où le logiciel est au cœur du service rendu.* Edenred Plateforme multi-pays de gestion d'avantages salariaux. Architecture distribuée, forte contrainte réglementaire et fiscale par pays. Le genre de périmètre où l'on ne décide rien seul dans son coin. Services aux entreprises · Paris & Europe · .NET 10, event-driven, multi-tenant, Azure Leetchi Refonte de la plateforme. Flux financiers, traçabilité, contraintes réglementaires — et une équipe à structurer autant qu'un système à reconstruire. Fintech · Paiement communautaire · Paris · .NET, micro-services Hub One Du logiciel adossé à des flux logistiques physiques, utilisé sur le terrain via interfaces mobiles et client léger, dans un groupe en plein renouvellement de son parc applicatif. Télécoms & services aéroportuaires · Dardilly · Kubernetes ELCIA Plus de deux ans et demi côté éditeur, sur le même produit — assez longtemps pour vivre avec ses propres décisions d'architecture. Éditeur logiciel · Brignais · framework interne, bus de service, CI Projets internes Plateforme personnelle d'expérimentation : hébergement auto-géré, passerelle LLM, orchestration multi-agents, supervision et sécurité. C'est là que se testent les pratiques avant d'être proposées à un client. Recherche & outillage · Docker, MCP, LLM Ops, observabilité Également intervenu pour - Cdiscount - Groupe SEB - Bureau Veritas - Adéquat - ENGIE - APRIL - Renault - Aéroports de Paris - Alcatel-Lucent - ERAMET - LVL Médical - Ministère des Sports Éditeurs, industriels et grands comptes, sur l'écosystème Microsoft : applications métier, plateformes en micro-services, portails internes et services back-end. [Le détail mission par mission →](https://www.outofrange-consulting.com/dossier) ## Réalisations *Décrites par leur enjeu et la façon de les mener, sans détail propriétaire.* ### Plateforme de services distribuée, multi-pays Architecture · .NET 10 · Event-driven 01 Plusieurs dizaines de services .NET organisés en domaines métier, orchestrateurs et BFF, communiquant par messages. Découpage des responsabilités, définition des contrats publics, gestion du multi-tenant jusque dans la couche de données, et règles de cohérence entre services explicitées plutôt que subies. Le tout doit absorber des règles fiscales et réglementaires différentes selon le pays. .NET 10WolverineMassTransit PostgreSQLDDD ### Migration de socle de persistance sans interruption Migration · Double écriture · Bascule pilotée 02 Remplacement du moteur de stockage d'un service critique en production. Approche retenue : écriture simultanée dans l'ancien et le nouveau socle, lecture bascule par indicateur et par client, comparaison des deux chemins en conditions réelles, puis retrait progressif de l'ancien. Retour arrière possible à chaque étape ; aucune fenêtre d'arrêt demandée au métier. Double écritureFeature flags Par tenantRetour arrière ### Modèle d'écriture transactionnel et multi-tenant Cohérence des données · Messagerie fiable 03 Unification du chemin d'écriture de la plateforme : une seule transaction couvrant la base de données et la publication des messages, isolation stricte des données par client, et sérialisation des accès concurrents sur les agrégats sensibles. Décisions consignées en ADR pour que les équipes suivantes comprennent le pourquoi, pas seulement le comment. OutboxEF CoreConcurrenceADR ### SDK partagé et génération des clients d'API Socle transverse · Productivité des équipes 04 Un socle commun à tous les services : authentification, télémétrie, conventions d'API, analyseurs qui font respecter les règles à la compilation plutôt qu'en revue. Côté consommation, un générateur produit les clients typés à partir des contrats OpenAPI — les ruptures de contrat se voient au build, pas en production. NuGetRoslyn analyzersOpenAPI Génération de code ### Observabilité de bout en bout OpenTelemetry · Diagnostic 05 Traçage distribué homogène sur l'ensemble des services, instrumenté par génération de code pour éviter le bruit manuel. Tableaux de bord et alertes construits avec les équipes, à partir des questions qu'elles se posent réellement un soir d'incident. OpenTelemetryAPM Source generatorsTableaux de bord ### Outillage IA pour les équipes de développement IA appliquée · MCP · LLM Ops 06 Donner aux assistants le même accès au projet qu'à un développeur qui arrive : le dépôt et ses conventions, les tickets et les environnements via MCP, et une passerelle LLM auto-hébergée qui route et mesure la consommation. Installé progressivement, sur une plateforme en production. MCPOrchestration d'agents Passerelle LLMGarde-fousDocker Open source ## Contributeur à Wolverine. Quand une brique manque ou se comporte mal, je préfère la corriger à la source plutôt que la contourner chez le client. Wolverine, le framework de messagerie et de HTTP sur lequel s'appuient les plateformes que j'accompagne, est le projet où j'ai le plus contribué : **13 pull requests fusionnées** et huit anomalies remontées avec leur cas de reproduction. ### Versioning d'API natif Wolverine.Http · conception et implémentation #2633 Le framework ne savait pas exposer plusieurs versions d'un même endpoint. J'ai ouvert la discussion, proposé la conception, puis livré l'implémentation et ses compléments : gestion des versions multiples, en-têtes de version sur toutes les réponses, et possibilité pour un endpoint de sortir du mécanisme. C'est aujourd'hui une fonctionnalité de la distribution officielle — un extrait du code est [sur la page d'accueil](https://www.outofrange-consulting.com/#ia). ConceptionImplémentationAPI versioning ### Interopérabilité MassTransit Wolverine · corrections #2373 · #2439 Faire cohabiter deux bus de messages sans perdre d'information en chemin : propagation des en-têtes applicatifs d'un format d'enveloppe à l'autre, et report de l'identifiant de trace pour que le suivi distribué ne se coupe pas à la frontière entre les deux mondes. Deux sujets rencontrés en mission, réglés en amont. MassTransitAzure Service BusTraçage distribué ### Multi-tenant & persistance Wolverine · EF Core #3060 · #3351 Sur le chemin de validation en multi-tenant géré, des événements de domaine étaient perdus et des messages durables ne survivaient pas au redémarrage. Diagnostic, cas de reproduction, correctifs fusionnés. Le genre de défaut silencieux qui finit en incident difficile à diagnostiquer en production. EF CoreMulti-tenantDurabilité S'y ajoutent des corrections de moindre ampleur sur le routage HTTP, la liaison des paramètres de requête et la configuration de la validation, ainsi qu'une contribution à **Testcontainers for .NET**. [Voir les contributions sur GitHub ↗](https://github.com/outofrange-consulting) ## Un premier échange. Un appel sur votre situation me dit si je peux être utile ; le déroulé est décrit sur la page contact. [Me contacter →](https://www.outofrange-consulting.com/contact) [Dossier de compétences](https://www.outofrange-consulting.com/dossier) --- Dossier de compétences # Geoffrey Marc — tech lead & architecte .NET Le parcours complet : contexte, rôle tenu, travail réalisé et environnement technique, mission par mission. Cette page se suffit à elle-même ; les deux PDF ci-dessous sont là pour circuler en interne. ## Documents *À jour au 18 août 2026.* [PDF CV — 2 pages Le format court, pour circuler vite : rôle, compétences, six dernières missions.](https://www.outofrange-consulting.com/assets/docs/CV-Geoffrey-Marc-Tech-Lead-NET.pdf) [PDF Dossier de compétences — 4 pages Le format attendu par les ESN et les cabinets : synthèse, grille de compétences, missions détaillées.](https://www.outofrange-consulting.com/assets/docs/Dossier-de-competences-Geoffrey-Marc.pdf) Une version anonymisée (« Geoffrey M. ») est disponible sur simple demande pour les intermédiaires qui en ont besoin — [voir les modalités](https://www.outofrange-consulting.com/contact#esn). ## En un coup d'œil **Rôles** Tech lead · Architecte · Expert technique transverse **Expérience** 17 ans sur l'écosystème .NET, dont 7 en indépendant **Statut** Indépendant depuis janvier 2019 — OutOfRange Consulting **Format recherché** Mission longue en régie, temps plein **Localisation** Télétravail depuis la région lyonnaise · déplacements ponctuels **Disponibilité** Sous un mois · actuellement en mission chez Edenred **Formation** Ingénieur en informatique, UTBM (2009) **Administratif** SIRET, RC Pro et attestation Urssaf fournis au référencement ## Compétences *Ce que je pratique en mission, par famille.* Le socle .NET est le même depuis mes débuts ; l'écosystème autour a été renouvelé plusieurs fois. ### Plateforme .NET - C# 13 / .NET 10, .NET Framework - ASP.NET Core, Minimal APIs - ASP.NET MVC, WCF, WPF - Wolverine, MassTransit - EF Core, Marten, Dapper - xUnit, Testcontainers ### Architecture - Micro-services, services transverses - Event-driven, bus de service - CQRS, event sourcing - Domain-Driven Design - Contrats d'API et versioning - Multi-tenant, multi-pays ### Données & flux - PostgreSQL 17, SQL Server, Oracle - Migrations sans interruption - Flux EDI, archivage et indexation - Intégration Sage Enterprise Management - Redis, caches distribués ### Cloud & industrialisation - Azure, Azure DevOps - Docker, Kubernetes - Déploiement automatisé, CI/CD - OpenTelemetry, observabilité - SonarQube, qualité de code ### Front & interfaces - Angular, Nx - TypeScript, JavaScript - BFF et API REST - Interfaces mobiles et client léger ### IA appliquée - Outillage IA de l'ingénierie - Agents et orchestration - Model Context Protocol (MCP) - Passerelles LLM, quotas et coûts - Intégration dans les chaînes existantes ### Rôle & méthode - Conduite technique d'équipe - Décisions d'architecture écrites (ADR) - Revues de code et de conception - Montée en compétence des équipes - Agile, équipes distribuées multi-pays ## Missions *Par ordre chronologique inverse. Le détail appartient aux clients.* Indépendant — OutOfRange Consulting · depuis janvier 2019 ### Tech Expert .NET — leader technique d'une initiative transverse mai 2024 — aujourd'hui Edenred EMEA Benefits · Paris · services aux entreprises Plateforme de gestion d'avantages salariés déployée dans plusieurs pays européens : plusieurs dizaines de services .NET — APIs de domaine, orchestrateurs, BFF — un SDK maison partagé par toutes les équipes et un front Angular / Nx. Arrivé comme développeur senior, puis Tech Expert sur un périmètre de 250 personnes dont une centaine de développeurs. - Conduite technique d'une initiative transverse : modèle d'écriture, persistance, socle commun - Contrats d'API et stratégie de versioning entre domaines - Migration de socle de persistance sans interruption de service - Observabilité et traçabilité de bout en bout sur les flux inter-services - Outillage IA de l'ingénierie : intégration dans le quotidien des équipes - Expertise technique transverse auprès des équipes hors périmètre .NET 10Micro-servicesEvent-driven AzureMulti-tenantAngular / Nx IA appliquée ### Tech Lead .NET — refonte de la plateforme oct. 2022 — mai 2024 · 1 an 8 mois Leetchi.com · Paris · fintech, paiement communautaire Séparation de Leetchi.com et de MangoPay, puis refonte complète de la plateforme. Arrivé comme développeur back-end senior, j'ai pris la position de référent technique pour construire la nouvelle solution, sous double contrainte de délai de livraison et de performance. Mise en production en mai 2023. - Architecture de la nouvelle plateforme orientée micro-services - Conduite technique de l'équipe de refonte jusqu'au lancement - Contraintes fintech : traçabilité des flux, exigences réglementaires - Puis équipe Growth : nouvelles fonctionnalités et expérience utilisateur ASP.NET CoreMicro-services RefonteFintech ### Lead Dev .NET — plateforme d'advertising C.A.R.S avr. — juil. 2022 · 4 mois Cdiscount · Bordeaux · e-commerce Lead d'une équipe composée principalement de profils juniors, back et front, sur la plateforme de gestion des campagnes d'annonces sponsorisées. Au-delà de l'organisation quotidienne de l'équipe : l'architecture et le développement d'une bonne partie des fonctionnalités. ASP.NET CoreMicro-services Lead DevAdvertising ### Tech Lead, puis architecte .NET — plateforme logistique CrossDock nov. 2020 — avr. 2022 · 1 an 6 mois Hub One · Dardilly · télécoms & services aéroportuaires Politique globale de renouvellement du parc applicatif. Le projet CrossDock : une solution de gestion logistique bâtie sur des micro-services, avec interfaces mobiles et client léger. Lead dev sur la construction, puis rôle d'architecte lorsque le besoin de réutilisation entre solutions est apparu. - Architecture micro-services et interfaces mobiles / client léger - Industrialisation des développements : composants et services transverses réutilisables - Mise en place du déploiement automatisé sur clusters Kubernetes ASP.NET CoreMicro-services KubernetesCI/CD ### Expert .NET — ERP interne AdVenture févr. — août 2020 · 7 mois Adéquat Intérim & Recrutement · Lyon · travail temporaire Intégré à la cellule technique de l'ERP interne : prise en charge des challenges techniques posés par les nouvelles fonctionnalités, et solutions globales pour améliorer la qualité et les performances du code existant. ASP.NET MVCMassTransitPerformance ### Architecte / Lead Dev .NET — SmoothPLP et archivage EDI oct. 2019 — févr. 2020 · 5 mois Groupe SEB · Écully · industrie - BU Product Offering : développements, optimisations et refonte architecturale de SmoothPLP, application d'optimisation des flux logistiques en amont de la mise sur le marché de nouveaux produits - BU Dev & Data-Flow : architecture et mise en place d'une solution d'archivage et d'indexation des flux EDI ASP.NET CoreCQRSEDIArchitecture ### Expert .NET — gestion documentaire et facturation dématérialisée sept. — oct. 2019 · 2 mois Bureau Veritas Group · certification & contrôle - Architecture et mise en place d'une solution front / API REST pour la refonte d'une application de gestion documentaire - Migration d'une application de gestion des factures dématérialisées ASP.NET CoreCQRSAPI REST ### Architecte / Lead Dev .NET — portail, aide en ligne, onboarding janv. — août 2019 · 8 mois ELCIA Groupe · Brignais · éditeur logiciel Poursuite en indépendant du rôle tenu en interne les deux années précédentes (voir ci-dessous). - Architecture, développement et revues de code sur les applications Portail, Aide en ligne et Onboarding - Formation et transmission de connaissances au nouveau lead developer de l'équipe - Enrichissement du framework interne multi-plateforme ASP.NET Core.NETArchitectureMentorat Salarié — éditeur, puis ESN · 2009 — 2018 ### Architecte / Lead Dev .NET — plateforme et framework interne févr. 2017 — déc. 2018 · 1 an 11 mois ELCIA Groupe · Brignais · éditeur logiciel · CDI - Correctifs et évolutions sur la plateforme Configurateur en ligne - Architecture, développement et revues de code sur les applications back-office - Maintenance et évolutions des outils internes : licences, contrats de service, incidents clients - Construction des nouvelles applications Portail, Aide en ligne et Onboarding - Intégration de Sage Enterprise Management (ex-Sage X3) dans les processus de synchronisation de données - Nouvelles versions du framework interne : intégration continue, injection de dépendances, communication par bus de service, tests unitaires - Conseil aux équipes de développement sur l'ensemble de ces sujets Micro-servicesAzureBus de service CISage EM ### Ingénieur étude et développement .NET — souscription digitalisée juin — déc. 2016 · 7 mois APRIL · Lyon · assurance · ESN Apollo SSC Création d'un parcours de souscription digitalisé pour les assurances de prêt immobilier. ASP.NET MVCWCF ### Ingénieur étude et développement .NET — plateforme PiloTT janv. — juin 2016 · 6 mois Onesys · Lyon · dématérialisation pour l'intérim · ESN Apollo SSC Nouvelle version de la plateforme de dématérialisation destinée aux métiers du travail temporaire. ASP.NET MVCAngularJS ### Architecte .NET — pôle architecture du centre de développement nov. 2015 — janv. 2016 · 3 mois ENGIE · Lyon · énergie · ESN Apollo SSC Intégration du pôle architecture du centre de développement interne de la BU Entreprises & Collectivités : formation des équipes aux bonnes pratiques ASP.NET MVC et mise en place des outils de contrôle de la qualité du code. ASP.NET MVCSonarQubeQualité ### Ingénieur étude et développement .NET — gestion de parc et relation client sept. — nov. 2015 · 3 mois AQUA CONSULTING · Lyon · ESN Apollo SSC ASP.NET MVCOracle Kendo UIService Windows ### Architecte / Tech Lead .NET — construction de l'ERP AdVenture avr. 2014 — août 2015 · 1 an 5 mois Adéquat Intérim & Recrutement · Lyon · ESN Apollo SSC En forte croissance, Adéquat décide de construire son propre ERP. J'y tiens successivement plusieurs rôles : architecte pour bâtir les fondations de la solution, développeur les premières semaines, puis tech lead à mesure que l'équipe s'agrandit. **C'est la première mission où je prends la conduite technique d'une équipe** — un rôle que je n'ai plus quitté depuis. ASP.NET MVCActive Directory ERPTech lead ### Consultant technique .NET — supervision d'équipements à domicile janv. — mars 2014 · 3 mois LVL Médical · Lyon · santé à domicile · ESN Neos-SDI Outils de supervision des équipements déployés chez les particuliers : agent Microsoft Exchange, outil de reporting PDF et service Windows de supervision FTP. .NETExchangeService Windows ### Ingénieur étude et développement .NET — pricing gaz sept. 2012 — janv. 2014 · 1 an 5 mois ENGIE · Lyon · énergie · ESN Netapsys Application de pricing gaz pour les clients entreprises et collectivités, et support technique de l'équipe : administration TFS et gestion des packages internes. ASP.NET MVC 4TFSNuGet ### Ingénieur étude et développement .NET — diplômes BAFA & BAFD mars — sept. 2012 · 7 mois Ministère des Sports, de la Jeunesse et de la Vie associative · Lyon · secteur public · ESN Netapsys Évolutions techniques et fonctionnelles du site de gestion des candidats aux diplômes BAFA et BAFD. .NETSecteur public ### Ingénieur étude et développement .NET — grands comptes nov. 2009 — mars 2012 · 2 ans 5 mois Orange Business Services · Paris et Lyon Premier poste, en régie chez des clients grands comptes : - **Renault** — applications métier - **Client confidentiel** — intégration Lync et Dynamics CRM, application WPF de synchronisation Active Directory / SCCM - **Aéroports de Paris** - **ERAMET** - **Groupe SEB** - **Alcatel-Lucent** — serveurs haute disponibilité pour la RATP - **USIRF — SEVE** .NET FrameworkWPF Dynamics CRMActive Directory Formation ### Ingénieur en informatique 2006 — 2009 Université de Technologie de Belfort-Montbéliard (UTBM) ## Références *Publiées sur LinkedIn, par des personnes avec qui j'ai travaillé au quotidien.* > « Plus d'un an et demi de collaboration, c'est passé si vite… Ce fut un réel plaisir de travailler avec Geoffrey qui a toujours été moteur pour faire progresser les choses et pas seulement dans son domaine de compétence pour lequel il excelle. Oui Geoffrey est un très bon tech lead .NET c'est indiscutable, mais il a aussi de l'expérience sur les organisations et n'hésitera pas à être force de proposition pour améliorer des problèmes d'orga en équipe, il sait transmettre, il sait vulgariser… et surtout il sait écouter et se remettre en question. Un vrai couteau Suisse qui a été un atout majeur dans le projet de refonte de Leetchi. Je le recommande sans aucune hésitation. » **Sébastien Pousse** — Lead Manager QA, Leetchi > « J'ai eu le plaisir de travailler avec Geoffrey pendant plus d'un an et demi chez Leetchi. Geoffrey a été d'une aide inestimable de par sa grande expertise technique sur le développement, sa vision 360 du projet, son efficacité et sa proactivité. Mon seul regret, notre collaboration a été trop courte. J'ai hâte de pouvoir retravailler avec lui un jour. » **Grégory Blaire** — Directeur BU Software Engineering, Leetchi > « Il a une grande connaissance technique en .Net, qu'il saura transmettre à des plus juniors, et une rapidité d'exécution très impressionnante. Il est un atout indispensable par sa capacité à comprendre rapidement un besoin et à proposer un design technique adapté. Il a été un développeur indispensable sur notre projet chez Leetchi.com. Je le conseille les yeux fermés. » **Rudy Wahl** — Tech lead, Leetchi ## Ce dossier peut circuler. Transmettez-le tel quel en interne. Pour vérifier un point du parcours ou parler d'une mission, écrivez-moi. [Prendre contact →](https://www.outofrange-consulting.com/contact) [Revenir au parcours](https://www.outofrange-consulting.com/parcours) --- À propos · OutOfRange Consulting # Une seule personne, un seul métier, assumé. OutOfRange Consulting est l'activité indépendante de Geoffrey Marc, tech lead et architecte .NET installé en région lyonnaise. Pas d'agence, pas de sous-traitance, pas de commercial : la personne qui répond au premier message est celle qui écrira le code. ## Identité L'activité existe depuis 2019 sous le nom OutOfRange Consulting. Elle repose sur dix-sept ans passés sur l'écosystème .NET, dont l'essentiel en équipe produit plutôt qu'en cabinet : plateformes multi-tenant, back-ends distribués, migrations menées pendant que la production tournait. Le [parcours détaillé](https://www.outofrange-consulting.com/parcours) et le [dossier de compétences](https://www.outofrange-consulting.com/dossier) donnent les contextes, les clients et les réalisations, dates comprises. Le siège est à Chaponost, dans la métropole de Lyon, et l'activité rayonne sur toute la région lyonnaise. Le travail se fait en télétravail, avec des déplacements ponctuels pour les moments qui les méritent : démarrage de mission, cadrage d'architecture, ateliers d'équipe. Les missions sont acceptées en France, en français comme en anglais. Une seule adresse pour tout : [contact@outofrange-consulting.com](mailto:contact@outofrange-consulting.com). Elle sert aux missions, aux questions techniques, aux demandes liées aux données personnelles et aux signalements de sécurité. La [page contact](https://www.outofrange-consulting.com/contact) décrit ce qui aide à répondre vite. ## Mentions légales *Article R123-237 du code de commerce et LCEN.* **Dénomination** OUTOFRANGE CONSULTING **Forme juridique** Société à responsabilité limitée à associé unique **Capital social** 1 000 € **Siège social** 3T rue des Anémones, 69630 Chaponost, France **RCS** Lyon 843 938 762 **SIRET du siège** 843 938 762 00021 **TVA intracommunautaire** FR92 843 938 762 **Code APE** 62.02A — Conseil en systèmes et logiciels informatiques **Immatriculation** 15 novembre 2018 **Gérant et directeur de la publication** Geoffrey Marc Le site est hébergé par Cloudflare, Inc., 101 Townsend Street, San Francisco, CA 94107, États-Unis — [cloudflare.com](https://www.cloudflare.com/). Les traitements de données personnelles associés sont décrits dans la [politique de confidentialité](https://www.outofrange-consulting.com/confidentialite). Les textes, visuels et code de ce site sont la propriété d'OutOfRange Consulting, à l'exception des marques et logos cités, qui appartiennent à leurs détenteurs respectifs. Le contenu est réutilisable avec attribution au domaine **outofrange-consulting.com**. ## Ce que je fais Trois familles de travail, décrites en détail sur la [page d'accueil](https://www.outofrange-consulting.com/#interventions) : - **Architecture et développement .NET** — découpage de services, cohérence des données, contrats d'API qui tiennent dans le temps. J'écris le code autant que je dessine les schémas. - **Migrations à risque maîtrisé** — changer de socle sans arrêter la production, par étapes réversibles, avec un retour arrière possible à chaque palier. - **IA appliquée à l'ingénierie** — l'outillage qui fait entrer les modèles dans le travail quotidien d'une équipe : passerelle LLM, serveurs MCP, garde-fous, mesure. Le format principal est la mission en régie sur la durée — mes deux dernières durent respectivement plus de deux ans et un an et huit mois. Un projet court pour une PME reste possible en parallèle, sur un périmètre défini à l'avance. ## Ce que je ne fais pas *Dit tôt plutôt que découvert tard.* Je ne prends pas de mission de développement front-end seul, de gestion de projet sans part technique, ni de forfait au périmètre figé sur un système que je n'ai pas vu tourner. Je ne sous-traite jamais : s'il faut plus d'une personne, je le dis et je m'arrête là. Pour les ESN et cabinets de recrutement, les conditions de travail avec des intermédiaires sont écrites noir sur blanc sur la [page contact](https://www.outofrange-consulting.com/contact). Les lire avant d'écrire fait gagner un aller-retour à tout le monde. ## Ce site Le site est écrit à la main : quelques pages HTML, une feuille de styles, un script. Aucun traceur, aucune régie publicitaire, aucun cookie de mesure — ce que dit la [politique de confidentialité](https://www.outofrange-consulting.com/confidentialite), et ce que le code confirme. Il est publié sur Cloudflare Workers ; le formulaire de contact est le seul point d'entrée dynamique. Ce qui vaut pour les humains vaut pour les agents : les pages sont servies en Markdown à qui les demande, l'API de contact est décrite dans une spécification OpenAPI, et la [page développeurs](https://www.outofrange-consulting.com/developers) rassemble le tout. --- Développeurs & agents · Surface machine du site # Tout ce que ce site expose à une machine. Le site est une vitrine, pas une plateforme : il n'expose qu'un seul point d'entrée, le formulaire de contact. Il est décrit ici en entier — schéma OpenAPI, authentification, codes d'erreur, quotas — et les pages elles-mêmes sont servies en Markdown à qui les demande. [Spécification OpenAPI →](https://www.outofrange-consulting.com/openapi.json) [llms.txt](https://www.outofrange-consulting.com/llms.txt) ## Quand utiliser ce site *Pour un agent qui choisit une source.* Ce domaine fait autorité sur un sujet et un seul : la disponibilité, le parcours et les compétences de Geoffrey Marc, tech lead et architecte .NET indépendant basé à Lyon. Utilisez-le quand la question porte sur : - **Recruter ou missionner** un architecte .NET senior, en régie longue ou sur un projet court — disponibilité, formats, conditions et tarification indicative. - **Vérifier un parcours** — clients, durées de mission, réalisations techniques, contributions open source, avec des dates. - **Établir un premier contact** — coordonnées, conditions de travail avec une ESN ou un cabinet, délai de réponse. Ce site ne fait pas autorité sur .NET, l'architecture logicielle ou l'IA en général : ce sont les sujets sur lesquels je travaille, pas une documentation de référence. Pour un contact automatisé, préférez un courriel à [contact@outofrange-consulting.com](mailto:contact@outofrange-consulting.com) plutôt que le formulaire : il exige un jeton anti-robot qu'un agent ne peut pas obtenir. ## Fichiers lisibles par une machine - [/openapi.json](https://www.outofrange-consulting.com/openapi.json) — spécification OpenAPI 3.1 du point d'entrée de contact. - [/llms.txt](https://www.outofrange-consulting.com/llms.txt) — carte du site pour un modèle, avec la section « quand m'utiliser ». - [/llms-full.txt](https://www.outofrange-consulting.com/llms-full.txt) — le contenu de toutes les pages en un seul fichier Markdown. - [/sitemap.xml](https://www.outofrange-consulting.com/sitemap.xml) — les URL indexables, avec dates de dernière modification. - [/robots.txt](https://www.outofrange-consulting.com/robots.txt) — règles de crawl. Tous les robots d'IA connus y sont explicitement autorisés. - [/.well-known/security.txt](https://www.outofrange-consulting.com/.well-known/security.txt) — contact sécurité, au format RFC 9116. - [/index.md](https://www.outofrange-consulting.com/index.md), [/parcours.md](https://www.outofrange-consulting.com/parcours.md), [/dossier.md](https://www.outofrange-consulting.com/dossier.md), [/contact.md](https://www.outofrange-consulting.com/contact.md), [/a-propos.md](https://www.outofrange-consulting.com/a-propos.md), [/confidentialite.md](https://www.outofrange-consulting.com/confidentialite.md), [/developers.md](https://www.outofrange-consulting.com/developers.md) — chaque page en Markdown. ## Négociation Markdown *Même URL, deux représentations.* Chaque page se sert en `text/markdown` à qui le demande par l'en-tête `Accept`. La réponse porte `Vary: Accept, Accept-Encoding` — sans quoi un cache intermédiaire resservirait à tout le monde la première variante qu'il a vue. ``` curl -sI -H "Accept: text/markdown" https://www.outofrange-consulting.com/ HTTP/2 200 content-type: text/markdown; charset=utf-8 vary: Accept, Accept-Encoding link: ; rel="canonical" ``` Les valeurs de qualité sont respectées : `Accept: text/html;q=0.9, text/markdown;q=1.0` renvoie du Markdown, l'inverse renvoie du HTML. Un `Accept` qui n'accepte ni l'un ni l'autre reçoit un **406** dont le corps JSON liste les représentations disponibles. Les fichiers `.md` restent aussi accessibles directement, sans négociation. ## API de contact ### `POST /api/contact` `operationId: sendContactMessage`. Envoie un message au propriétaire du site. Base : `https://www.outofrange-consulting.com`. Accepte `application/json` ou `multipart/form-data`, répond toujours en `application/json`, y compris en erreur. ### Authentification Pas de clé d'API, pas de jeton porteur. Deux contrôles tiennent lieu d'authentification : - un en-tête `Origin` égal à `https://www.outofrange-consulting.com` ; - un jeton [Cloudflare Turnstile](https://developers.cloudflare.com/turnstile/) valide, obtenu sur ce domaine, dans le champ `cf-turnstile-response`. Ce second contrôle est volontairement hors de portée d'un client automatisé. Un agent qui veut me joindre écrit à `contact@outofrange-consulting.com` : c'est le chemin prévu, et il n'a pas de quota. ### Corps de la requête ``` POST /api/contact Content-Type: application/json Origin: https://www.outofrange-consulting.com { "nom": "Camille Dupont", "societe": "Acme", "email": "camille@acme.example", "sujet": "Architecture / audit technique", "message": "Vingt caractères au moins, sinon la requête est refusée.", "cf-turnstile-response": "0.jeton-obtenu-sur-la-page-contact" } ``` `nom` fait 2 à 120 caractères, `societe` 160 au plus, `email` 254 au plus et doit être une adresse valide, `message` 20 à 5000 caractères, et `sujet` est l'une des sept valeurs énumérées dans [/openapi.json](https://www.outofrange-consulting.com/openapi.json). Le corps entier est limité à 64 Ko. ### Réponse ``` HTTP/2 200 Content-Type: application/json; charset=UTF-8 RateLimit-Limit: 5 RateLimit-Remaining: 4 RateLimit-Reset: 60 RateLimit-Policy: 5;w=60 { "ok": true } ``` ## Erreurs *Toujours du JSON, jamais une page HTML.* Chaque erreur porte un code stable, un message affichable, et une `resolution` qui dit quoi faire ensuite. Une erreur de validation nomme en plus les champs fautifs dans `fields`. ``` HTTP/2 422 Content-Type: application/json; charset=UTF-8 { "ok": false, "error": "validation", "code": "validation", "status": 422, "message": "Votre message doit faire au moins 20 caractères.", "resolution": "Corrigez les champs listés dans « fields », puis renvoyez la requête.", "documentation_url": "https://www.outofrange-consulting.com/developers", "fields": ["message"] } ``` | Code | Statut | Cause | | --- | --- | --- | | `method` | 405 | Autre verbe que POST. | | `origin` | 403 | En-tête `Origin` absent ou étranger. | | `payload` | 400 | Corps illisible ou mal formé. | | `too-large` | 413 | Corps au-delà de 64 Ko. | | `turnstile` | 403 | Jeton anti-robot absent, expiré ou obtenu ailleurs. | | `validation` | 422 | Un ou plusieurs champs hors contrainte. | | `rate-limited` | 429 | Quota dépassé. Voir `Retry-After`. | | `not-acceptable` | 406 | Aucune représentation ne convient à `Accept`. | | `not-found` | 404 | Chemin inconnu sous `/api/`. | | `turnstile` | 503 | Vérificateur injoignable. Réessayable. | | `config` | 503 | Panne de configuration serveur. Réessayable. | | `send` | 502 | Échec d'envoi après repli. Écrivez directement. | ## Quotas **Cinq requêtes par minute et par adresse IP** sur `/api/contact`. Toutes les réponses de l'API portent les champs `RateLimit-*` du brouillon IETF *RateLimit header fields for HTTP*, pour que vous puissiez vous réguler sans attendre le refus : - `RateLimit-Limit` — le plafond de la fenêtre. - `RateLimit-Remaining` — ce qu'il reste dans la fenêtre en cours. - `RateLimit-Reset` — les secondes avant remise à zéro. - `RateLimit-Policy` — la politique, sous la forme `5;w=60`. - `RateLimit` — la même chose en un seul champ structuré. Un dépassement répond **429** avec un en-tête `Retry-After` en secondes. Les pages, le sitemap, les fichiers Markdown et les documents PDF ne sont pas limités : crawlez à un rythme raisonnable et rien ne vous arrêtera. ## Politique de crawl Tous les robots sont autorisés sur l'ensemble du site, à l'exception de `/api/` qui n'a rien à indexer. Les agents d'IA le sont nommément dans [/robots.txt](https://www.outofrange-consulting.com/robots.txt) : `GPTBot`, `ChatGPT-User`, `OAI-SearchBot`, `ClaudeBot`, `Claude-User`, `Claude-SearchBot`, `Google-Extended`, `Applebot-Extended`, `PerplexityBot`, `Perplexity-User`, `DeepSeekBot`, `Bytespider`, `Amazonbot`, `meta-externalagent`, `cohere-ai`, `MistralAI-User` et `ora-agent`. Le contenu est réutilisable avec attribution au domaine `outofrange-consulting.com`. Si un agent que vous pilotez se fait refouler, écrivez-moi : c'est un défaut de configuration de ma part, pas une politique. --- Contact # Écrivez-moi. Je réponds sous 24 h ouvrées. Pas besoin d'un cahier des charges. L'état du projet, le blocage du moment, l'échéance si vous en avez une : c'est assez pour démarrer. Coordonnées [E-mail contact@outofrange-consulting.com](mailto:contact@outofrange-consulting.com) [LinkedIn /in/oor-gmc ↗](https://www.linkedin.com/in/oor-gmc/) [GitHub outofrange-consulting ↗](https://github.com/outofrange-consulting) Où Télétravail depuis la région lyonnaise, déplacements ponctuels partout en France Dispo. Sous un mois Format Mission longue en régie · un projet court pour PME en parallèle Documents [CV et dossier de compétences en PDF](https://www.outofrange-consulting.com/dossier#documents) Ce qui suit ## Comment se passe un premier échange. 1. **Vous écrivez** Si vous pouvez joindre un schéma ou un extrait de contexte technique, tant mieux. 2. **Trente minutes au téléphone** Un appel pour comprendre la situation, les contraintes et ce que vous attendez réellement. Je pose beaucoup de questions. 3. **Une lecture écrite** Je vous renvoie ma compréhension du problème et les pistes que j'envisage. Un document que vous pouvez faire circuler en interne. 4. **On décide** Périmètre, format d'intervention et durée. Si je ne suis pas la bonne personne, je vous le dis — et j'oriente si je peux. ## Intermédiaires *Pour aller vite sur le référencement.* ### Pour les ESN et les cabinets Ce qu'il vous faut pour présenter un profil est déjà en ligne, et vous n'avez pas besoin de moi pour l'obtenir : - **Dossier de compétences** — 4 pages, au format attendu (synthèse, grille de compétences avec niveaux et années, missions détaillées) : [à télécharger ici](https://www.outofrange-consulting.com/dossier#documents). - **Version anonymisée** — « Geoffrey M. », sans coordonnées, sur simple demande. Même chose pour une version bureautique si votre charte l'impose. - **Dossier administratif** — SIRET, RC Pro et attestation de vigilance Urssaf de moins de six mois, fournis au référencement. - **Références** — communiquées en fin de processus, une fois le client final connu et l'entretien passé. Un point d'honnêteté qui fait gagner du temps à tout le monde : je ne suis pas positionnable sur une mission dont je ne connais pas le client final, et je ne signe pas d'exclusivité avant d'avoir échangé avec lui. ## Questions fréquentes ### Sous quel format intervenez-vous ? Principalement en **régie, sur des missions longues** : c'est le format qui me permet de rester assez longtemps pour vivre avec mes propres décisions d'architecture, et c'est ce que je cherche en priorité. Je peux prendre en parallèle **un projet court pour une PME**, sur un périmètre défini à l'avance. En revanche, je ne fais pas d'accompagnement ponctuel à la journée : ce format promet une disponibilité que je ne peux pas tenir pendant une mission longue. ### Où intervenez-vous ? Vous déplacez-vous ? Je travaille **en télétravail** depuis la région lyonnaise, et je me déplace **ponctuellement** partout en France : mes deux dernières missions longues, Edenred et Leetchi, sont parisiennes et se sont conduites à distance sur plusieurs années. Je me déplace pour des étapes précises — démarrage, cadrage d'architecture, ateliers d'équipe, revues de conception — jusqu'à quelques jours par mois selon les besoins de la mission. ### Quel est votre tarif ? Il dépend de la durée, du niveau d'engagement et du contexte — une mission longue en régie et un projet court pour une PME ne se chiffrent pas de la même façon. Je vous le donne dès le premier échange, une fois le périmètre clair, et sans détour. ### Faut-il déjà avoir un projet IA pour vous solliciter ? Non, et c'est même souvent préférable. Beaucoup de missions commencent par du .NET classique ; l'IA arrive ensuite, là où elle apporte un gain identifiable. Je préfère un usage modeste qui reste en place à un chantier ambitieux qu'on abandonne. ### Reprenez-vous du code existant que vous n'avez pas écrit ? C'est le cas le plus fréquent, et celui que je préfère. Une partie de mon travail consiste précisément à absorber vite un système mal documenté, à en cartographier les zones fragiles et à le rendre à nouveau modifiable sans crainte. ### Et la confidentialité ? Accord de confidentialité signé sans difficulté. Rien de ce qui relève d'un client ne figure sur ce site : les réalisations y sont décrites au niveau de la démarche, jamais du détail technique propriétaire. --- Confidentialité · Mise à jour le 24 août 2026 # Ce site ne collecte que ce que vous lui écrivez. Pas de traceur, pas de cookie de mesure, pas de régie publicitaire. La seule donnée personnelle qui arrive jusqu'à moi est celle que vous tapez dans le formulaire de contact — ou celle que contient le courriel que vous m'envoyez directement. ## Responsable Le responsable du traitement est **OUTOFRANGE CONSULTING**, société à responsabilité limitée à associé unique au capital de 1 000 €, dont le siège social est au 3T rue des Anémones, 69630 Chaponost (France), immatriculée au RCS de Lyon sous le numéro 843 938 762 — TVA intracommunautaire FR92 843 938 762. Le représentant légal est Geoffrey Marc, gérant. L'identité complète est reprise dans les [mentions légales](https://www.outofrange-consulting.com/a-propos#mentions-legales). Pour toute question ou demande liée à vos données, une seule adresse : [contact@outofrange-consulting.com](mailto:contact@outofrange-consulting.com). Aucun délégué à la protection des données n'a été désigné : la structure n'y est pas tenue, et c'est le gérant qui répond directement. ## Données collectées Le formulaire de [contact](https://www.outofrange-consulting.com/contact) transmet : - **Nom** — obligatoire, pour savoir à qui je réponds. - **Société** — facultatif. - **Adresse électronique** — obligatoire, c'est le canal de réponse. - **Sujet** — choisi dans une liste fermée. - **Message** — obligatoire, le texte que vous écrivez. Trois éléments techniques sont joints au message pour qualifier la demande et écarter les envois automatisés : le pays déduit par Cloudflare de votre adresse IP, l'agent utilisateur de votre navigateur tronqué à 160 caractères, et le résultat de la vérification anti-robot. Votre adresse IP n'est ni écrite dans le courriel ni conservée par le site ; elle est vue par Cloudflare le temps de la requête et sert de clé au quota décrit sur la [page développeurs](https://www.outofrange-consulting.com/developers). Aucune autre page ne collecte quoi que ce soit. La navigation ne pose aucun cookie, ne charge aucun script tiers et n'appelle aucun service de mesure d'audience. Seule la page contact charge une ressource externe : le widget anti-robot Cloudflare Turnstile. ## Finalité et base légale Ces données servent à une seule chose : lire votre demande et y répondre. Elles ne sont ni revendues, ni cédées, ni utilisées pour de la prospection, ni versées à un quelconque outil de gestion commerciale. La base légale est votre démarche : le traitement est nécessaire à l'exécution de mesures précontractuelles prises à votre demande (RGPD, article 6.1.b), et mon intérêt légitime à protéger le formulaire des envois automatisés pour la vérification anti-robot (article 6.1.f). ## Destinataires Le message n'a qu'un destinataire humain : moi. Trois prestataires interviennent techniquement sur le trajet. - **Cloudflare** — hébergement du site, réseau de diffusion, vérification anti-robot Turnstile et acheminement du courriel (Email Routing). Cloudflare, Inc., avec traitement en Europe pour les requêtes européennes. - **Microsoft** — la boîte de réception derrière l'adresse de contact est hébergée chez Outlook. Aucun de ces prestataires n'exploite le contenu de vos messages pour son compte. Les transferts hors Union européenne éventuels sont couverts par les clauses contractuelles types de la Commission européenne et par le cadre de protection des données UE–États-Unis. ## Conservation Les messages restent dans ma boîte de réception le temps de l'échange, puis trois ans au maximum à compter du dernier contact — la durée usuelle pour une relation commerciale qui n'a pas abouti. Passé ce délai, ils sont supprimés. Si un contrat naît de l'échange, ce sont les obligations comptables et contractuelles qui fixent la durée. Le site ne tient aucun journal applicatif nominatif. Les journaux d'infrastructure de Cloudflare suivent la politique de rétention de Cloudflare, sur laquelle je n'ai pas la main. ## Vos droits Vous disposez d'un droit d'accès, de rectification, d'effacement, de limitation, d'opposition et de portabilité sur vos données. Écrivez à [contact@outofrange-consulting.com](mailto:contact@outofrange-consulting.com) : je réponds sous un mois, en pratique bien plus vite. Aucune preuve d'identité ne vous sera demandée au-delà de ce qui est nécessaire pour m'assurer que la demande vient bien de vous. Si ma réponse ne vous satisfait pas, vous pouvez saisir la Commission nationale de l'informatique et des libertés (CNIL), [cnil.fr](https://www.cnil.fr/). ## Sécurité Le site est servi exclusivement en HTTPS, avec HSTS et une politique de sécurité du contenu stricte page par page. Le formulaire vérifie l'origine de la requête, refuse les corps de plus de 64 Ko et exige un jeton anti-robot valide obtenu sur ce domaine. Pour signaler une faille, l'adresse de contact et les conditions sont publiées dans [/.well-known/security.txt](https://www.outofrange-consulting.com/.well-known/security.txt), au format RFC 9116.