Skip to content

OPAL v3.0.0

Choose a tag to compare

@Dorian-APHM Dorian-APHM released this 21 May 14:27
· 94 commits to main since this release

Highlights

OPAL v3.0.0 transforme la plateforme en une release de livraison portable: Keycloak/LDAP intégré, scripts d'install autonomes, nettoyage de toutes les références APHM hardcodées, et un nouveau viewer de lineage ETL.

Authentification & sécurité

  • Keycloak intégré dans docker-compose avec realm auto-importé (opal-realm.json)
  • Fédération LDAP : script setup_keycloak.example.sh idempotent + auto-détection LDAP côté backend
  • Nouveau client opal-cli (Direct Access Grants) pour permettre aux scripts admin de récupérer un token sans browser
  • Modale "mot de passe temporaire" pour gérer le premier login Keycloak
  • AUTH_ENABLED=true par défaut, mode dev restreint à localhost
  • Rate limiting sur 10+ endpoints sensibles, audits sécurité S01–S11 corrigés

Mapping

  • Workflow per-user avec validation consensus : chaque utilisateur fait ses propres décisions, un admin valide
  • Write to CDM (table source_to_concept_map) avec log d'apply + rollback
  • Export Usagi CSV compatible OHDSI Usagi
  • Historique avec colonnes triables, pagination serveur, badges "pending"
  • Labels FR enrichis depuis les codebooks de référence
  • Single-suggestion mode pour le mapping manuel

Cohort builder

  • Pathways Analysis ATLAS-style : sunburst interactif des séquences de traitement
  • Support des source codes dans les pathways
  • Per-cohort state scoping, persistance DB
  • Fix: inclusion des concept IDs sélectionnés lors de l'expansion des descendants

Concept Explorer

  • Source value cache : recherche instantanée sur tous les domaines (pré-calculé en DB)
  • Support ATC pour le domaine Drug (recherche par code ATC dans concepts, cohort, mapping, cache)
  • Concept sets dual storage : OMOP concepts + source codes, sync live avec cohort builder
  • Export CSV depuis les résultats affichés (cohérent avec ce que l'user voit)

OHDSI

  • Tools vendored dans ohdsi-tools/ (Dockerfile + R scripts + JDBC) pour install autonome
  • Chemins host portables via ${PWD}, plus de hardcode
  • Per-CDM output folders
  • databaseId / authors configurables via env vars

Data Lineage (nouveau)

  • Viewer ETL : upload + parse + visualisation interactive des lineages
  • Support des fichiers HTML sauvés par le navigateur (gestion <br> vs <br/>)

Notifications

  • Refonte temps-réel WebSocket : suppression complète du polling
  • Nginx proxy WebSocket + CSP correctement configurés
  • 71 tests dédiés

UI / UX

  • Neumorphic Emerald Night : nouveau design system, remplacement complet d'Ant Design
  • Crème Sauge light mode : palette beige/vert pâle, dark/light comparison
  • Micro-animations, skeleton loaders, transitions de thème, empty/error states riches
  • Toutes les pages responsive
  • Indicateurs visuels de champs requis sur les formulaires
  • Charts theme-aware, accessibilité améliorée

Data extraction & dashboard

  • Nouveau paradigme d'extraction : CSV per-table dans un ZIP, schéma BDR fourni
  • Homepage redesign : KPIs, mapping chart, actions par rôle
  • Barres gradient par % de mapping, table d'overview des domaines

Install & bootstrap

  • reload_codebooks.sh simplifié : modes --referentiel / --mapping mutuellement exclusifs, token auto-récupéré via OPAL_USER / OPAL_PASSWORD
  • Cleanup APHM : proxy IP, chemins /data/Dorian, password Admin@2026!, "Matricule APHM" → tous remplacés par des placeholders/env vars portables
  • Section proxy et tuning ajoutée à .env.example

Tests

  • 477 tests au total (couverture 60% → 75%+)
  • Backend: 114 nouveaux tests
  • Frontend: 84 tests UI/UX
  • WebSocket, pagination, cache, csv_safety, thread_pool

Installation

# Recommandé : clone du tag
git clone --branch v3.0.0 --depth 1 https://github.com/Dorian-APHM/OPAL.git
cd OPAL
cp .env.example .env  # éditer les valeurs
docker compose up -d