Nouveautés

Historique des versions et des fonctionnalités de 3amia · AI.

v1.4.3 — Avril 2026
  • ·feat(search): Recherche floue bidirectionnelle Maghreb chiffré ↔ latin standard
    • ·Fonction SQL IMMUTABLE public.normalize_search(text) : 7/8→h, 9→q, 5→kh, 3→a, 2→'', aa→a, ou→o, ii→i, Dh→d
    • ·Index GIN trigram expression sur dialect_forms.form_latin et words.word_latin
    • ·4 RPCs : search_df_fuzzy, count_df_fuzzy, search_words_fuzzy, count_words_fuzzy
    • ·db.ts : searchDf() et searchMsa() utilisent les RPCs pour les queries latines ; ILIKE direct conservé pour l'arabe et le français
    • ·SearchBar.tsx : hint Maghreb chiffré (affiché une seule fois par session si query latin sans chiffres)
    • ·scripts/test_search.py : smoke test 7 cas (normalize_search local + RPC live)
    • ·npm run test:search ajouté dans package.json
v1.4.2 — Avril 2026
  • ·fix(search): SearchBar utilise word.slug comme source de vérité pour les liens suggestions (jamais transliteration ni form_latin) — fix bug clic résultat → mauvaise URL post-migration Maghreb
  • ·Logique Enter/ArrowUp/ArrowDown refactorisée : mutuellement exclusifs, plus de double-submit
  • ·feat(guardrail): check_translit.py couvre désormais 4 sections : words, form_latin, variants JSONB, synonyms JSONB (champ transliteration uniquement — les slugs synonymes sont exclus)
  • ·CLAUDE.md : note explicite slugs ≠ form_latin + règle frontend
v1.4.1 — Avril 2026
  • ·Guardrail translittération Maghreb chiffré — 0 régression possible sur les nouveaux inserts
  • ·scripts/maghreb_translit.py : module partagé normalize_translit(text, form_ar) + is_conforming()
  • ·scripts/check_translit.py : vérification continue (exit 0 si propre, exit 1 + liste si violations)
  • ·src/lib/transliteration.ts : ء → '2' (hamza dialectale) ; ة → 'a' déjà conforme
  • ·src/lib/translit.test.ts : +14 cas translateToLatin() couvrant ح/ه/ق/ص/ط/ض/ظ/ة/ء/shadda
  • ·src/app/api/enrich-word/route.ts : bloc TRANSLITTÉRATION MAGHREB CHIFFRÉ dans prompts Gemini + Groq
  • ·src/app/api/submit/route.ts : guard regex /[āīūṣḥṭḍẓĀĪŪṢḤṬḌẒʿʾ'qQ]/ → 400 si non-conforme
  • ·src/app/api/admin/publish/route.ts : idem avant INSERT dialect_forms
  • ·scripts/gemini_generate_msa.py : import normalize_translit + fix lowercasing form_latin (préserve S/D/T/Dh)
  • ·scripts/gemini_enrich_batch.py : PROMPT_TEMPLATE + Groq system enrichis avec la table Maghreb complète
  • ·npm run check:translit + npm run test:translit ajoutés dans package.json
v1.4.0 — Avril 2026
  • ·Enrichissement IA via Gemini à la saisie des contributions (/ajouter)
  • ·Nouveau branding 3amia · AI — hero deux colonnes, calligraphie عامية
  • ·Système d'articles avec séries/parties (SerieNav, db enrichi, admin form)
  • ·Script batch enrichissement Gemini (scripts/gemini_enrich_batch.py)
  • ·Versioning visible dans le footer
v1.3.0 — Mars 2026
  • ·Back-office admin complet (contributions, mots publiés, historique)
  • ·Notifications Telegram (webhook + import de mots + /stats)
  • ·Système de synonymes inter-dialectes (concept_id, table concepts)
  • ·Icônes SVG custom (IconSensArtistique, IconPoesie, IconLanguesVivantes…)
  • ·Bot Telegram import de mots multi-lignes
v1.2.0 — Mars 2026
  • ·Formulaire contribution refonte (pays → région, translittération auto)
  • ·Détection doublons temps réel
  • ·Déclinaisons morphologiques (table declensions, DeclinaisonsSection)
  • ·Enrichissement CamelTools (scripts/enrich_cameltools.py)
  • ·Type grammatical pos_type (7 valeurs : ism/fi3l/sifa…)
v1.1.0 — Mars 2026
  • ·Migration Google Sheets → Supabase (1 434 mots MSA + 1 771 formes dialectales)
  • ·Back-office /admin v1 (authentification Bearer, modération contributions)
  • ·SEO generateMetadata sur toutes les pages
  • ·Page /a-propos avec stats live Supabase (ISR 1h)
  • ·Audit log (table audit_log, logAction helper)
v1.0.0 — Mars 2026
  • ·Lancement initial du dictionnaire
  • ·3 000+ mots dialectaux (TN, MA, DZ, EG, LB, SY…)
  • ·Recherche multilingue (arabe, français, translittération)
  • ·Guide phonétique
  • ·Formulaire contribution visiteur