Théo DULUARD
Analyste-Développeur Logiciel
Diplômé d'un Master en Informatique avec 2 ans d'alternance, je me spécialise en développement Java/JS côté backend et React côté frontend. Curieux, rigoureux et sérieux, je cherche à apporter de la valeur à chaque projet sur lequel je travaille.
Stack principale
01. Cursus Scolaire
Master en Informatique, spécialisé en Ingénierie Logicielle
Université de Rennes • 2024 - 2026
Formation orientée conception de logiciels complexes, architectures distribuées et qualité logicielle. Axée sur les pratiques industrielles modernes : micro-services, cloud, vérification formelle et développement mobile.
Concepts étudiés
Technologies & Outils
Licence en Informatique
Université du Mans • 2021 - 2024
Formation pluridisciplinaire couvrant les fondements de l'informatique : algorithmique, programmation orientée objet, bases de données, réseaux et développement web. Réalisée en parallèle de mon alternance chez Horizon Trading Solutions.
Concepts étudiés
Technologies & Outils
1ère année de Licence — Mathématiques et Applications
Université du Mans • 2020 - 2021
Année universitaire centrée sur les fondements mathématiques et leur application à l'informatique et aux sciences. A renforcé ma rigueur analytique et ma capacité d'abstraction, utiles en programmation et en algorithmique.
Concepts étudiés
Technologies & Outils
02. Expériences Pros
Développeur Java
Horizon Trading Solutions · Rennes
Éditeur de solutions de trading algorithmique temps réel pour banques d'investissement et brokers (130+ collaborateurs, présence internationale).
- Conception et développement d'un système de Functional Monitoring pour la plateforme H3 : capture en temps réel des métriques d'activité client via un framework de messaging haute performance (Aeron).
- Centralisation des événements de marché (ordres, volumes) dans une base de données de séries temporelles (InfluxDB) et visualisation via Grafana.
- Développement d'un processus d'extraction de données (requêtes Flux, export CSV) permettant l'analyse des volumes d'activité client et le suivi des métriques d'usage.
- Contributions diverses : correction de bugs, amélioration de logiques métier, gestion d'exceptions dans un environnement distribué, rédaction de tests unitaires et d'intégration (JUnit, Mockito).
- Cycle Agile Scrum (sprints de 2 semaines) : grooming, estimation, code review systématique, contrôle qualité et livraison continue.
Stack
Développeur Java — Intégration & Onboarding
Horizon Trading Solutions · Rennes
Stage de pré-embauche en vue de l'alternance de Master, intégré à une équipe Scrum sur la plateforme de trading H3.
- Onboarding et prise en main de l'environnement de développement (IntelliJ IDEA, Git, Gradle, Jenkins) et découverte fonctionnelle de la plateforme de trading H3.
- Configuration d'un environnement de trading local complet : importation d'instruments financiers, gestion d'ordres et lecture du carnet de profondeur de marché.
- Développement d'un client Java de connectivité marché : souscription aux flux d'événements temps réel (ordres, profondeur), envoi d'ordres et implémentation d'une stratégie de réponse automatique.
- Réalisation des premiers tickets Jira en autonomie : développement de fonctionnalités et corrections en Java dans le cycle Scrum de l'équipe.
Stack
03. Projets Personnels et Universitaires
VoiceMail AI Assistant
Assistant vocal IA de gestion d'e-mails, architecturé autour d'un pattern BFF orchestrant plusieurs micro-services (11 conteneurs Docker) avec traitement local via un LLM.
- Privacy by Design : Anonymisation automatique des données personnelles avant traitement par le modèle.
- NLU local : Analyse d'intention via Ollama (Llama 3.1) pour générer des plans d'action JSON validés par schéma.
Stack Technique
Cliquez sur ▶ pour simuler un traitement de commande vocale.
Allo-Mission
Plateforme de mise en relation professionnelle. Les recruteurs peuvent publier des offres d'emploi détaillées, tandis que les candidats ont la possibilité de consulter ces annonces et d'y postuler directement depuis leur smartphone.
- Double rôle : Interface dédiée recruteur (publication, gestion des offres) et interface candidat (recherche, candidature en un tap).
- Authentification Firebase : Gestion des comptes, persistance de session et sécurisation des données en temps réel.
- Cross-platform : Application Expo déployée sur iOS et Android depuis une base de code unique en TypeScript.
Stack Technique
Jibrax API
Système complet de gestion de projet orienté équipe, conçu pour appliquer des principes avancés de conception logicielle et de persistance des données. L'architecture simule un environnement collaboratif réel.
- Architecture à 4 entités : Gestion des Utilisateurs, Équipes, Projets et Tâches.
- Opérations CRUD : Création et gestion complète du cycle de vie de chaque entité.
- Requêtes avancées : Filtrage des utilisateurs actifs, récupération des projets par leader, filtrage des tâches par assignation ou équipe.
Stack Technique
"count": 3,
"users": [
{ "id": 1, "name": "t.duluard", "role": "ADMIN" },
{ "id": 2, "name": "a.martin", "role": "DEV" },
{ "id": 3, "name": "l.chen", "role": "DEV" }
]
}
"team": "Backend Squad",
"projects": [
{ "id": 1042, "name": "Jibrax Migration", "status": "IN_PROGRESS" },
{ "id": 1043, "name": "Auth Refactor", "status": "DONE" }
]
}
"open_tasks": 4,
"items": [
{ "id": 201, "title": "Fix N+1 queries", "priority": "HIGH" },
{ "id": 202, "title": "Add pagination", "priority": "MED" },
{ "id": 203, "title": "JWT refresh flow", "priority": "HIGH" }
]
}
{
"id": 204,
"title": "Write unit tests",
"assignee": "t.duluard",
"project_id": 1042,
"created_at": "2025-05-18T09:41:00Z"
}
RoboML
Conception d'un langage dédié (DSL) pour la programmation d'un robot à quatre roues. Le projet couvre l'intégralité du cycle de développement d'un langage : métamodèle, éditeur avec coloration syntaxique, interpréteur web et compilateur vers Arduino.
- Syntaxe abstraite : Définition du métamodèle avec Ecore, gestion des mouvements, capteurs, variables et structures de contrôle.
- Éditeur VSCode : Grammaire Langium avec coloration syntaxique et autocomplétion intégrées.
- Double sémantique : Interpréteur avec simulateur visuel (P5.js) et compilateur générant du code Arduino exécutable sur matériel réel.
Stack Technique
RoboML — simulation en direct
GitLab CI/CD Pipeline
Mise en place d'un pipeline CI/CD complet sur GitLab pour une application Java Spring Boot. Le pipeline automatise l'ensemble du cycle de livraison, du build jusqu'au déploiement sur AWS EC2.
- Pipeline 5 étapes : Build → Tests (JUnit + JaCoCo) → Documentation (JavaDoc) → Release automatisée → Déploiement SSH sur EC2.
- Qualité intégrée : Couverture de code JaCoCo, génération de badges de statut et rapports d'artefacts automatiques.
- Versioning automatique : Création de releases GitLab avec tags et changelogs générés à chaque livraison.
Stack Technique
.gitlab-ci.yml
At Wok
Simulation console du fonctionnement d'un restaurant (serveurs, cuisiniers, clients). L'objectif de cette application est la maîtrise de la programmation concurrente et la résolution des problématiques d'accès simultanés aux ressources.
- Sémaphores : Gestion des files d'attente complexes et limitation des accès concurrents.
- Blocs Synchronized : Protection des variables partagées pour éviter les *Race Conditions*.
- Multithreading : Exécution parallèle du cycle de vie de chaque acteur du restaurant.
Stack Technique
🍜 At Wok
🪑 Salle (Clients)
📋 Terminal (WebSocket)
JacoBhashi
Application de bureau développée en équipe (8 membres) pour le puzzle Hashi. Elle orchestre une interface riche via JavaFX et un backend Spring Boot, proposant le mode classique et un mode "Breaking Bridges" innovant.
- Assistance Avancée : Système expert suggérant des coups, vérificateur de solution intégré, et "Hypothesis Mode" pour tester des chemins.
- Persistance & Progression : Sauvegardes de parties liées aux profils utilisateurs, système de "Undo/Redo", et leaderboards intégrés.