Projet Hermes

Le projet Hermes est un outil de capture des changements de données (CDC) depuis n’importe quelles sources vers n’importe quelles cibles, conçu et développé par Boris Lechner, de l'INSA Strasbourg, et avec la contribution de Julien Houchard, de l'INSA Rouen Normandie. Le code source d’Hermes est publié sous la licence GPLv3.

Hermes a été utilisé dans le contexte d'homogénéisation des données des différents annuaires vers un méta-annuaire, où il fallait un outil capable d'interroger régulièrement les différentes bases de données pour vérifier les éventuelles modifications (ajout, suppression, modification) et, à la suite, les répercuter dans le méta-annuaire.

Mots-clés

Capture des modifications de données, flux d’événements, intégration de données, multi-sources, multi-cibles, open source, plugins, python, moissonnage, base de données, annuaires

Publics cibles

En priorité, les Services Informatiques des Etablissements d'Enseignement Supérieur via les projets DemoES et, par extension, les services informatiques, notamment du service public, souhaitant bénéficier d'une solution de capture des changements de données, souveraine et libre.

Objectifs

Créer une application de synchronisation de données depuis n’importe quelles sources vers n’importe quelles cibles, qui gère toute la complexité et la reprise sur incidents.

Son utilisation permet de porter l'attention sur la partie « métier » :

  • Définir des objets et des attributs à collecter avec leurs contraintes d’intégrité

  • Eventuellement implémenter le « dernier kilomètre » de la synchronisation : les méthodes d’ajout, modification et suppression d’un unique objet sur la cible.

Acteurs

Boris Lechner (Chef de projet SI, INSA Strasbourg)

Avec le soutien de Julien Houchard (Développeur DemoES INSA 2025 de l'INSA Rouen Normandie)

Résumé

Hermes est une application open source polyvalente de synchronisation de données d’un ou plusieurs référentiels « sources » vers des destinations « cibles », utilisant les principes de capture de changements de données [1](change data capture).

Développée à l’INSA Strasbourg pour propager les données du référentiel des utilisateurs et des groupes vers des cibles telles que le LDAP ou l’Active Directory, sa polyvalence a convaincu l’INSA Rouen Normandie qui l’a intégrée comme brique de synchronisation dans l'action 1 d’entrepôt de données communes à l’ensemble des établissements du Groupe INSA.

Calendrier de déploiement

2023-2025

Contacts

Boris Lechner (Chef de projet SI, INSA Strasbourg)

Eric Louvel (DSI, INSA Strasbourg)

Ressources

Site du projet (présentation, mise en service, maintenance, exemples...)

Poster explicatif au format .pdf

Github code sources

Github documentation

Conditions d'utilisation