MyGo 云音乐
Go와 MyGo로 만든 서드파티 네이버 클라우드 뮤직 데스크톱 클라이언트
Quran.com 색상 타지위드, 54명 낭송자, 언어 무필터 검색, 오프라인, FR/EN/AR 지원 정적 PWA
Lecture du Coran en Hafs et Warsh : Tajwid aux couleurs de Quran.com, 54 récitateurs, recherche sans filtre de langue, hors-ligne, FR/EN/AR (RTL). PWA statique, sans compte.
미디어JavaScript · CSSGitHub @mohamedeyaf820접속 불안정운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Lire, écouter et comprendre le Coran — sans compte, sans serveur, sans publicité. Hafs & Warsh · Tajwid aux couleurs de Quran.com · 54 récitateurs · hors-ligne · français, anglais, arabe (RTL natif) Ouvrir l'application (miroir : mon-coran-main.vercel.app) · Fonctionnalités · Démarrer · Architecture · ContribuerREADME 전문 보기 ↗
Lire, écouter et comprendre le Coran — sans compte, sans serveur, sans publicité.
Hafs & Warsh · Tajwid aux couleurs de Quran.com · 54 récitateurs · hors-ligne · français, anglais, arabe (RTL natif)
Ouvrir l'application : mon-coran-kappa.vercel.app · Fonctionnalités · Démarrer · Architecture · Contribuer
MushafPlus is a free, static Progressive Web App for reading and listening to the Quran. It supports the Hafs and Warsh riwayat, a Tajweed colouring that follows Quran.com's rules and palette (verified word by word, the Quran text is never altered), 54 reciters, word-by-word audio, offline reading and downloads, French / English / Arabic (native RTL), three themes and an optional passphrase lock (PBKDF2 + AES). There is no backend and no account: everything you write stays in your browser. Quick start: npm install && npm run dev. The documentation below is in French; code, tests and commit messages are in English or French.
| 📖 Deux riwayat | Hafs et Warsh, chacun avec ses polices, sa numérotation de versets et ses règles de Tajwid propres. |
| 🎨 Tajwid fidèle | Les règles et les couleurs de Quran.com, appliquées à chaque police Hafs, avec une garantie d'intégrité : la couleur ne modifie jamais une lettre. |
| 🎧 Récitations | 54 récitateurs (46 Hafs, 8 Warsh), lecture verset par verset ou sourate continue, suivi mot à mot, téléchargement hors-ligne validé. |
| 📴 Hors-ligne | PWA installable, service worker, texte et audio en cache, tafsir français relisible hors ligne après une première lecture. |
| 🔒 Privé par conception | Aucun compte, aucune synchronisation cloud. Verrouillage optionnel par phrase secrète (PBKDF2 600 000 itérations + AES). |
| 🔎 Recherche sans filtre de langue | Un seul champ, au clavier comme à la voix : arabe, translittération (même collée, kulhuallah, Bismillahirrahmanirrahim), français ou anglais. La langue est reconnue automatiquement. |
| 🌍 Trilingue | Français, anglais, arabe avec bascule RTL native — pas de miroir approximatif. |
Une seule application, trois formats : l'interface s'adapte au téléphone (barre de navigation du bas), à la tablette (portrait et paysage) et à l'ordinateur (en-tête complet). Images mises à jour avec la version 1.2.0 (charte verte commune, démarrage animé, fiche récitateur).
2:255), nom de sourate, texte arabe, translittération (kulhuallah, Bismillahirrahmanirrahim), mot ou phrase en français ou en anglais (« le tout miséricordieux »). La langue est reconnue seule ; la dictée vocale écoute dans la langue de l'interface puis, si rien n'est trouvé, une seconde fois dans l'autre.text_uthmani_tajweed), jamais d'une détection par motifs : on ne devine pas une règle de récitation.localStorage / IndexedDB.docs/SECURITY_PRIVACY.md).script-src 'self'), HSTS, X-Frame-Options: DENY, COOP, Permissions-Policy ; un test garantit que Netlify et Vercel servent exactement les mêmes en-têtes.npm audit : 0 vulnérabilité sur les dépendances de production au moment de la rédaction.Signalement d'une faille : voir SECURITY.md.
Mesures faites sur le build de production (réseau réel, Chromium) :
| Mesure | Valeur |
|---|---|
| Premier chargement (point d'entrée) | ≈ 770 kB dont ≈ 409 kB de JS et ≈ 361 kB de CSS (≈ 192 kB compressés) ; le français est embarqué, l'anglais et l'arabe se chargent à la demande |
| Premier verset visible (sourate 2) | ≈ 1 s |
| Accueil : premier affichage | ≈ 0,3 s |
| Défilement en mode page | ≈ 60 images/s |
| CSS livré | ≈ 1,0 Mo, réparti en feuilles chargées par écran |
Leviers : découpage par écran (React.lazy), dictionnaires par langue, mise en cache en trois niveaux (mémoire → IndexedDB → localStorage), content-visibility sur les longues listes, peinture Tajwid groupée en un seul calcul de mise en page par lot, budgets de bundle vérifiés en CI.
flowchart LR
subgraph Navigateur
UI["React 18 · Radix UI · Tailwind 4"] --> Ctx["AppContext + useReducer"]
Ctx --> Svc["Services : texte, audio, Tajwid, stockage"]
Svc --> Store[("localStorage · IndexedDB<br/>chiffrés")]
SW["Service worker"] --- Cache[("Cache shell + audio")]
end
Svc --> QC["Quran.com API v4"]
Svc --> AQ["AlQuran Cloud<br/>(secours)"]
Svc --> CDN["CDN audio<br/>EveryAyah · Quran.com · MP3Quran"]
npm run build produit aussi les pages SEO.tajwidAnnotation (lecture de l'annotation) → tajwidAlignment (report sur le texte affiché) → tajweedWordPaint (peinture par dégradé de texte, un mot reste un seul bloc de texte pour ne pas casser le façonnage arabe).src/
├── App.jsx · main.jsx # coque, routage, boot (langue chargée avant le premier rendu)
├── components/
│ ├── QuranDisplay/ # modes sourate / page / juz, mushaf, plein écran
│ ├── Quran/ # rendu d'un verset, Tajwid, légende
│ ├── audioPlayer/ · recitation/ · settings/ · Home/ · ui/
├── context/AppContext.jsx # état global et persistance
├── data/ # sourates, récitateurs, polices, palette Tajwid
├── i18n/ # fr (embarqué), en et ar (chargés à la demande)
├── services/ # API Quran.com, audio, téléchargements, stockage, crypto
├── utils/ # alignement Tajwid, peinture, mots, Basmala
└── styles/ # Tailwind 4 + feuilles par domaine
public/ # manifest, polices, données Warsh, sw.js
tests/ · tests/e2e/ # unitaires (Node) · scénarios Playwright
scripts/ # audits, build SEO/budgets, captures du README
Documentation détaillée : ARCHITECTURE.md · Design system · Sécurité et vie privée · Audit Tajwid Hafs/Warsh · Audio hors-ligne.
Prérequis : Node.js 22+.
git clone https://github.com/mohamedeyaf820/mon-coran.git
cd mon-coran
npm install
npm run dev # http://localhost:3002
Build de production et aperçu :
npm run build
npm run preview # http://localhost:4173
| Commande | Rôle |
|---|---|
npm run dev | Serveur de développement (3002) |
npm run build | Build + purge CSS + pages SEO + audit de performance |
npm run build:ci | Build + budgets (CSS/JS/charge) + audit CSS + en-têtes |
npm run lint | ESLint |
npm run test:security | Tests unitaires et contrats (Node test runner) |
npm run test:coverage | Idem avec couverture |
npm run test:e2e | Suite Playwright complète (Chromium, Firefox, WebKit, PWA) |
npm run test:e2e:smoke | Audio de secours + accessibilité |
npm run perf:budget | Budgets de bundle |
npm run audit:warsh | Vérification des données Warsh (texte, Tajwid, audio) |
npm run audit:headers | En-têtes de sécurité |
Les tests e2e s'exécutent sur le build de production : lancez
npm run buildd'abord.
scripts/snapshot-computed-styles.mjs compare le style calculé de chaque élément entre deux builds.Les huit phases initiales (stabilisation, lecture fluide, audio modulaire, design system, accueil, récitateurs, sécurité, bibliothèque) sont terminées. Récemment : Tajwid fidèle à Quran.com sur toutes les polices Hafs, navigation mobile, téléchargements hors-ligne validés, dictionnaires par langue. Version 1.2.0 (octobre 2026) : recherche sans filtre de langue, pages d'information refaites, charte verte commune et démarrage animé, lecteur compact et défilement plus stables, reprise audio après coupure réseau, repli de la police IndoPak, 2 700 règles CSS mortes supprimées. Voir ROADMAP.md.
Texte, mots et métadonnées : Quran.com (Quran Foundation) et AlQuran Cloud. Audio : Quran.com, EveryAyah, MP3Quran, QuranicAudio, Islamic Network. Polices : QPC / KFGQPC, Scheherazade New, Amiri Quran, Noto Naskh. Adhan : Islamic call to prayer from the Prophet Mosque (ejaz215, CC BY 3.0, Wikimedia Commons). Détail et attributions : THIRD_PARTY_NOTICES.md. Les contenus restent soumis aux droits et licences de leurs propriétaires.
Les contributions sont les bienvenues — lisez CONTRIBUTING.md (règles propres à un projet coranique incluses : jamais de texte coranique modifié, jamais de règle de Tajwid devinée). Bugs et idées : issues.
Le dépôt ne déclare pas encore de licence de redistribution du code : par défaut, tous droits réservés. Pour un usage ou un partage, ouvrez une issue. Les ressources tierces gardent leurs licences d'origine.
@vitejs/plugin-react, @tailwindcss/vite.node scripts/capture-readme-screenshots.mjs puis python scripts/build-readme-images.py (build de production et npm run preview requis).