File size: 4,031 Bytes
17cc547
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
"""Palettes de couleurs CSS β€” partagΓ©es entre rapport HTML et modules de rendu.

Sprint A7 (item m-5 de l'audit institutional-readiness-2026-05) :
introduction d'une **palette daltonien-friendly** (Okabe-Ito) qui
remplace la palette historique rouge/vert/orange (problΓ©matique pour
les ~8 % d'hommes atteints de deutΓ©ranopie ou protanopie).

Conventions
-----------
- ``COLOR_*`` / ``BG_*`` : alias actifs **par dΓ©faut** (palette
  Okabe-Ito 2008).  Les modules de rendu Python utilisent ces
  symboles directement.
- ``CLASSIC_*`` : palette historique (rouge/jaune/orange/vert),
  conservΓ©e pour rΓ©trocompat et accessible via le toggle utilisateur
  dans le rapport (``?palette=classic`` ou case Γ  cocher dans le
  panneau Β« AvancΓ© Β»).
- Les contrastes sur fond blanc sont vΓ©rifiΓ©s WCAG 2.1 AA
  (β‰₯ 4,5:1 pour le texte normal).

La palette Okabe-Ito (Okabe & Ito, 2008) est recommandΓ©e par les
revues scientifiques accessibles et est l'une des premières palettes
qualitatives non confondables pour les trois principales formes de
daltonisme (deutΓ©ranopie, protanopie, tritanopie).
"""

# ──────────────────────────────────────────────────────────────────
# Palette Okabe-Ito 2008 β€” daltonien-friendly (active par dΓ©faut).
# Source : https://jfly.uni-koeln.de/color/
# Mapping bon β†’ mauvais utilisΓ© par ``difficulty_color`` (Sprint 19+) :
#   facile     β†’ bleu     #0072B2 (Okabe-Ito blue)
#   modΓ©rΓ©     β†’ jaune    #F0E442 (Okabe-Ito yellow, lisible sur fond clair)
#   difficile  β†’ orange   #E69F00 (Okabe-Ito orange)
#   critique   β†’ vermillon #D55E00 (Okabe-Ito vermillion)
#
# Remplace l'ancien green/yellow/orange/red qui posait deux problèmes :
# - rouge/vert indistinguables en deutΓ©ranopie ;
# - le rouge ``#dc2626`` ratait le contraste 4,5:1 sur fond ``#ffedd5``.
# ──────────────────────────────────────────────────────────────────
COLOR_GREEN = "#0072B2"     # bleu Okabe-Ito (substitut sΓ©mantique du Β« bon Β»)
COLOR_YELLOW = "#F0E442"    # jaune Okabe-Ito
COLOR_ORANGE = "#E69F00"    # orange Okabe-Ito
COLOR_RED = "#D55E00"       # vermillon Okabe-Ito (substitut sΓ©mantique du Β« mauvais Β»)

# Backgrounds clairs associΓ©s (couleur diluΓ©e Γ  ~85 % de blanc).
# Maintiennent un contraste β‰₯ 7:1 avec le texte gris foncΓ© du rapport.
BG_GREEN = "#cfe5f4"        # bleu très clair
BG_YELLOW = "#fefbcd"       # jaune très clair
BG_ORANGE = "#fbe4bf"       # orange très clair
BG_RED = "#fbd6c1"          # vermillon très clair

# ──────────────────────────────────────────────────────────────────
# Palette historique (Β« classic Β») β€” rΓ©trocompat + toggle UI.
#
# Disponible cΓ΄tΓ© frontend via ``?palette=classic`` ou la case Γ 
# cocher du panneau Β« AvancΓ© Β».  CΓ΄tΓ© Python, ces symboles sont
# importables explicitement par les modules qui veulent une teinte
# spΓ©cifique Γ  la palette historique (exemple : badges legacy d'un
# ancien rapport archivΓ©).
# ──────────────────────────────────────────────────────────────────
CLASSIC_GREEN = "#16a34a"
CLASSIC_YELLOW = "#ca8a04"
CLASSIC_ORANGE = "#ea580c"
CLASSIC_RED = "#dc2626"

CLASSIC_BG_GREEN = "#dcfce7"
CLASSIC_BG_YELLOW = "#fef9c3"
CLASSIC_BG_ORANGE = "#ffedd5"
CLASSIC_BG_RED = "#fee2e2"


__all__ = [
    "COLOR_GREEN", "COLOR_YELLOW", "COLOR_ORANGE", "COLOR_RED",
    "BG_GREEN", "BG_YELLOW", "BG_ORANGE", "BG_RED",
    "CLASSIC_GREEN", "CLASSIC_YELLOW", "CLASSIC_ORANGE", "CLASSIC_RED",
    "CLASSIC_BG_GREEN", "CLASSIC_BG_YELLOW", "CLASSIC_BG_ORANGE", "CLASSIC_BG_RED",
]