feat(marketing): A-2.8a /tarifs + /fonctionnalites standalone pages

- /tarifs page: extends base.html, reuses pricing_card + button macros,
  shows the 3 forfaits with NBSP-formatted CAD prices, an 8-row deep-dive
  comparison matrix (DictIA 8 vs DictIA 16 vs DictIA Cloud), 5 tarification
  FAQ items (frais cachés, migration, GPU, taxes TPS/TVQ, plans annuels)
  with Alpine accordion + focus-visible WCAG 2.2 AA, CTA section
- /fonctionnalites page: extends base.html, reuses bento_card macro,
  re-renders the 6 features with same content as landing's bento section
  for consistency, adds dedicated 7-format export grid + 8-integration
  grid (with trademark disclaimer) + 6 tech specs section (Whisper/pyannote
  /Mistral/stack/audio/langues), CTA section
- routes.py: add /tarifs and /fonctionnalites routes (passes FAQ to /tarifs
  for the tarification accordion; preserves existing landing(), TESTIMONIALS,
  FAQ data structures unchanged)
- tests/test_marketing_secondary_pages.py: NEW test file (16 tests covering
  routes 200, base.html inheritance, H1 anchors, 3 pricing cards, comparison
  matrix, tarifs FAQ accordion, OQLF typography, 6 bento + 7 exports + 8
  integrations + 6 tech specs sections, canonical meta)
- All sections respect WCAG 2.2 AA, FlexiHub design discipline, LPC art. 219
  hygiene (sourcing dates, trademark disclaimer, hedged claims, NBSP)
This commit is contained in:
Allison
2026-04-27 20:50:07 -04:00
parent 2b3eeb98e0
commit d471626183
5 changed files with 522 additions and 0 deletions

View File

@@ -77,3 +77,19 @@ def landing():
testimonials=TESTIMONIALS,
faq=FAQ,
)
@marketing_bp.route('/tarifs')
def tarifs():
"""Standalone pricing page — same 3 forfaits as landing /#tarifs anchor,
plus deep-dive comparison matrix and tarification FAQ.
"""
return render_template('marketing/tarifs.html', faq=FAQ)
@marketing_bp.route('/fonctionnalites')
def fonctionnalites():
"""Standalone features page — deep-dive on the 6 bento features
plus full integrations list and supported export formats.
"""
return render_template('marketing/fonctionnalites.html')