Lexiverse
Lexiverse - AI contextual reading engine for English learners. Your next article is your next review.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Stack : Next.js 14 + TailwindCSS + Supabase + Vercel. Arabe par défaut (RTL), bilingue AR/FR. Fonctionne en mode démo sans Supabase (actualités de départ, favoris et notes dans le navigateur).
npm install
npm run dev # http://localhost:3000
Mettre à jour après une modification poussée sur GitHub : git pull puis npm install.
| Rubrique | Page | Données |
|---|---|---|
| Annuaire | /ecoles, /ecoles/[slug] | lib/schools.js — 17 réseaux + 184 établissements (public, privé reconnu, militaire) |
| Simulateur | /simulateur | Seuils de présélection 2026 réels, formule de chaque école |
| Concours | /concours | lib/concours.js — statut calculé automatiquement (ouvert / en cours / à venir) |
| Actualités | /actualites | Supabase (table news), sinon lib/news-seed.js |
| Back-office | /admin | Actualités, concours, seuils, annales (PDF) et quiz, sans toucher au code |
| Légal | /confidentialite, /mentions-legales, /a-propos, /contact | Textes à compléter dans lib/site.js |
Tout se fait depuis /admin (en français), sans toucher au code :
| Onglet | Ce que tu y fais |
|---|---|
| Tableau de bord | Chiffres clés (comptes, alertes, écoles suivies) et liste « À faire » |
| Actualités | Publier, programmer, mettre à la une |
| Concours | Ajouter, confirmer avec sa source, dupliquer pour l'année suivante, « Tout est vérifié aujourd'hui » |
| Seuils | Corriger le seuil d'une école ou d'un réseau (source obligatoire) |
| Annales / Quiz | Déposer les PDF, écrire les questions |
| Écoles | Corriger une fiche, ajouter une école (éventuellement dans un réseau), masquer une école |
| Communauté | Modérer les messages signalés, supprimer une fausse liste d'attente, gérer les salons |
| Réglages | Informations légales (éditeur, adresse, email, n° CNDP), écoles et recherches mises en avant sur l'accueil |
schema.sql, migration_v2.sql, migration_v3_actualites.sql, migration_v4_contenus.sql, migration_v5_ecoles_communaute.sql. Chaque fichier peut être relancé sans risque.migration_v3_actualites.sql avec ton email → tu deviens admin./admin, puis « Importer » dans chaque onglet (Quiz avant Annales)./api/daily chaque nuit : rafraîchit tout le site (date du jour, statuts des concours, J-x)./api/alerts chaque matin : alertes WhatsApp (ouverture, J-7, veille) aux élèves qui suivent l'école et ont activé les alertes.CRON_SECRET sur Vercel (une longue chaîne aléatoire) : sans elle, ces tâches refusent de s'exécuter. Les alertes demandent en plus SUPABASE_SERVICE_ROLE_KEY, WHATSAPP_TOKEN, WHATSAPP_PHONE_NUMBER_ID, WHATSAPP_TEMPLATE.www.maslaki.ma puis maslaki.ma (choisis « Redirect to www.maslaki.ma »).@ → valeur donnée par Vercel (souvent 76.76.21.21), CNAME www → valeur donnée par Vercel (souvent cname.vercel-dns.com).NEXT_PUBLIC_SITE_URL = https://www.maslaki.ma (Config, Production) puis Redeploy. L'adresse .vercel.app redirige alors vers le domaine. ⚠️ Pas avant : le site deviendrait inaccessible.https://www.maslaki.ma, et ajoute-la aux Redirect URLs./sitemap.xml.Tout se règle dans /admin > Réglages > Publicité, sans redéploiement. Les variables NEXT_PUBLIC_ADSENSE_* de Vercel restent possibles en secours.
.vercel.app.ca-pub-…) dans Réglages. Le site ajoute alors le meta de validation et le script sur toutes les pages, et remplit /ads.txt./admin, /espace et /communaute (AdSense > Annonces > Exclusions de pages).Emplacements : accueil, annuaire des écoles, concours, liste des actualités, fin d'article, fiche école. Aucun sur l'admin, l'espace élève, les salons, le simulateur, le test ni les pages légales. Un emplacement que Google ne remplit pas est replié automatiquement.
NEXT_PUBLIC_SITE_URL.