diff --git a/.gitignore b/.gitignore index 51b52c5..ccab9f9 100644 --- a/.gitignore +++ b/.gitignore @@ -27,6 +27,7 @@ changes.txt !deployment/**/*.md !client_docs/**/*.md !client_docs/*.md +!src/legal/content/*.md docker-compose.dev.yml docker-compose.lite.yml docker-compose.postgres.yml diff --git a/src/api/auth.py b/src/api/auth.py index d19ccc0..48e65c2 100644 --- a/src/api/auth.py +++ b/src/api/auth.py @@ -129,9 +129,10 @@ def csrf_exempt(f): # --- Constants --- -# B-2.9 will define the canonical LEGAL_VERSION constant in src/legal/__init__.py. -# Until then, use the ISO date of the current legal text revision as the placeholder. -SIGNUP_LEGAL_VERSION = '2026-04-27' +# Canonical LEGAL_VERSION lives in src/legal/__init__.py (B-2.9). Re-exported +# here under the historical name so existing call sites in this file +# (consent_log.version, signup view) keep working without touching them. +from src.legal import LEGAL_VERSION as SIGNUP_LEGAL_VERSION # noqa: E402 # --- Forms --- diff --git a/src/legal/__init__.py b/src/legal/__init__.py index ffa13c6..2ae60b4 100644 --- a/src/legal/__init__.py +++ b/src/legal/__init__.py @@ -2,12 +2,16 @@ Accessibilite, Mentions. Mounted at /legal/* prefix. Content rendered from markdown files in -src/legal/content/ (added in Task B-2.9). - -Routes added in Task B-2.9. +src/legal/content/ (B-2.9). All 6 pages publicly indexable (Loi 25 transparency). """ from flask import Blueprint +# Canonical version of all 6 legal documents. Bump when ANY of the markdown +# files in src/legal/content/ is updated. Stored on every ConsentLog row at +# signup time (src/api/auth.py uses this to stamp consent_log.version). +# Format: ISO date 'YYYY-MM-DD' of the document revision. +LEGAL_VERSION = '2026-04-27' + legal_bp = Blueprint( 'legal', __name__, @@ -15,3 +19,6 @@ legal_bp = Blueprint( template_folder='../../templates/legal', static_folder=None, ) + +# Register routes +from src.legal import routes # noqa: E402, F401 diff --git a/src/legal/content/accessibilite.md b/src/legal/content/accessibilite.md new file mode 100644 index 0000000..0e9d760 --- /dev/null +++ b/src/legal/content/accessibilite.md @@ -0,0 +1,66 @@ + + +## 1. Engagement DictIA pour l'accessibilité numérique + +DictIA Inc. (filiale d'InnovA AI S.E.N.C., 77 chemin de la Seigneurie, Inverness QC G0S 1K0) considère que l'accessibilité numérique est un droit fondamental. Notre mission de transcription IA conforme à la Loi 25 s'adresse à des professionnels exigeants, dont certains vivent avec un handicap visuel, auditif, moteur ou cognitif. Nous nous engageons à rendre nos interfaces utilisables par toutes et tous. + +## 2. Niveau de conformité visé + +Le niveau de conformité visé par DictIA est **WCAG 2.2 niveau AA** (*Web Content Accessibility Guidelines*, version 2.2, niveau AA — recommandation officielle du W3C). + +Ce standard couvre les quatre principes fondamentaux : perceptible, utilisable, compréhensible et robuste. + +## 3. Standards techniques appliqués + +L'équipe DictIA applique systématiquement les bonnes pratiques suivantes lors du développement : + +- **Sémantique HTML5** : utilisation appropriée des balises `
`, `