Repository navigation
OPAL v3.0.0
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.shidempotent + 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/authorsconfigurables 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.shsimplifié : modes--referentiel/--mappingmutuellement exclusifs, token auto-récupéré viaOPAL_USER/OPAL_PASSWORD- Cleanup APHM : proxy IP, chemins
/data/Dorian, passwordAdmin@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