Ce post fait un résumé du déroulement du sprint ODIN+ réalisé en janvier 2026, dans le cadre de l’ADT HoODINg

Introduction

ODIN+ est un framework pour implémenter des algorithmes de contrôle. L’ADT est portée par Olivier Bernard (équipe GREENOWL), en collaboration avec le Laboratoire Océanographique de Villefranche.

Le logiciel est développé depuis 2018, utilise des technologies Erlang, MQTT et Python pour le logiciel controllant le hardware et est piloté par une interface Wev développée en RubyOnRails/React. Il fait suite à ODIN, développé en C++/Corba au milieu des années 2000.

Rappel des objectifs du logiciel:

  • Implémenter des algorithmes sur des systèmes biologiques réels
  • Acquisition et gestion des données en-ligne/hors-ligne, gestion des actionneurs

Il est utilisé (et co-développé) par l’équipe MICROCOSME à l’Inria Grenoble, et est également utilisé par l’Inrae au LBE à Narbonne.

Objectifs de l’ADT arbitrée en 2025:

  1. Support pour l’intégration de nouvelles composantes matériel (en particulier les nouvelles générations d’automates)
  2. Correction des bugs les plus pénalisants
  3. Interactions avec des collègues développeurs INRAE pour interfacer ODIN+ à la base de données INRAE OpenSILEX (futur: Machine Learning).
  4. Échange de connaissances avec les collègues de l’EP Microcosme à Grenoble (futur: gestion des ressources partagées)

Resources

Ce sprint s’est déroulé du 12 janvier 10h au 15 janvier 2026 en mode AMDT. Les personnes impliquées étaient:

Pour l’AMDT:

  • Nicolas Niclausse
  • Jean-Luc Szpyrka
  • Thibaud Kloczko
  • Côme Le Breton
  • Alexis Gobé
  • Julien Wintz
  • Erwan Demairy

Coté GreenOwl, LBE et Microcosme:

  • Olivier Bernard (GreenOwl)
  • Solène Jahan (GreenOwl / LOV)

  • Virginie Rossard (LBE)
  • Éric Latrille (LBE)
  • Denis Loisel (LBE)

  • Eugenio Cinquemani (Microcosme)
  • Soraya Arias (SED Grenoble)

Objectifs du sprint

Le principal objectif du sprint était de spécifier les besoins pour la synchronisation entre ODIN+ et ENVIBIS, et de proposer une implémentation. Le second objectif était de continuer à traiter le point 2, ie. corrections de bugs et améliorations dans l’interface odin-monitor.

Tâches réalisées

Odin-monitor

Calibration

  • Correction de l’affichage du l’export des calibrations

Campagnes

  • Correction d’un bug d’affichage après ajout d’un membre à une campagne

Synoptique

  • Prise en compte des valeurs “out of domain” des capteurs calibrés (affichage avec arrière plan en rouge)

Algorithmes

  • Amélioration de l’interface d’édition en séparant en deux l’édition: coté gauche le coté yaml et coté droit le code python;
  • Les deux éditeurs se basent sur l’éditeur monaco avec coloration syntaxique et complétion automatique

Graphiques

  • Gestion des couleurs cohérente entre les différents graphes (un même capteur utilise la même couleur)
  • Ajout de l’édition des couleurs des courbes, possibilité de changer les couleurs pour un graphe de façon locale
  • Correction de l’affichage des axes (alternativement à gauche, puis droite, etc.)
  • Correction de l’affichage des estimates en cas d’utilisation d’estimates ayant le même nom dans plusieurs campagnes
  • Correction de l’export des données: possibilité de sauver une plage de date spécifique pour le csv (sans limitations) et ajout d’une colonne unité
  • Suppression de la limitation à 5j d’un ‘historical graph’; ajout d’une limite de 100k points par courbes

Configuration

  • Interdiction de supprimer la configuration par défaut (ceci pouvait rendre l’application inutilisable)

Diagnostics

  • Correctif mineur dans la page diagnostique
  • Correctif d’affichage lors d’un refresh

Amélioration générale

  • Refonte du stockage de l’état des pages, notamment la configuration du dashboard

OpenSILEX

Rédaction d’un document sur la terminologie ODIN+ et ENVIBIS, proposition d’un schéma de synchronisation entre les deux logiciels:

Expérimentation dans une branche d’un outil de synchronisation automatique (via un script ruby lancé périodiquement)

Releases

2.1.3

Release 2.1.3 de odin-monitor pour ubuntu 24 amd64/arm64 (Notes de version)

2.1.4

Quelques correctifs après tests de la version précédente

Release 2.1.4 de odin-monitor pour ubuntu 24 amd64/arm64 (Notes de version)

Démo

Suite du projet

OpenSILEX

TODO: Validation des ajouts à faire dans la configuration de Odin+ afin de faciliter la synchronisation avec Envibis

TODO: Validation du LBE avant de finaliser le prototype du module de synchronisation automatique

Gestion matérielle

  • Tester l’interconnection avec des nouveaux matériels acheté au LOV (avec l’aide de Nicolas Chleq ?)