⚠️ Mise à jour importante concernant la page d'accueil du cours

Suite à une récente mise en garde de sécurité concernant PHP (mise en garde de sécurité CERT-EU 2026-018, CVE-2026-109618 et CVE-2026-109619 — risque d'exécution de code à distance), la page d'accueil du cours a été déplacée de son installation PHP précédente. Les supports de cours ne sont pas affectés : diapositives, notes, exercices et autres documents restent disponibles à l'endroit habituel.

Étudiants LP ECMN (WebLang) — supports de cours :

Introduction et IA

Frontend

Backend

Bases de données

Emmanuel Bruno

Maître de conférences

Université de Toulon · UFR Sciences et Techniques
Chercheur au LIS (UMR 7020), équipe R2I, site de Toulon

Data Management · Information Retrieval · Large Language Models · Multi-Agent Systems · Affective Computing

Enseignement

Mes enseignements portent sur le développement logiciel et les architectures distribuées, avec un accent sur les pratiques modernes d'ingénierie. Les supports ci-dessous proviennent du catalogue pédagogique généré à partir de l'organisation GitHub ebpro().

Domaines d'enseignement

Java et programmation objet · Git · méthodes agiles · CI/CD · services REST · JPA · microservices · conteneurs · développement web et mobile.

Cours universitaires

Master Informatique (UTLN)

M1 S1DEV-OOCOL (POO, Java, Git)
M1 S2DEV-ADV (Conteneurs, JPA, REST)
M1 S2DEV-ADV (legacy 2024-25) → voir DEV-ADV
M2 S1DEV-EXP (Serveurs d'applications)

Catalogue des supports pédagogiques

Mes supports de cours, notebooks, présentations, documents HTML/PDF et exemples fonctionnels sont regroupés dans un catalogue dédié, organisé par enseignement et produit selon des pratiques d'intégration continue (CI/CD).

Accéder au catalogue pédagogique

Ancien catalogue :bruno.univ-tln.fr/teaching-material/catalog/

Notebooks pédagogiques

notebook-java-ontologies

Introduction pratique aux ontologies OWL

PartielNon publiéSource

notebook-java-reactive

Programmation réactive en Java

PartielNon publiéSource

Exemples et applications de démonstration

ConflictBot

Dépôt Java/Maven minimal de support aux exercices Git du cours : fusions et conflits de branches.

Non publiéSource

dev-oocol-fil-rouge

Fil rouge DEV-OOCOL (M1 Info & Math) : projet Java multi-module guidé, domaine transport public Trans'U.

m1-info-mathNon publiéSource

ecommerce-catalog

Product-catalog monorepo : API REST Express et PostgreSQL (Drizzle ORM) avec client React Vite Tailwind.

Source

fullstack-minimal-app

Catalogue produit full-stack minimal (React, Express, MySQL, Docker), exemple d'enseignement du cours WebLang.

Non publiéSource

HelloGit

Dépôt Java/Maven minimal de support aux exercices Git du cours : clonage, commits, branches et tags.

Source

notebook-containers-intro-sample-java

Exemple Java pour containers-intro

Non publiéSource

notebook-containers-intro-sample-python

Exemple Python pour containers-intro

Non publiéSource

notebook-mobiledev-kotlin-persistence

Kotlin Persistence : Room et stockage mobile

Non publiéSource

sample-annotationprocessor

Exemple d'annotation processor Java : l'annotation @DTO génère des classes DTO à la compilation.

GeléNon publiéSource

sample-cdi

Exemple CDI et Jakarta EE : qualifiers, producers, interceptors et decorators, exécutable en SE ou en serveur.

GeléNon publiéSource

sample-containers-c

Exemple C pour containers-intro

Non publiéSource

sample-containers-exercices-images

Exercices images Docker (containers-intro)

Non publiéSource

sample-containers-helloworld

Hello World Docker (containers-intro)

Non publiéSource

sample-containers-java-helloworld

Hello World Java Docker

Non publiéSource

sample-containers-java-restjpa

Exemple REST+JPA Java Docker

Non publiéSource

sample-containers-multiarch

Exemple multi-arch Docker

Non publiéSource

sample-containers-python-helloworld

Hello World Python Docker

Non publiéSource

sample-containers-python-rest

Exemple REST Python Docker

Non publiéSource

sample-containers-sqlite

Exemple SQLite Docker

Non publiéSource

sample-hellojpa

Exemple JPA hello world : entités, associations one-to-many et many-to-many, transactions et tests.

GeléNon publiéSource

sample-jakarta-rest-full

Exemple JAX-RS complet (Jakarta REST)

PartielNon publiéSource

sample-java-tcp-client-server

Exemple TCP Client/Server Java

PartielNon publiéSource

sample-javafx-client

Exemple client JavaFX

Non publiéSource

sample-jdbcdao

Exemple de DAO JDBC générique sur base H2 : opérations de CRUD et datasource DBCP configuré par propriétés.

GeléNon publiéSource

sample-jpa

Application JPA simple.

GeléNon publiéSource

sample-jpalibrary

Exemple JPA/Hibernate : gestion de bibliothèque, relations d'entités, transactions et tests de persistance.

GeléNon publiéSource

sample-kotlin-basic-exercises

Exercices Kotlin basiques

Non publiéSource

sample-quarkus-rest

Exemple REST Quarkus

Non publiéSource

sample-websocket

Exemple d'application WebSocket.

GeléNon publiéSource

Recherche

Mes travaux portent sur la gestion des données, larecherche d'information et les interactions entre intelligence artificielle et humains. Mes recherches actuelles s'articulent autour de deux axes principaux, tous deux menés en collaboration avec Elisabeth Murisasco etPatrice Bellot.

Interaction humains–grands modèles de langage

Ces travaux prolongent la thèse de Xavier Daull, co-encadrée avec Elisabeth Murisasco et Patrice Bellot. Je conçois des architectures combinant grands modèles de langage (LLM) et expertise humaine pour résoudre des problèmes complexes, notamment dans des contextes impliquant des données sensibles.

Ces architectures sont multi-agents avec expert dans la boucle : plusieurs agents LLM collaborent afin de concevoir, vérifier et capitaliser des outils réutilisables. Les applications concernent notamment la génération de documents scientifiques (articles, brevets) à partir d'informations initiales limitées telles qu'un titre et un résumé.

Analyse des émotions et des sentiments

Ces travaux s'inscrivent dans la continuité de la thèse deSoelie Lerch, co-encadrée avec Elisabeth Murisasco et Patrice Bellot. Je développe des approchesmultimodales combinant texte, audio, vidéo et signaux physiologiques afin de modéliser l'émotion ressentie et d'étudier la proximité émotionnelle entre contenus. Cette thèse a abouti au projet EMOLIS, consacré à l'analyse émotionnelle, aux jeux de données multimodaux et à la recommandation de contenus adaptés.

Publications

Toutes les publications :

Interaction LLM–humain

A Flexible Multi-Agent LLM-Human Framework for Fast Human Validated Tool Building

X. Daull, P. Bellot, E. Bruno, V. Martin, E. Murisasco

IEEE/WIC WI-IAT 2025, 2025

CollabToolBuilder : cadre multi-agents (Coach, Coder, Critic, Capitalizer) avec expert dans la boucle pour générer, valider et capitaliser des outils réutilisables.

DOIHAL

An Adaptive Agentic Tool Building Architecture leveraging Expert-in-the-Loop Guidance, applied to Document Generation

X. Daull, E. Murisasco, P. Bellot, E. Bruno, V. Martin

ACM DocEng 2025, 2025

Architecture agentique générique exploitant plusieurs agents LLM et la supervision d'un expert humain pour rechercher l'information et générer des documents.

DOIHAL

Développement collaboratif d'outils par des agents LLM et humains : application à la synthèse scientifique

X. Daull, E. Murisasco, P. Bellot, E. Bruno, V. Martin

EGC 2025 / RNTI-E-41, 2025

Approche collaborative LLM–humain permettant de générer et valider des fonctions neuro-symboliques Python et de construire progressivement des outils réutilisables.

HAL

Complex QA and language models hybrid architectures — Survey

X. Daull, P. Bellot, E. Bruno, V. Martin, E. Murisasco

Prépublication, 2023 (v. 2025)

État de l'art sur les limites des grands modèles de langage et les architectures hybrides combinant raisonnement, outils externes et supervision humaine.

DOIarXivHAL

Analyse émotionnelle

EMOLIS App and Dataset to Find Emotionally Close Cartoons

S. Lerch, P. Bellot, E. Bruno, E. Murisasco

LREC-COLING 2024, 2024

Jeu de données multimodal associant transcriptions émotionnelles et signaux physiologiques, accompagné d'une application de recommandation de contenus émotionnellement proches.

DOIACLHAL

Classification documentaire

Exploiting Label Dependencies for Multi-Label Document Classification Using Transformers

H. Fallah, E. Bruno, P. Bellot, E. Murisasco

ACM DocEng 2023, 2023

Approche exploitant les dépendances entre labels afin d'améliorer la classification documentaire multi-étiquette basée sur les Transformers.

DOIHAL

Contact

Coordonnées

Emmanuel Bruno
Université de Toulon
Avenue de l'Université
BP 20132
83957 La Garde Cedex, France
bruno.univ-tln.fr
emmanuel.bruno@univ-tln.fr

Clé PGP

Empreinte de la clé publique :

116C CE5F BA2C 0D37 D355 940E 400F 583C 1F81 2EDB

Clé publique sur demande :emmanuel.bruno@univ-tln.fr