Skip to content
<Thierno DIALLO/>

À propos de moi

Un peu plus sur qui je suis.

Mon parcours vers l’informatique n’était pas un plan établi depuis l’enfance. Je m’imaginais d’abord étudier le génie mécanique ou électrique. Vers 2014, un professeur de mon lycée m’a encouragé à choisir le génie informatique pour les débouchés et les perspectives qu’offrait ce domaine, tandis que quelques séries télévisées très orientées technologie avaient déjà éveillé ma curiosité. Ce choix pragmatique est devenu une véritable évidence lorsque j’ai découvert que j’aimais autant concevoir des systèmes que les programmer.

Aujourd’hui, en tant qu’ingénieur logiciel senior, je travaille principalement sur des systèmes backend Java et Quarkus pour des logiciels de santé. Je suis particulièrement à l’aise lorsque je peux prendre un problème de bout en bout : comprendre un contexte ambigu, comparer des technologies, expliciter les compromis, définir l’architecture, implémenter une solution fiable et la documenter afin que d’autres puissent l’utiliser, la maintenir et la faire évoluer. Cette approche m’a conduit à travailler sur des intégrations d’identité et de sécurité, des capacités de plateforme multi-pays, des technologies de santé que je devais d’abord apprivoiser et des workflows d’agents IA destinés aux développeurs. Les technologies changent ; ce qui me plaît reste de transformer la complexité en quelque chose de cohérent et d’utile.

Je cherche avant tout le bon équilibre pour chaque contexte. La fiabilité vient en premier, suivie de la sécurité, de la performance, de la maintenabilité, de la simplicité et de l’extensibilité. Aucune conception ne peut maximiser tous ces aspects à la fois. C’est pourquoi je considère la capacité à trouver le juste compromis comme l’une des qualités essentielles d’un bon ingénieur logiciel. Mes collègues peuvent compter sur moi pour réfléchir avec attention, veiller à la cohérence et considérer leurs blocages comme des problèmes qui méritent mon aide.

Pour la suite de ma carrière, je souhaite évoluer vers un leadership technique qui reste proche du code, puis approfondir mon expertise en architecture logicielle. Je veux appuyer cette évolution sur de solides connaissances en cloud et en ingénierie des plateformes, tout en continuant à coder.

En dehors du clavier, j’aime jouer au football et suivre les matchs, ainsi que courir à l’extérieur pour me vider la tête et rester en forme. Vous voulez savoir quel club de foot je supporte ? Parcourez la suite, puis envoyez-moi un message : j’ai quelques bons arguments pour défendre mon choix. 😉

Ingénieur logiciel seniorMontpellier, France

Formations

Diplôme d’ingénieur de l’École Centrale de Lyon

Septembre 2018 – Octobre 2021

École Centrale de Lyon

Sélectionné pour intégrer le programme de double diplôme avec l’École Supérieure Polytechnique de Dakar au terme d’un processus sélectif. Ce cursus pluridisciplinaire d’ingénierie générale a élargi mon socle en ingénierie informatique grâce à une approche transversale des problématiques d’ingénierie.

Diplôme d’ingénieur de conception – Génie informatique

Octobre 2017 – Octobre 2021

École Supérieure Polytechnique de Dakar

J’ai suivi la formation d’ingénieur de conception en Génie informatique à l’ESP, où j’ai acquis de solides bases en informatique et en sciences de l’ingénieur. Ce cursus m’a ensuite conduit à être sélectionné pour intégrer l’École Centrale de Lyon en double diplôme et a constitué le socle de mon parcours d’ingénieur logiciel.

Diplôme universitaire de technologie (DUT) – Informatique

Octobre 2015 – Juillet 2017

École Supérieure Polytechnique de Dakar

Admis à l’issue d’un concours et d’une sélection sur dossier scolaire, j’ai suivi cette formation de deux ans en informatique après le baccalauréat. Elle m’a donné un premier socle technique, avant ma sélection pour poursuivre en cycle ingénieur de conception en Génie informatique à l’ESP.

Expériences

Gouvernance des agents IA et accompagnement des développeurs

Janvier 2026 – Aujourd’hui

CompuGroup Medical (CGM)

L’arrivée des agents IA de développement dans notre quotidien chez CGM a rapidement fait apparaître une qualité inégale, des efforts dupliqués, des résultats peu fiables et l’absence de standards communs. Dans mon rôle de Software Engineer senior, j’ai répondu à ces enjeux en pilotant la création d’un cadre partagé pour l’équipe.

J’ai défini un modèle de gouvernance couvrant les responsabilités, les cycles de contribution et de revue, les tests indépendants, les phases de préversion, la composabilité, les règles d’activation non concurrentes et des seuils de qualité recommandés. Pour rendre l’évaluation reproductible, j’ai conçu une grille de notation pondérée et développé un outil déterministe en Python qui évalue les skills et les workflows, signale les problèmes critiques et classe les améliorations selon leur impact.

J’ai également créé des skills réutilisables pour le diagnostic sécurisé de Kubernetes, la gestion des tickets Jira, les pipelines et merge requests GitLab, les opérations Git locales, l’identification des environnements de fonctionnalités et l’évaluation automatisée de la qualité. Deux workflows d’orchestration combinent ces capacités dans des processus structurés de diagnostic et d’évaluation, avec des contrats explicites, des dépendances réutilisables, des garde-fous de sécurité et une gestion des échecs.

Ces ressources sont largement utilisées par l’équipe. Je continue à évaluer les contributions, à aider mes collègues à créer et déboguer leurs propres workflows, à les accompagner lorsqu’ils rencontrent des problèmes liés aux agents IA ou aux intégrations d’outils, et à faire évoluer le cadre à partir des retours d’usage.

Authentification fédérée avec OIDC

Mars 2026 – Juillet 2026

CompuGroup Medical (CGM)

L’authentification unique à l’échelle du groupe représentait l’étape suivante pour une plateforme SaaS de santé multi-tenant utilisée en France et en Italie. Dans mon rôle de Software Engineer senior chez CGM, j’ai conçu et implémenté de bout en bout l’intégration d’un fournisseur d’identité d’entreprise.

La frontière architecturale essentielle consistait à déléguer l’authentification tout en conservant la gestion des rôles, des autorisations et des périmètres organisationnels au sein de la plateforme, sans supprimer le mode de connexion existant par identifiant et mot de passe.

J’ai pris en charge l’architecture, la coordination avec les parties prenantes, l’implémentation Java/Quarkus, le modèle de sécurité et la documentation technique. L’intégration utilise le flux OIDC Authorization Code avec PKCE, les Pushed Authorization Requests, ainsi que la validation de state et de nonce.

J’ai conçu la gestion côté serveur de l’état d’authentification et des jetons externes, notamment leur renouvellement et leur suppression synchronisée avec le cycle de vie de la session, ainsi qu’un modèle d’association des identités indépendant du fournisseur qui refuse les correspondances ambiguës. J’ai également résolu le routage des callbacks pour des environnements de test dynamiques sans assouplir la validation des URI de redirection.

L’intégration est désormais en production et activement utilisée par des professionnels de santé, offrant une authentification fédérée sécurisée tout en préservant les frontières internes d’autorisation.

Configuration dynamique des intégrations

Janvier 2026 – Mars 2026

CompuGroup Medical (CGM)

Les intégrations tierces n’utilisaient pas toutes les mêmes paramètres de connexion : les points d’accès variaient selon l’environnement de déploiement et le profil de l’utilisateur, tandis que la configuration correspondante était dispersée entre plusieurs fichiers et le code applicatif. Dans mon rôle de Software Engineer senior chez CGM, j’ai pris en charge le remplacement de ce modèle fragmenté par un système centralisé de résolution des configurations.

Orienter un utilisateur de test ou pilote vers un point d’accès hors production, tout en maintenant les professionnels de santé sur le point d’accès de production, nécessitait souvent une modification du code et un redéploiement, sans moyen simple de définir une exception pour un seul utilisateur.

J’ai remplacé ce fonctionnement par un modèle de résolution à trois niveaux, évalué pour chaque utilisateur et chaque intégration : une configuration spécifique à l’utilisateur est prioritaire, une stratégie propre à l’intégration applique les règles de routage, puis une valeur par défaut gérée en base de données sert de repli. Les changements courants de points d’accès et les configurations individuelles peuvent ainsi être appliqués sans redéployer l’application.

J’ai utilisé les patterns Strategy et Factory pour isoler et étendre les règles de routage. J’ai également conçu le modèle de données JPA, implémenté le service et l’API en Java/Quarkus, et documenté l’architecture dans une RFC formelle accompagnée de diagrammes techniques. Le système est activement utilisé en production.

Échange de jetons OAuth 2.0

Septembre 2024 – Février 2025

CompuGroup Medical (CGM)

Des produits CGM utilisés dans plusieurs pays devaient réutiliser certains services de la plateforme au nom d’utilisateurs déjà authentifiés, sans leur imposer une nouvelle connexion ni introduire plusieurs formats de jetons externes dans la plateforme.

Pour créer ce pont sécurisé, j’ai conçu et implémenté de bout en bout un mécanisme d’échange de jetons OAuth 2.0 dans mon rôle de Software Engineer senior chez CGM.

J’ai retenu la RFC 8693 et pris en charge l’ensemble du cycle de réalisation, de l’architecture du protocole et du modèle de sécurité à l’implémentation Java/Quarkus, au contrat OpenAPI et à la documentation destinée aux équipes consommatrices. J’ai conçu une architecture fondée sur les patterns Strategy et Factory, qui isole la validation propre à chaque partenaire et permet d’ajouter de nouvelles intégrations sans modifier le flux central.

Les scopes demandés sont limités aux autorisations accordées au partenaire avant l’émission d’un jeton interne uniforme, appliquant ainsi le principe du moindre privilège aux services en aval. Ce mécanisme est aujourd’hui en production et activement utilisé par des produits CGM, avec une frontière de sécurité unique et auditable pour les accès entre produits.

Étude d’intégration des cartes de santé et du DMP

Octobre 2023 – Mars 2024

CompuGroup Medical (CGM)

Les cartes de santé françaises et le DMP ouvraient un champ d’intégration entièrement nouveau pour la plateforme : lecteurs physiques, logiciel exécuté sur le poste de travail, événements de cartes en temps réel, transactions réglementées et protocoles de santé encore inconnus de l’équipe devaient fonctionner ensemble.

Alors Software Engineer de niveau intermédiaire chez CGM, j’ai mené l’investigation technique initiale et réalisé une preuve de concept fonctionnelle autour des lecteurs CPS et Carte Vitale et du DMP, le dossier médical partagé français.

J’ai cartographié et testé l’écosystème de bout en bout : sessions des lecteurs, accès aux cartes des professionnels et des patients, détection asynchrone de leur insertion ou retrait, et principaux parcours documentaires du DMP. J’ai créé des exemples Postman reproductibles et une documentation technique complète, puis contribué à définir une architecture séparant la gestion des événements côté frontend des opérations transactionnelles côté backend.

Mon rôle consistait à rendre cette intégration concrètement réalisable, et non à développer la fonctionnalité de production finale. J’ai livré des exemples fonctionnels, des diagrammes d’architecture, des démonstrations, des sessions de transfert de connaissances et un accompagnement aux équipes de réalisation. Celles-ci se sont appuyées sur ce travail pour livrer la fonctionnalité aujourd’hui largement utilisée par les médecins.

Classification par graphe et gestion des variations

Juin 2023 – Septembre 2023

CompuGroup Medical (CGM)

Un même code source devait adapter les services, les composants d’interface et les règles métier de la plateforme selon le pays, la région, le type de praticien et la spécialité, sans devenir un enchevêtrement de conditions. Alors Software Engineer de niveau intermédiaire chez CGM, j’ai contribué à l’étude et à la mise en œuvre du système de classification conçu pour répondre à ce besoin.

Avec un collègue, j’ai mené l’étude technique initiale. J’ai évalué Apache AGE face à la solution Neo4j précédemment envisagée, en reproduisant dans les deux technologies les principales requêtes de taxonomie et de parcours. Apache AGE conservait la modélisation en graphe et les requêtes Cypher tout en s’intégrant à l’infrastructure PostgreSQL existante, évitant ainsi de déployer et d’exploiter une technologie de base de données supplémentaire.

Après validation de ce choix, j’ai contribué activement à l’implémentation collective en Java/Quarkus, à la documentation, aux recommandations destinées aux développeurs, aux démonstrations et à l’accompagnement des équipes.

Le système en production combine une résolution par graphe, un cache Redis et une extension Quarkus fondée sur Gizmo, qui permet aux services de sélectionner déclarativement l’implémentation adaptée au contexte. Il est activement utilisé sur la plateforme et permet de gérer plusieurs pays depuis un même code source tout en maintenant les variations isolées et faciles à faire évoluer.

Stage d’ingénieur logiciel – Plateforme de crédit numérique

Mars 2021 – Juillet 2021

KimiaPay

KimiaPay souhaitait valider un produit numérique d’avance sur salaire pour des employés ayant un accès limité au crédit traditionnel, avec la participation d’employeurs partenaires dans l’approbation des demandes et la garantie du remboursement. Pendant mon stage de fin d’études, j’ai occupé le poste de stagiaire Software Engineer et assuré seul la responsabilité technique au sein de la petite équipe de startup.

Le principal défi était architectural : transformer un produit financier comportant plusieurs acteurs, niveaux de validation, exigences de sécurité et besoins d’évolution en un système cohérent qu’un seul développeur pouvait livrer en quatre mois.

J’ai conçu une architecture orientée services comprenant une application mobile multiplateforme pour les emprunteurs, un back-office web pour les administrateurs et les représentants des employeurs, des services métier backend et une couche de données centralisée reliés par des API REST/JSON. J’ai ensuite décliné cette architecture jusqu’à l’implémentation, aux tests et au déploiement.

Le produit comprenait une authentification par jeton, la collecte des données d’identité et d’emploi, un contrôle d’accès par rôles, une validation à plusieurs niveaux, le suivi des prêts et un cycle de vie complet des demandes, de leur soumission au remboursement ou au litige. J’ai retenu AppGyver et Backendless afin d’accélérer la livraison sous les contraintes du projet, tout en utilisant des intégrations JavaScript personnalisées lorsque nécessaire. Le produit finalisé a été déployé et était prêt pour une phase pilote.

Stage en ingénierie logicielle – Étude de faisabilité d’une migration vers Quarkus

Mai 2020 – Août 2020

Amadeus

Amadeus souhaitait déterminer si la migration d’un serveur d’application de recherche de vols de Spring/JBoss vers Quarkus était techniquement réalisable et justifiée par sa valeur métier. Mon stage de deuxième année était consacré à cette évaluation. L’objectif n’était pas de modifier le comportement fonctionnel de l’application, mais de déterminer comment l’exécuter avec Quarkus et de documenter les implications pour de futures migrations.

Intégré à une équipe d’ingénierie agile, j’ai créé la version Quarkus de l’application et étudié des problèmes de compatibilité liés aux dépendances externes, à CDI, aux annotations Spring non prises en charge et au chargement des classes. Selon les contraintes, j’ai utilisé des producteurs CDI, adapté certains composants, développé des extensions Quarkus et comparé les deux applications côte à côte en mode débogage. J’ai également remonté à la communauté Quarkus de véritables limites du framework.

La migration est volontairement restée incomplète lorsque son périmètre a dépassé la durée du stage. J’ai plutôt livré un document technique exploitable pour la décision, recensant les blocages, les solutions, les compromis et les coûts de migration. Les premières mesures indiquaient des gains importants au démarrage, dont j’ai clairement documenté les limites.

Cette étude a fourni à Amadeus une base réutilisable pour évaluer de futures migrations et a renforcé mon jugement sur la compatibilité des frameworks et le retour sur investissement d’une migration. Travailler entièrement en anglais au sein d’une équipe internationale a également renforcé ma communication professionnelle au quotidien, lors des réunions, des échanges techniques et de la rédaction documentaire.

Responsable des moniteurs des salles informatiques

Septembre 2019 – Avril 2020

École Centrale de Lyon

L’École Centrale de Lyon maintenait ses salles informatiques ouvertes le soir afin que les étudiants puissent travailler après le départ du personnel habituel. Une équipe de moniteurs étudiants rémunérés en assurait la supervision ; en tant que coordinateur, j’organisais le groupe et servais d’interlocuteur principal à l’administration.

Je recueillais les disponibilités, établissais les plannings, gérais les absences de dernière minute et équilibrais les heures mensuelles afin de maintenir une répartition aussi équitable que possible du travail et de la rémunération. Je veillais également au bon usage des salles, prenais en charge les incidents rencontrés par les utilisateurs, transmettais les problèmes non résolus et informais l’administration des difficultés opérationnelles.

Cette responsabilité m’a appris à coordonner une équipe avec équité, à assurer la continuité du service face aux imprévus et à faire le lien entre une équipe et une institution.

Intervenant en renforcement informatique

Octobre 2019 – Janvier 2020

École Centrale de Lyon

Le rythme soutenu du cursus de l’École Centrale de Lyon laissait parfois certains élèves avec le besoin de plus de temps et d’une autre manière d’aborder les notions difficiles. En raison de mon parcours en informatique, l’établissement m’a sélectionné et rémunéré pour animer les séances de renforcement en informatique dans cette discipline.

Je préparais les cours et les exercices, reprenais les notions mal comprises, corrigeais les travaux, animais des ateliers pratiques et proposais un accompagnement individuel. Les séances portaient principalement sur l’algorithmique avec Python, UML et la conception d’applications, ainsi que sur des notions plus générales d’ingénierie informatique.

Cette responsabilité m’a appris à repérer l’origine d’une difficulté, à adapter mes explications à chaque étudiant plutôt qu’à répéter le cours initial, et à rendre des concepts techniques clairs et concrets.

Stage de développement logiciel – Plateforme collaborative de partage de compétences

Juin 2017 – Juillet 2017

SUITE

SUITE explorait une application mobile collaborative capable de faciliter le partage et la découverte de savoir-faire spécialisés ou locaux grâce à des contenus de formation, des demandes d’aide, des offres de service et des événements en ligne ou en présentiel. Pendant mon stage de DUT, j’ai occupé le poste de stagiaire développeur logiciel et développé seul le client mobile.

J’ai pris en charge le volet mobile, de l’analyse des besoins à l’architecture et à l’implémentation. J’ai modélisé les rôles et le domaine avec UML, puis développé l’application multiplateforme en React Native et l’ai intégrée à une API Django REST Framework existante, fournie par l’équipe SUITE. Le client consommait des endpoints REST/JSON et proposait des fonctionnalités distinctes pour les visiteurs, les apprenants, les formateurs et les administrateurs.

À la fin du stage, j’avais implémenté et présenté les principales vues mobiles et les parcours de bout en bout, notamment la consultation des formations, l’authentification, la publication de demandes d’aide ainsi que la création de formations, d’événements et d’offres. Cette expérience a été ma première prise en charge significative du cycle de développement d’un produit mobile, de la conception orientée objet et du choix des technologies à l’intégration d’API et à la démonstration du produit.

Projets

Laajal Sa Diine

Laajal Sa Diine est une plateforme en ligne de questions-réponses audio courtes, que j’ai conçue et développée seul pour faciliter l’accès à des réponses pratiques sur l’islam. Le produit associe une application cliente en React et TypeScript à une API REST Node.js et Express, MongoDB et Amazon S3.

L’un des principaux défis applicatifs a été la recherche de contenus : un index de recherche plein texte pondéré, configuré pour le français, classe les correspondances sur plusieurs champs, tandis que des filtres combinables et le défilement infini facilitent l’exploration de la bibliothèque. J’ai également mis en place une administration protégée par JWT, avec des droits distincts pour la gestion des contenus, des administrateurs et des sauvegardes.

La mise en ligne du produit a constitué un autre défi important. Plutôt que d’utiliser un hébergement entièrement managé, j’ai volontairement provisionné et configuré un serveur Hetzner Cloud, déployé les services avec Docker, assuré leur routage avec Traefik et configuré les enregistrements DNS via Cloudflare.

Cette approche m’a permis de pratiquer concrètement le déploiement et l’exploitation d’une application de bout en bout, jusqu’à sa mise en production. La plateforme reste en ligne, utilisée par des auditeurs et maintenue comme un projet personnel en évolution.

  • React
  • TypeScript
  • Node.js
  • Express
  • MongoDB
  • Amazon S3
  • Docker
  • Traefik
  • Cloudflare
  • Hetzner Cloud

Système d’alerte du niveau de remplissage des conteneurs à déchets

GSF souhaitait permettre à ses équipes de connaître le niveau de remplissage des conteneurs avant de planifier leurs tournées. Dans le cadre d’un projet académique de l’ECL mené de septembre 2019 à avril 2020, j’ai assuré la direction technique de la conception d’un système connecté capable de mesurer ce niveau et de transmettre périodiquement les données.

J’ai piloté la conception et la réalisation du système électronique, en définissant la chaîne de communication reliant un capteur à ultrasons et une carte Arduino à une passerelle LoRa connectée aux serveurs de GSF. J’ai développé le firmware Arduino en C++ et configuré une mesure et une transmission toutes les 30 minutes afin de limiter l’activité du dispositif et de préserver la batterie.

J’ai également coordonné le travail avec l’équipe mécanique, qui a utilisé le FabLab de l’ECL pour fabriquer un boîtier de protection adapté à un environnement sale et contraignant. Nous avons livré un système fonctionnel et l’avons testé sur le terrain dans plusieurs conteneurs. Sans relais intermédiaire, la communication LoRa a atteint une portée d’environ 100 mètres.

Ce projet a renforcé mon expérience des systèmes embarqués, de la conception basse consommation, des communications longue portée et du pilotage technique multidisciplinaire.

  • Arduino
  • C++
  • LoRa
  • Ultrasonic Sensor

Coupe de France de Robotique 2019 – Atom Factory

L’édition 2019 de la Coupe de France de Robotique demandait aux équipes de concevoir et construire des robots autonomes pour Atom Factory, un match de 100 secondes proposant plusieurs actions rapportant des points, sans ordre imposé. J’y ai représenté l’École Centrale de Lyon de septembre 2018 à juin 2019, dans un défi où la stratégie comptait autant que la fiabilité d’exécution.

En tant que responsable technique de l’équipe électronique, j’ai contribué activement au logiciel embarqué en Python exécuté sur des contrôleurs LEGO EV3. J’ai travaillé étroitement avec l’équipe mécanique pour aligner la stratégie de match, les capacités physiques et le comportement logiciel, tout en coordonnant le travail électronique jusqu’à l’intégration.

Nous avons également appliqué des notions de commande en boucle fermée étudiées à l’ECL afin de réguler le déplacement et le positionnement des robots. Nos robots ont obtenu leur homologation officielle et participé à la compétition. Ce projet a renforcé mon expérience en programmation embarquée, automatique, intégration multidisciplinaire et coordination technique.

  • Python
  • LEGO MINDSTORMS EV3
  • Embedded Systems
  • Closed-Loop Control

Afficheur LED à persistance rétinienne

Pour la Journée Polytechnique de 2018, le club Robotech de l’École Supérieure Polytechnique de Dakar a réalisé un afficheur LED à persistance rétinienne fonctionnant à 60 Hz et capable d’afficher du texte envoyé depuis un smartphone par Bluetooth. Le dispositif à LED était monté sur une bobine effectuant 60 rotations par seconde ; pendant la rotation, le contrôleur allumait les LED appropriées à chaque position angulaire afin que l’œil perçoive un texte stable.

Le système finalisé a été présenté avec succès lors de la Journée Polytechnique. En tant que responsable du département informatique du club, j’ai développé l’application Android native en Java, défini le format de communication avec l’équipe électronique et géré les échecs de connexion Bluetooth ainsi que les nouvelles tentatives.

J’ai également réparti le travail logiciel, fixé les échéances et suivi leur respect afin que le volet informatique reste aligné avec les autres équipes. Ce projet m’a apporté une expérience concrète de la coordination entre logiciel et électronique autour d’une interface commune et d’un calendrier d’intégration partagé.

  • Java
  • Android SDK
  • Bluetooth

Application de bureau de réservation de salles de classe

Une école au Sénégal avait besoin d’un moyen plus clair pour permettre au personnel et aux enseignants de consulter l’occupation des salles, de repérer celles disponibles et de les réserver pour leurs prochains cours. Pendant mon DUT, un ami et moi nous sommes portés volontaires pour développer une application de bureau en Java répondant à ce besoin.

J’ai conçu la base de données MySQL et implémenté le backend Java avec JDBC, tandis que mon ami développait l’interface graphique en Swing. Avant d’enregistrer une réservation, le backend vérifiait la disponibilité de la salle afin de refuser les conflits de planning.

Premier projet logiciel conséquent réalisé en collaboration, il m’a aussi appris à délimiter les responsabilités entre frontend et backend, à coordonner le développement et à intégrer des composants développés séparément. Cette expérience m’a permis de comprendre concrètement les problèmes que Git résout dans un travail d’équipe. Nous avons finalisé l’application et l’avons remise à l’école avec son code source.

  • Java
  • Swing
  • JDBC
  • MySQL
  • Git

Compétences techniques

Backend & JVM

  • Java
  • Quarkus
  • Python
  • Maven
  • JPA / Hibernate

Identité & sécurité des API

  • OAuth 2.0
  • OpenID Connect
  • JSON Web Tokens
  • OpenAPI

Données & messagerie

  • PostgreSQL
  • MongoDB
  • Redis
  • Liquibase
  • RabbitMQ
  • MinIO

Cloud & exploitation

  • Docker
  • Kubernetes
  • Helm
  • Microsoft Azure
  • AWS

Ingénierie web

  • TypeScript
  • JavaScript
  • Node.js
  • React

Tests, outillage & IA

  • JUnit 5
  • Apache JMeter
  • Postman
  • Git
  • GitLab
  • UML
  • GitHub Copilot
  • Windsurf
  • Claude Code