Amine BenmansourArchitecte technique et applicatifTechnical and application architect

Indépendant · 14 ans · banque, paiement, santéIndependent · 14 years · banking, payments, healthcare

Architecture applicative et flux Kafka, pour les plateformes bancaires et de paiement.Application architecture and Kafka flows, for banking and payment platforms.

Je conçois des systèmes qui tiennent en production : des microservices qui échangent par événements avec Kafka, branchés sur l’existant, mainframe compris. J’ai aussi travaillé dans la santé, le transport et la finance d’entreprise.I design systems that hold up in production: microservices exchanging events through Kafka, connected to what already exists, mainframe included. I have also worked in healthcare, transport and business finance.

Architecture applicative et flux portés sur chaque mission, sous des intitulés de développeur, lead dev ou tech lead.Application architecture and integration flows owned on every engagement, under developer, lead developer or tech lead titles.

Télécharger mon CV (PDF, 2 pages)Download my CV (PDF, 2 pages)

Amine Benmansour
  • 14ansyrsdu développement à l’architecturefrom development to architecture
  • 6banquesbanksde la banque privée à la néobanquefrom private banking to a neobank
  • 4secteurssectorsbanque, santé, transport, finance d’entreprisebanking, healthcare, transport, business finance

Systèmes sur lesquels j’ai travailléSystems I have worked on

  • LCL
  • BforBank
  • Société Générale
  • BPCE-IT
  • Bpifrance
  • Natixis
  • RATP
  • Liam Medical

Ce que je fais pour vos équipesWhat I do for your teams

Un système se tient en trois strates. Selon votre besoin, j’interviens sur l’une ou sur les trois.A system holds together in three layers. Depending on your need, I work on one of them or on all three.

Architecture applicativeApplication architecture

Des services clairs, qui évoluent sans tout casser.Clear services that can change without breaking everything.

Architecture événementielleEvent-driven architecture

L’information circule en temps réel, sans dépendances entre services.Information moves in real time, with no dependencies between services.

Technique et intégrationTechnical architecture and integration

Tout tourne en production, branché sur l’existant.Everything runs in production, connected to what already exists.

Concrètement : architecture hexagonale, DDD, microservices, contrats d’API, montées de version (Spring Boot 2 vers 3, Java 21, GraalVM).In practice: hexagonal architecture, DDD, microservices, API contracts, version upgrades (Spring Boot 2 to 3, Java 21, GraalVM).

Concrètement : Kafka (Confluent, schema registry, contrats Avro), RabbitMQ, IBM MQ, Event Sourcing et CQRS, traitements idempotents, relances, reprise après panne.In practice: Kafka (Confluent, schema registry, Avro contracts), RabbitMQ, IBM MQ, Event Sourcing and CQRS, idempotent processing, retries, crash recovery.

Concrètement : Kubernetes (GKE, OpenShift), GCP, AWS, Azure, Datadog, Dynatrace ; intégration d’un core banking, d’un processeur carte, d’un mainframe, reprise de données d’un ancien logiciel.In practice: Kubernetes (GKE, OpenShift), GCP, AWS, Azure, Datadog, Dynatrace; integration of a core banking system, a card processor, a mainframe, data migration from legacy software.

Six décisions d’architecture, dans leur contexteSix architecture decisions, in context

La situation, la contrainte, le choix retenu et le rôle que j’avais. C’est ce qui vous dira le mieux comment je travaille.The situation, the constraint, the choice made and the role I held. This shows best how I work.

La situationThe situationLe choixThe choiceOù, et mon rôleWhere, and my role
Le réseau de cartes impose un délai de réponse.The card network imposes a response time.Appel synchrone quand la réponse est attendue, Kafka pour le reste.Synchronous calls where an answer is awaited, Kafka for the rest.BforBanklead devlead developer
Le client confirme par SMS une opération jugée suspecte : carte, virement, chèque.The customer confirms a suspicious transaction by text message: card, transfer, cheque.Flux Kafka à contrats Avro, échanges avec le mainframe, mécanisme de relance.Kafka flows with Avro contracts, mainframe exchanges, a retry mechanism.LCLingénieur senior, squad fraudesenior engineer, fraud squad
Un appel externe ne doit jamais être exécuté deux fois, par exemple l’opposition d’une carte.An external call must never run twice, for example blocking a card.Relances Kafka, file de rejet rejouable, idempotence de chaque appel externe.Kafka retries, replayable dead-letter queue, idempotency of every external call.LCLingénieur senior, squad fraudesenior engineer, fraud squad
Un portail pilote des ressources chez plusieurs fournisseurs de cloud.A portal drives resources across several cloud providers.Event Sourcing, CQRS et une machine à états.Event Sourcing, CQRS and a state machine.BPCE-ITtech lead, aux côtés de l’architectetech lead, alongside the architect
Une banque privée doit noter le risque de ses clients pour le régulateur.A private bank must score its clients’ risk for the regulator.Architecture hexagonale, pour isoler les règles métier.Hexagonal architecture, to isolate the business rules.Natixisdéveloppeur et team leaddeveloper and team lead
Les données patient ne doivent pas quitter le cabinet médical.Patient data must not leave the medical practice.Assistance par IA exécutée en local, sans fournisseur externe.AI assistance running locally, with no outside provider.Liam Medicalarchitecte et développeur uniquearchitect and sole developer

Quelques réalisationsSelected work

Par confidentialité, les projets clients sont décrits sans données internes.For confidentiality, client projects are described without internal data.

BforBank

2023 – 2025
lead dev
2023 – 2025
lead developer

Plateforme cartes et tokenisation Apple Pay et Google PayCard platform and Apple Pay / Google Pay tokenisation

Microservices du cycle de vie de la carte : émission, activation, blocage, code PIN. Tokenisation Apple Pay et Google Pay, dont j’ai amélioré les performances. Intégration du processeur Monext et du core banking Temenos T24 par contrats d’API ; diagnostic du contrôle de solde entre BforBank, Monext et VISA.Card lifecycle microservices: issuing, activation, blocking, PIN. Apple Pay and Google Pay tokenisation, whose performance I improved. Integration with the Monext processor and the Temenos T24 core banking system through API contracts; diagnosis of the balance check between BforBank, Monext and VISA.

La décision clé : l’arbitrage entre appels synchrones et Kafka pour tenir les délais imposés par VISA.The key decision: trading off synchronous calls against Kafka to meet the response times VISA imposes.

Migration Spring Boot 2 vers 3 et GraalVM ; incident de latence en production résolu entre cloud privé et site.Spring Boot 2 to 3 and GraalVM migration; a production latency incident between private cloud and site resolved.

Java 21, Spring Boot 3, Kafka Confluent et schema registry, GCP / GKE et on-prem, ArgoCD, PostgreSQL, Datadog

Synchrone vers le processeur carte, Kafka vers le reste App clientClient appdemanderequest Service cartesCard servicechoisit la voiepicks the path Monextprocesseur cartecard processor synchrone, délai VISAsynchronous, VISA deadline Kafka T24 notificationsnotifications asynchroneasynchronous
La décision clé, en un schéma : la réponse attendue par VISA passe en synchrone, le reste par Kafka.The key decision in one picture: what VISA waits for goes synchronous, the rest through Kafka.

BPCE-IT

2019 – 2021
tech lead

Portail de cloud privé du groupe BPCEBPCE group private cloud portal

Aux côtés de l’architecte : provisionnement automatisé chez plusieurs fournisseurs dont AWS et Azure, contrôle d’accès par attributs, refacturation des coûts. Event Sourcing, CQRS et machine à états du portail.Alongside the architect: automated provisioning across several providers including AWS and Azure, attribute-based access control, cost chargeback. Event Sourcing, CQRS and the portal’s state machine.

Java, Spring Boot, Event Sourcing / CQRS, RabbitMQ, MongoDB, PostgreSQL

Deux produits personnels, hors banqueTwo personal products, beyond banking

Liam Medical : logiciel de cabinet médicalLiam Medical: medical practice software

2025 – 2026, conçu seul, en test dans un cabinet2025 – 2026, designed alone, piloting in a practice

Patients, consultations et ordonnances. 26 ans d’historique repris depuis l’ancien logiciel. Assistance par IA exécutée en local : aucune donnée patient ne sort du cabinet.Patients, consultations and prescriptions. 26 years of history migrated from the previous software. AI assistance runs locally: no patient data leaves the practice.

IAMINE Compta : une comptabilité branchée sur une API bancaireIAMINE Compta: accounting on top of a banking API

2026, produit personnel2026, own product

Grand livre en partie double sur PostgreSQL, écritures chaînées et immuables, ingestion bancaire dans Kafka avec une empreinte d’idempotence par transaction. Un exercice complet rejoué : compte de résultat identique au centime à celui du cabinet comptable.Double-entry ledger on PostgreSQL, hash-chained immutable entries, bank ingestion into Kafka with one idempotency hash per transaction. A full financial year replayed: income statement identical to the cent to the accounting firm’s.

L’architecture événementielle, expliquée en une minuteEvent-driven architecture, explained in one minute

Voici ce qui se passe quand un paiement est accepté.Here is what happens when a payment is accepted.

Flux d’événements via Kafka Le service de paiement publie trois événements dans un topic Kafka ; les services fraude, comptabilité et notification les lisent chacun à leur rythme. Service paiementPayment service publie un événementpublishes an event Kafka topic « paiements »“payments” topic FraudeFraud 3 / 3 ComptabilitéAccounting 3 / 3 Notification clientCustomer notification 3 / 3

Chaque service lit les événements à son rythme.Each service reads the events at its own pace.

  1. Le service de paiement publie un événement, sans savoir qui l’écoute.The payment service publishes an event without knowing who is listening.
  2. Kafka conserve les événements dans l’ordre. Chaque service les lit quand il est prêt.Kafka keeps the events in order. Each service reads them when it is ready.
  3. On ajoute un service sans toucher aux autres. S’il tombe en panne, il reprend là où il s’était arrêté.You can add a service without touching the others. If it goes down, it resumes where it stopped.
Et quand ne pas l’utiliser ?And when not to use it?

Quand un réseau impose un délai de réponse, comme VISA pour les opérations carte, un appel direct reste souvent le meilleur choix.When a network imposes a response time, as VISA does for card operations, a direct call is often still the best choice.

Le paiement : cartes, wallets, fraude et contestationPayments: cards, wallets, fraud and disputes

Mon expérience du paiement vient de la carte et de la fraude, là où j’ai le plus livré. Les flux de virement, je les aborde en audit.My payments experience comes from cards and fraud, where I have delivered the most. Transfer flows I approach as an auditor.

  • Cartes et tokenisationCards and tokenisation livrédeliveredÉmission, activation, blocage, code PIN ; performances de la tokenisation Apple Pay et Google Pay ; contrôle de solde entre banque, processeur et VISA. Chez BforBank.Issuing, activation, blocking, PIN; Apple Pay and Google Pay tokenisation performance; balance check between bank, processor and VISA. At BforBank.
  • Fraude et contestationFraud and disputes livrédeliveredSMS interactif sur carte, virement et chèque, puis contestation de fraude par le client, en mission chez LCL.Interactive SMS on card, transfer and cheque, then customer fraud disputes, on assignment at LCL.
  • Virement instantanéInstant transfers périmètre d’auditaudit scopePas livré en production à ce jour. Ce que je vérifie : contrôle du bénéficiaire, délais du schéma, relances sans doublon, rapprochement le jour même.Not delivered in production to date. What I check: verification of payee, scheme timeouts, retries without duplicates, same-day reconciliation.
09/04/20279 April 2027

Zone euro : les établissements de paiement et de monnaie électronique doivent envoyer et recevoir des virements instantanés, avec contrôle du bénéficiaire.Euro area: payment and e-money institutions must send and receive instant transfers, with verification of payee.

Source : règlement (UE) 2024/886Source: Regulation (EU) 2024/886

Un virement instantané, étape par étapeOne instant transfer, step by step

Exemple illustratif, valeurs fictivesIllustrative example, fictional values

  1. 0,00 s0.00 sBénéficiaire vérifiéPayee verifiedcontrôle nom et IBANname and IBAN check
  2. 0,21 s0.21 sOrdre émisOrder sentpacs.008, identifiant uniquepacs.008, unique identifier
  3. 0,95 s0.95 sReçu par la banque du bénéficiaireReceived by the payee’s bankpacs.008
  4. 1,62 s1.62 sRégléSettledpacs.002, statut positifpacs.002, positive status
  5. J+0D+0Rapproché, écart nulReconciled, zero differencecamt.053

1,62 s sur les 10 s autorisées par le schéma1.62 s of the 10 s the scheme allows

Travailler ensembleWorking together

Une mission longue dans votre équipe, un diagnostic au forfait ou un logiciel sur mesure. Le périmètre est écrit avant de commencer.A long engagement in your team, a fixed-price assessment or custom software. The scope is written down before we start.

Architecte ou tech lead en missionArchitect or tech lead on assignment

Je rejoins votre équipe sur une plateforme bancaire ou de paiement : choix d’architecture, intégration Kafka et de l’existant, revue de code, accompagnement des développeurs.I join your team on a banking or payments platform: architecture decisions, Kafka and legacy integration, code review, coaching developers.

ESN ou cabinet de placement : envoyez-moi la fiche de mission, mon CV est téléchargeable ici. Facturation directe par IAMINE TECH, sans portage.IT consultancy or placement firm: send me the assignment brief; my CV is available for download here. Invoiced directly by IAMINE TECH, no umbrella company.

Proposer une missionPropose an assignment Télécharger mon CV (PDF)Download my CV (PDF) Île-de-France, sur site ou à distance selon la mission.Paris region, on site or remote depending on the assignment.

Diagnostic paiement en 5 jours5-day payments assessment

5 jours de travail, rendus en 3 semaines, prix fixe annoncé dans la proposition. Ce qu’il me faut : un accès en lecture au code et aux journaux, et deux entretiens d’une heure avec vos développeurs.5 days of work, delivered over 3 weeks, fixed price stated in the proposal. What I need: read access to the code and logs, and two one-hour interviews with your developers.

Pour un établissement de paiement, une fintech ou un éditeur : flux, événements, intégrations carte et processeur, risques de doublon et de perte. Peut servir d’audit avant une mise en production.For a payment institution, fintech or vendor: flows, events, card and processor integrations, risks of duplicates and losses. Can serve as a pre-go-live audit.

  1. Semaine 1Week 1Entretiens avec vos équipes, lecture de l’architecture, des flux et des journaux.Interviews with your teams; review of architecture, flows and logs.
  2. Semaine 2Week 2Analyse des points de rupture : doublons, délais, reprises, intégrations.Analysis of failure points: duplicates, timeouts, recovery, integrations.
  3. Semaine 3Week 3Rapport écrit, plan de correction priorisé, restitution en visio.Written report, prioritised remediation plan, video debrief.
D’où viennent ces contrôlesWhere these checks come from

De la production bancaire : chez LCL, chaque appel externe, comme l’opposition d’une carte, est rendu idempotent et rejouable depuis une file de rejet dédiée.From banking production: at LCL, every external call, such as blocking a card, is made idempotent and replayable from a dedicated dead-letter queue.

Demander le diagnosticRequest the assessment

À quoi ressemble le rapportWhat the report looks like

Extrait fictif, pour montrer le format : chaque constat a une gravité et une correction.Fictional excerpt showing the format: every finding has a severity and a fix.

CritiqueCritical

Après un redémarrage, un consommateur Kafka relit un message et crée une écriture en double.After a restart, a Kafka consumer re-reads a message and creates a duplicate entry.

Traitement idempotent, clé unique par opération.Idempotent processing, one key per operation.

ÉlevéeHigh

Une relance après dépassement du délai peut renvoyer un virement déjà réglé.A retry after a timeout can resend a transfer that has already settled.

Interroger le statut avant toute relance.Query the status before any retry.

MoyenneMedium

Un message invalide bloque toute la partition.One invalid message blocks the whole partition.

File de rejet dédiée et alerte.Dedicated dead-letter queue and alert.

Un logiciel sur mesure pour votre cabinet ou votre PMECustom software for your practice or small business

Votre logiciel ne suit plus, ou il n’existe pas encore. Je conçois et je construis l’outil dont vous avez besoin : vos dossiers, vos règles, vos documents, et la reprise de l’historique de votre ancien logiciel. Vos données restent chez vous. Exemple : Liam Medical, ci-dessus.Your software no longer keeps up, or does not exist yet. I design and build the tool you need: your records, your rules, your documents, and the migration of your previous software’s history. Your data stays with you. Example: Liam Medical, above.

Un seul interlocuteur du début à la fin : je conçois, je construis, je livre, avec la documentation. Un premier échange suffit pour savoir si je peux vous aider.One person from start to finish: I design, build and deliver, with the documentation. A first conversation is enough to find out whether I can help.

Décrire mon besoinDescribe my need

Mon parcoursBackground

Banque (cartes, fraude, KYC, garanties de prêts, gestion documentaire, cloud privé), santé et transport.Banking (cards, fraud, KYC, loan guarantees, document management, private cloud), healthcare and transport.

2012201520192023aujourd’huitoday

banquebanking transporttransport mission en courscurrent assignment

  1. 2025 – aujourd’hui2025 – present
    LCLIngénieur Java senior, architecture applicative et des flux, squad fraude : SMS interactif carte, virement et chèque, puis sa mise en place pour la nouvelle offre de contestation de fraude par le client. Kafka et Avro, échanges mainframe.Senior Java engineer, application architecture and integration flows, fraud squad: interactive SMS for card, transfer and cheque, then its roll-out for the new customer fraud-dispute offer. Kafka and Avro, mainframe exchanges.
  2. 2025 – 2026
    Liam MedicalArchitecte et développeur unique, logiciel de cabinet médical, en testArchitect and sole developer, medical practice software, in pilot
  3. 2023 – 2025
    BforBankLead dev, architecture applicative et événementielle de la plateforme cartes ; tokenisation Apple Pay et Google Pay, contrôle de solde avec Monext et VISALead developer, application and event-driven architecture of the card platform; Apple Pay and Google Pay tokenisation, balance check with Monext and VISA
  4. 2021 – 2022
    Société GénéraleTeam lead et développeur Java, API de gestion documentaire et traitements par lotsTeam lead and Java developer, document management APIs and batch jobs
  5. 2019 – 2021
    BPCE-ITTech lead aux côtés de l’architecte, cloud privé du groupe : Event Sourcing / CQRS, provisionnement multi-fournisseursTech lead alongside the architect, group private cloud: Event Sourcing / CQRS, multi-provider provisioning
  6. 2018 – 2019
    BpifranceTeam lead dans une équipe de 13, extranet de garantie de prêts et ses flux d’échangeTeam lead in a team of 13, loan guarantee extranet and its exchange flows
  7. 2015 – 2018
    Natixis Wealth ManagementDéveloppeur Java et team lead d’une équipe de 4, KYC et scoring réglementaire, architecture hexagonaleJava developer and team lead of 4, KYC and regulatory scoring, hexagonal architecture
  8. 2012 – 2015
    RATP, Île-de-France MobilitésDéveloppeur Java, flux d’information voyageurs en temps réel (Camel, ActiveMQ)Java developer, real-time passenger information flows (Camel, ActiveMQ)
  9. 2012
    Master MIAGEUniversité Nice Sophia Antipolis

Cadre réglementaire rencontré en mission : KYC et scoring réglementaire, PCI DSS, DORA, exigences ACPR. IA appliquée : agents de code, serveurs MCP, API Anthropic, OpenAI et Vertex AI.Regulation met on assignment: KYC and regulatory scoring, PCI DSS, DORA, ACPR requirements. Applied AI: coding agents, MCP servers, Anthropic, OpenAI and Vertex AI APIs.

Parlons de votre projet.Let’s talk about your project.

Un premier message suffit pour savoir si je peux vous aider. Indiquez votre organisation, votre échéance et votre système actuel. Je réponds moi-même.One message is enough to find out whether I can help. Tell me your organisation, your deadline and your current system. I answer personally.

contact@iaminetech.com

+33 6 51 58 59 28 · appel ou message · call or text

  1. Vous m’écrivezYou write to meContexte, contraintes, échéance.Context, constraints, deadline.
  2. Proposition écriteWritten proposalPérimètre, livrables, critères d’acceptation, date et prix.Scope, deliverables, acceptance criteria, date and price.
  3. Points réguliersRegular check-insPar écrit et en visio, jusqu’à la restitution.In writing and by video, through to the debrief.
OùWhereÎle-de-France. Sur site ou à distance selon la mission, fuseau de Paris.Paris region. On site or remote depending on the assignment, Paris time zone.
LanguesLanguagesFrançais, anglais, arabe.French, English, Arabic.
ConfidentialitéConfidentialityAccord signé sur demande, avant tout échange de documents.NDA signed on request, before any documents are exchanged.
FacturationInvoicingPar IAMINE TECH, société française, sans portage.By IAMINE TECH, a French company, no umbrella company.