Mises à jour
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_latinetwords.word_latin - ·4 RPCs :
search_df_fuzzy,count_df_fuzzy,search_words_fuzzy,count_words_fuzzy - ·
db.ts:searchDf()etsearchMsa()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:searchajouté dans package.json
- ·Fonction SQL IMMUTABLE
v1.4.2 — Avril 2026
- ·fix(search): SearchBar utilise
word.slugcomme source de vérité pour les liens suggestions (jamaistransliterationniform_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.pycouvre 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 castranslateToLatin()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:translitajouté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