Aller au contenu

bacemhmoudi.com/developpeur-ia-tunisie

Bacem Hmoudi, Tech Lead Java / PHP à TunisBacem HmoudiTech Lead Java / Spring Boot · PHP / Symfony

Développeur IA : RAG, vLLM, agents et OCR à Tunis

Je mets l’IA en production dans des logiciels métier. Dans un progiciel de gestion : l’OCR et la classification des documents reçus, un assistant RAG qui répond avec ses sources, des LLM auto-hébergés avec vLLM et des agents IA qui agissent sur ses API. Je suis ouvert à un poste à Paris, sur site ou en hybride, et aux missions freelance ou nearshore depuis Tunis.

Tunis, TunisieTEAMWILL

Ce que je construis

L’IA branchée sur le métier

L’IA qui m’intéresse n’est pas une démo : c’est une fonctionnalité en production qui lit et classe les documents, répond aux questions avec ses sources et agit dans le logiciel que les équipes utilisent déjà.

Dans un progiciel de gestion en microservices, dont je pilote les interfaces et la GED, l’IA est en production : l’OCR et la classification automatique des documents reçus, avec l’extraction de leurs données ; un assistant RAG qui répond aux questions des utilisateurs à partir des documents et des contenus du progiciel ; des LLM auto-hébergés avec vLLM ; des agents IA qui enchaînent des actions sur ses API. J’anime les ateliers avec le client pour aligner la technique et le métier, usage par usage.

Les modèles sont auto-hébergés et servis par vLLM, pour que les documents des clients restent sur l’infrastructure. Les réponses du RAG renvoient vers leurs sources, et les agents n’utilisent que les outils de leur périmètre.

Je pars du processus : quel document arrive, qui le lit, quelle décision il déclenche. Puis je choisis la technique la plus simple qui tient : un OCR et des règles quand ils suffisent, un modèle de langage quand les documents sont trop variés, un RAG quand la réponse est dans les documents, un agent quand la tâche enchaîne plusieurs actions.

Côté documents : l’OCR avec Tesseract et OCRmyPDF, la classification, la lecture des codes-barres, le rapprochement de chaque document numérisé avec sa commande et son type de document, l’extraction structurée. Côté RAG : découpage des documents, embeddings, recherche vectorielle et génération avec sources. Côté modèles : vLLM pour les LLM auto-hébergés, Anthropic Claude, Mistral, Ollama, l’API OpenAI et LangChain, TensorFlow pour le machine learning. Côté intégration : Java / Spring Boot, Kafka et des API REST, pour que l’IA s’insère dans des processus fiables.

Une IA mesurée, maîtrisée et sous contrôle humain

  • Les documents restent sur l’infrastructure

    Des LLM auto-hébergés, servis par vLLM : les documents des clients restent sur l’infrastructure.

  • Des réponses sourcées

    Chaque réponse du RAG renvoie vers les documents d’où elle vient : l’utilisateur peut vérifier avant de s’en servir.

  • Des agents dans un périmètre défini

    Un agent n’utilise que les outils qu’on lui a ouverts sur les API du progiciel : ses actions restent dans un périmètre défini et contrôlé.

  • Validation humaine

    Pour l’extraction de données, les sorties du modèle sont des propositions : un humain valide avant que quoi que ce soit ne soit créé dans le système. Les prompts sont versionnés, comme le code.

  • Sorties structurées

    Une extraction contrôlée par JSON Schema, avec une tentative de réparation, puis vérifiée par le texte et l’arithmétique du document.

  • Indépendante du fournisseur

    Une seule interface, plusieurs adaptateurs : Anthropic, Mistral pour garder les données en Europe, Ollama pour les modèles locaux, l’API OpenAI. Le fournisseur se choisit par client.

  • Coûts sous contrôle

    Quotas de tokens mensuels par client et journal d’usage par fonctionnalité, visibles dans l’administration.

  • Mesurer avant de généraliser

    Une règle proposée par le modèle n’est gardée qu’une fois validée, rejouée sur des échantillons anonymisés, et meilleure qu’une version à base de règles.

  • Dans des processus fiables

    L’IA s’insère dans des workflows d’entreprise : circuits de validation et SLA, Kafka et outbox transactionnelle.

Études de cas

Trois usages de l’IA en production dans un même progiciel, décrits sans nom de client : le contexte, ce que j’ai construit, les technologies et le résultat.

Classer et lire automatiquement les documents reçus

Groupes de concessions automobiles

Contexte

Un nouveau progiciel de gestion, en microservices, pour des groupes de concessions automobiles. Il reçoit des documents qu’il faut trier et dont il faut saisir les données : l’objectif est de limiter cette saisie manuelle.

Ce que j’ai construit
  • La lecture par OCR et le classement automatique des documents reçus
  • L’extraction de leurs données utiles, pour limiter la saisie manuelle
  • L’intégration dans le progiciel, à côté de sa GED, des interfaces avec les partenaires et de l’archivage des documents et des données
  • Des ateliers réguliers avec le client pour cadrer chaque usage
Technologies
  • OCR
  • Classification de documents
  • Java
  • Spring Boot
  • Microservices
  • Kafka
  • API REST
Résultat

L’IA en production dans le progiciel : des documents classés et lus automatiquement, pour limiter la saisie manuelle.

Un assistant RAG en production sur les documents d’un progiciel métier

Groupes de concessions automobiles

Contexte

Dans un progiciel de gestion pour des groupes de concessions automobiles, les réponses aux questions des utilisateurs se trouvent dans les documents et les contenus du progiciel. L’objectif : y répondre à partir de ces sources, en les citant, sans que les documents des clients quittent l’infrastructure.

Ce que j’ai construit
  • L’ingestion des documents : découpage, embeddings et indexation pour la recherche vectorielle
  • La recherche des passages utiles, puis une réponse générée qui renvoie vers ses sources
  • Des LLM auto-hébergés, servis par vLLM : les documents restent sur l’infrastructure
  • Les droits d’accès du progiciel respectés dans les recherches et les réponses
  • L’intégration dans le progiciel, à côté de l’OCR et de la classification des documents
Technologies
  • RAG
  • Embeddings
  • Recherche vectorielle
  • vLLM
  • LLM
  • Java
  • Spring Boot
  • API REST
Résultat

Un assistant RAG en production : des réponses tirées des documents et des contenus du progiciel, avec leurs sources, sur des modèles qui tournent sur l’infrastructure.

Des agents IA qui agissent sur les API d’un progiciel

Groupes de concessions automobiles

Contexte

Dans le même progiciel, des tâches demandent d’enchaîner plusieurs actions sur ses API. Des agents IA peuvent les mener, à condition de rester dans un cadre strict : n’utiliser que les outils qu’on leur ouvre.

Ce que j’ai construit
  • Des outils définis à partir des API du progiciel : le périmètre des agents
  • Des agents qui enchaînent des actions sur ces API pour mener une tâche
  • Le contrôle des actions : rien en dehors du périmètre d’outils défini
  • L’intégration dans le progiciel en microservices, par ses API REST
Technologies
  • Agents IA
  • LLM
  • API REST
  • Java
  • Spring Boot
  • Microservices
Résultat

Des agents IA en production, qui enchaînent des actions sur les API du progiciel dans un périmètre d’outils défini et contrôlé.

Comment on travaille ensemble

Trois façons de travailler ensemble : un poste à Paris, sur site ou en hybride, une mission à distance depuis Tunis, ou une collaboration.

  • Poste à Paris

    Je suis ouvert à de nouvelles opportunités de Tech Lead ou d’architecte à Paris, sur site ou en hybride. Un poste ailleurs en France, en Europe ou en télétravail depuis Tunis reste possible.

  • Mission freelance

    Tech Lead ou développeur senior sur votre projet, en régie, au forfait ou en renfort d’une équipe existante : à distance depuis Tunis, en nearshore, et sur site pour les ateliers, les lancements et les mises en production.

  • Collaboration

    Un produit à lancer, une architecture à revoir, une IA à brancher sur vos données, un partenariat technique : le cadre se construit ensemble.

Pour le travail à distance, la Tunisie est à UTC+1 toute l’année : la même heure qu’à Paris en hiver, une heure de moins en été. Les échanges se font en français ou en anglais.

Mes autres expertises

  • Développement Java / Spring Boot

    Microservices Spring Boot, DDD et architecture hexagonale, les web services, les API externes et la GED d’un progiciel, une migration vers Azure.

    Approche et études de cas
  • Développement PHP / Symfony

    PHP / Symfony depuis 2017 : le portail d’un réseau de plus de 100 concessions migré de Symfony 1.4 à 5, avec sa GED, un ERP, des applications pour le secteur public.

    Approche et études de cas