Hamza BEN JANNET
Architecte Solutions · Lead Developer Fullstack
Node.js · React · Cloud · EAM IBM Maximo · IA générative
📍 Puteaux, Île-de-France · ✉️ contact@hamzabenjannet.me · LinkedIn · GitHub
Profil
Architecte Solutions et Lead Fullstack, j'ai 10 ans d'expérience sur des plateformes industrielles et cloud natives : recharge de véhicules électriques, GMAO, maintenance industrielle mobile. Ma spécialité principale est la modernisation d'IBM Maximo, de la 7.6 vers Maximo Application Suite 9 (MAS 9). Je conçois aussi des architectures microservices en NestJS et Node.js, et j'intègre l'IA générative (LLM, RAG, Qdrant).
J'interviens de bout en bout : conception de l'architecture, migration des données, automatisation des flux, puis déploiement sur une infrastructure conteneurisée (OpenShift, Kubernetes). Côté équipe, j'assure le mentoring, l'onboarding et le leadership technique.
Domaines d'expertise
| Architecture microservices | EAM / IBM Maximo (7.6, MAS 9) | Cloud native (AWS, GCP, Azure) |
| Node.js / NestJS / React | DevOps / CI-CD / OpenShift | IA générative / LLM / RAG |
| Migration de données | TDD / Clean Architecture | Leadership technique / Mentoring |
Compétences techniques
| Domaine | Technologies |
|---|---|
| Frontend | ReactJS 19 Next.js Angular 10+ TypeScript Redux Tailwind CSS ShadCN Bootstrap Material UI HTML5 CSS3 |
| Backend | Node.js NestJS ExpressJS LoopBack Python FastAPI Django PHP Laravel CodeIgniter Java |
| Architecture | Microservices Event-Driven DDD Clean Architecture Hexagonale Serverless SDK / plugins |
| Cloud | AWS S3 SNS SQS Lambda Secrets Manager CloudWatch GCP Cloud Run Cloud Functions Cloud SQL GPU Azure OVH |
| DevOps / CI-CD | Docker Kubernetes OpenShift GitHub Actions Jenkins Nginx Terraform |
| Bases de données | PostgreSQL MySQL MongoDB Redis SQLite Qdrant DBeaver |
| Qualité & performance | TDD Jest Playwright RTL ELK Stack Netdata Grafana OWASP Swagger / OpenAPI |
| Frameworks & outils | TypeORM Mongoose Sequelize Socket.io RabbitMQ MQTT Node-RED N8N Maximo 7.6 MAS 9 Talend |
| IA & machine learning | Ollama LocalAI Open WebUI OpenAI API RAG Qdrant Llama |
| Méthodologie | Scrum Jira ClickUp Trello Software Craftsmanship Mentoring Onboarding |
| Versioning & OS | Git GitHub GitLab SVN Linux Windows macOS |
| Conception & docs | StarUML Draw.io API REST API SOAP Confluence Markdown |
Expériences professionnelles
SNCF · Développeur EAM IBM Maximo
Juin 2026 → aujourd'hui · France
Migration d'IBM Maximo 7.6 vers MAS 9, automatisation des flux de données, personnalisation des IHM et supervision de l'infrastructure OpenShift.
Contexte
La GMAO (gestion de maintenance assistée par ordinateur) repose sur IBM Maximo 7.6. Ma mission accompagne la bascule vers MAS 9, conteneurisé sur Red Hat OpenShift. Le périmètre couvre la reprise des données historiques, les évolutions fonctionnelles des écrans et la tenue en charge de la nouvelle plateforme.
Réalisations
- Conception et automatisation des flux de reprise de données entre Maximo 7.6 et MAS 9.
- Jobs Talend d'extraction des données source vers Amazon S3, puis chargement par les services d'entreprise MIF et leurs endpoints, déclenchés par des crontasks.
- Développement d'Automation Scripts (Jython, JavaScript) pour enrichir la logique métier de MAS 9.
- Personnalisation des IHM dans Application Designer selon les standards opérationnels SNCF, avec gestion des droits par sigoptions.
- Analyse d'anomalies sur des canaux de publication sortants (valeurs incorrectes transmises aux systèmes consommateurs).
- Installation et dépannage de MAS 9 sur un cluster OpenShift managé (ROSA sur AWS).
- Travail de performance : surveillance des files JMS, dimensionnement des ressources OpenShift, optimisation des index en base.
- Synchronisation de données via MIF et API REST.
Architecture du flux de reprise
- Extraction : jobs Talend sur la base Maximo 7.6, export vers S3.
- Chargement : services d'entreprise MIF exposés comme endpoints, appelés par des crontasks planifiées.
- Contrôle : supervision des files JMS et des logs des pods OpenShift pour repérer rejets et goulots d'étranglement.
Stack
IBM Maximo MAS 9 Maximo 7.6 OpenShift ROSA AWS S3 MIF Talend Automation Scripts Jython JavaScript Application Designer JMS API REST
WEBRIT Cloud · Architecte Cloud et IA
Janv. 2026 → Juin 2026 · France · 6 mois
Conception d'une plateforme de cloud privé éco-responsable qui réunit LLM, suite collaborative, automatisation métier et ERP sur une infrastructure GPU GCP.
Contexte
L'objectif était d'offrir l'équivalent d'une suite SaaS complète (IA, bureautique, ERP, automatisation) hébergée en cloud privé sur GCP. La plateforme fait tourner plus de 25 services conteneurisés derrière un point d'entrée unique, sous le domaine webrit.cloud.
Réalisations
- Déploiement et benchmarking de LLM sur infrastructure GPU privée (Ollama, LocalAI), avec recherche vectorielle Qdrant pour le RAG.
- Transcription audio par Whisper intégrée à la plateforme.
- Intégration d'une suite collaborative unifiée : Nextcloud, OnlyOffice et visioconférence.
- Pipelines ETL et workflows métier augmentés par IA avec N8N.
- Mise en service d'Odoo 17 (ERP open source) derrière reverse proxy Apache : WebSockets, contenu mixte, bundles d'assets et filestore.
- Accès distant par navigateur (noVNC) via reverse proxy WebSocket.
- Authentification e-mail du domaine : DKIM, DMARC, BIMI.
- Architecture Eco-Compute pour réduire l'empreinte énergétique.
- IaC Terraform, CI/CD GitHub Actions, conteneurisation Docker et Kubernetes sur nœuds GPU GCP (Tesla T4).
Architecture
- Couche IA : Ollama et LocalAI sur GPU Tesla T4, Qdrant pour l'indexation vectorielle des documents.
- Couche métier : N8N orchestre les workflows entre les LLM, Nextcloud, Odoo et les sources externes.
- Couche d'accès : reverse proxy Apache avec TLS.
- Observabilité : Grafana et Netdata.
Stack
Ollama LocalAI Qdrant Whisper N8N Docker Kubernetes GCP Tesla T4 Nextcloud OnlyOffice Odoo Apache Terraform GitHub Actions Grafana Netdata
TotalEnergies · Lead Developer Expert et Architecte
Juil. 2024 → Mars 2026 · France · 1 an 9 mois
Écosystème de microservices cloud natifs pour la gestion en temps réel des infrastructures de recharge de véhicules électriques.
Contexte
Le backend historique reposait sur des monolithes PHP. La cible était une plateforme event-driven qui traite les sessions de recharge en temps réel. Trois équipes produit consommaient les APIs pendant la migration, d'où une stratégie de versionnement et de rétrocompatibilité.
Réalisations
- Migration des monolithes PHP vers une architecture NestJS/TypeScript event-driven, avec ownership de bout en bout, du design à la mise en production.
- Conception d'APIs REST versionnées consommées par 3 équipes produit ; stratégie documentée de rétrocompatibilité et de dépréciation.
- Frontend ReactJS 19 en autonomie : parcours UX complexes, design system Tailwind/ShadCN, tests Playwright.
- TDD avec Jest sur les services critiques.
- Monitoring avec la stack ELK pour détecter et diagnostiquer les incidents de production.
- Onboarding de 5 développeurs, animation des cérémonies Agile (Daily, Sprint Review, Rétrospective), collaboration directe avec PM, PO et Design.
Architecture
- Services : NestJS 10 sur Node.js, communication par événements via RabbitMQ.
- Persistance : MongoDB, PostgreSQL, MySQL et Redis.
- Cloud : AWS (S3, Lambda, Secrets Manager), Firebase ; conteneurs Docker orchestrés par Kubernetes.
- Livraison : pipelines GitHub Actions, contrats d'API versionnés.
Résultats
- -25 % d'incidents en production
- +40 % de performance sur le traitement des sessions de recharge
- 85 % de couverture de tests sur les services critiques
Stack
NestJS 10 Node.js TypeScript RabbitMQ MongoDB Redis PostgreSQL MySQL Docker Kubernetes AWS S3 Lambda Secrets Manager Firebase ReactJS 19 Tailwind CSS ShadCN Playwright Jest GitHub Actions ELK Stack
iMaxeam (Relenfeize) · Lead Software Engineer
Oct. 2018 → Mai 2024 · Canada / Tunisie · 5 ans 8 mois
Ownership complète du cycle de vie de MAXapps, application mobile pour IBM Maximo : refonte architecturale, migration de Cordova vers React Native/Expo, intégration chez les clients finaux.
Contexte
MAXapps permet aux techniciens terrain de traiter leurs ordres de travail Maximo depuis un mobile. Le produit est déployé chez des clients industriels où la disponibilité est critique. La version d'origine reposait sur Cordova.
Réalisations
- Conception du SDK MAXapps en architecture hexagonale : modules plug-and-play configurables par JSON, dont dépendent d'autres équipes.
- Migration de Cordova vers React Native/Expo, avec suivi cartographique en temps réel (Live Map Tracking) via Socket.io.
- Exposition d'APIs IBM Maximo complexes via MIF ; automatisation des structures d'objets métier (Work Orders, Assets).
- Conception de MXlogger, solution de collecte de logs et d'alertes proactives comparable à Sentry.
- Projet pilote IoT : flux temps réel capteurs → MQTT → Node.js → MongoDB, avec génération automatique d'ordres de travail au franchissement de seuils.
- Infrastructure critique : installation d'IBM Maximo via Installation Manager, déploiement sur WebSphere (WAS), gestion du cloud AWS.
Architecture du SDK MAXapps
- Noyau : logique métier indépendante du framework et de la source de données (ports).
- Adaptateurs : connecteurs Maximo (MIF) et composants d'interface.
- Configuration : chaque module se déclare et se paramètre en JSON, et chaque client reçoit une application adaptée par simple configuration.
Résultats
- -30 % de temps de traitement des ordres de travail
- 99,9 % de disponibilité en environnement industriel critique
Stack
Node.js Java React Native Expo TypeScript Socket.io Maximo 7.6 MIF WebSphere MongoDB MySQL RabbitMQ MQTT Mosquitto AWS Jenkins Appium Jest
Branper · Directeur Technique (CTO)
Mars 2017 → Sept. 2018 · Tunisie · 1 an 10 mois
Plateforme SaaS de social media monitoring et d'enquêtes intelligentes : analyse de données non structurées augmentée par LLM.
Contexte
Branper collecte et analyse des contenus publiés sur les réseaux sociaux. Ces données sont volumineuses et non structurées ; la plateforme automatise donc la chaîne, de la collecte jusqu'aux tableaux de bord.
Réalisations
- Architecture multi-stack (Python, Node.js, PHP) pour le traitement NLP via des modèles LLM (GPT, Ollama).
- Refonte des dashboards analytiques en Vue.js, gestion d'état complexe avec Redux Toolkit.
- Data scraping et automatisation : bots Selenium, pipelines ETL et workflows N8N.
- Infrastructure hybride AWS, Azure et GCP ; RabbitMQ, Redis, Docker, Jenkins.
- Recrutement, formation et encadrement de l'équipe technique ; pilotage de la roadmap produit.
Chaîne de traitement
- Collecte : bots Selenium et workflows N8N.
- Analyse : services Python (Django, FastAPI) pour le traitement NLP.
- Restitution : dashboards analytiques Vue.js, données servies depuis MongoDB et MySQL.
Résultats
- 5x plus de données sociales traitées en temps réel
- 80 % des processus de collecte automatisés
Stack
Ollama GPT Python Django FastAPI Selenium Next.js ReactJS Redux Toolkit Node.js MongoDB MySQL Redis RabbitMQ AWS Azure GCP Docker Jenkins N8N
Visacom · Chef de Projet
Janv. 2016 → Fév. 2017 · Suisse / Tunisie · 1 an 2 mois
Marketplace Dealndeal et plateforme e-learning Edidact.ch.
Réalisations
- Architecture WebRTC (Jitsi Meet) pour la visioconférence à grande échelle ; messagerie temps réel sécurisée.
- Développement Node.js et Vue.js.
- Moteur de web scraping (Selenium, Cheerio) pour l'agrégation de données et la veille concurrentielle.
Résultats
- 500 utilisateurs quotidiens à J+1
Stack
ReactJS Jitsi Meet WebRTC Node.js Express.js PHP CodeIgniter MongoDB MySQL Selenium Cheerio Jenkins Apache
Projets personnels
Agent IA d'automatisation du poste de travail
Système d'automatisation piloté par N8N. Le LLM appelle des outils via MCP (Model Context Protocol). LLaVA analyse les captures d'écran, YOLO détecte les éléments d'interface et Qdrant stocke les embeddings.
N8N MCP LLaVA YOLO Qdrant
Assistant e-mail IA
Assistant qui classe les e-mails de recrutement et rédige des réponses, propulsé par un modèle local llama3.1:8b.
Ollama Llama 3.1
Console de notifications Web Push
Console navigateur reliée à N8N pour envoyer des notifications Web Push : clés VAPID, persistance des abonnements, compatibilité Safari et Brave, contraintes CSP.
Web Push VAPID N8N
NavOS
Application de navigation autonome construite sur Leaflet.js.
Leaflet.js JavaScript
Dashcam PWA
Dashcam pour iPhone sous forme de PWA, avec diffusion vidéo via WebRTC et le serveur Janus.
PWA WebRTC Janus
Formation
| Année | Formation |
|---|---|
| 2024 | NestJS : architecture et patterns avancés |
| 2023 | Django : développement et déploiement d'applications web |
| 2022 | Maîtriser les LLM locaux avec Ollama et Python |
| 2021 | Docker pour les opérations et le développement |
| 2020 | MongoDB, Express, Angular et Node.js : Full Stack · IBM Maximo 7.6.1 et WebSphere 8.5 |
| 2018 | Mastère Cloud Computing et Développement d'Applications Distribuées, ISET Sousse |
| 2016 | Licence Technologie Web et Multimédia, ISITCOM Hammam Sousse |
| 2011 | Baccalauréat Sciences de l'Informatique |
Langues
| Langue | Niveau |
|---|---|
| Français | Professionnel, oral et écrit |
| Anglais | Professionnel, oral et écrit |
| Arabe | Langue maternelle |
Contact
Pour une mission d'architecture, de lead technique ou de modernisation IBM Maximo en Île-de-France :