MyGo 云音乐
用 Go 与 MyGo 写成的第三方网易云音乐桌面客户端。原生界面,没有 WebView;边下边播,无损与 Hi-Res,逐字歌词与「律动」,刘海播放器。
Translation pending
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.
Translation pending
MediaJavaScript · CSSGitHub @mohamedeyaf820Connection unstableOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
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 · ContribuerRead the full 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 : 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).