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.