Application PWA de notation pour passages de grades de taekwondo 태권도 승급심사 채점 애플리케이션
- Manuel d'utilisation (FR)
- 사용 설명서 (한국어)
- Glossaire taekwondo / 태권도 용어 — Romanisation révisée (National Institute of Korean Language, 2000) avec termes en hangul, utilisable comme référence pour les épreuves
Simsa (심사, examen en coréen) est une application web progressive (PWA) permettant la gestion complète des passages de grades de taekwondo. L'application fonctionne 100% hors ligne, sur mobile, tablette et laptop. Aucune information n'est jamais envoyée sur Internet et il n'est pas nécessaire de créer un compte.
- 🌐 Bilingue — Interface en français et en 한국어 (coréen), extensible à d'autres langues
- 📴 100% offline — Aucune connexion internet requise, toutes les pages sont pré-téléchargées à l'installation
- 📱 Multi-support — Mobile iOS/Android, tablette, laptop
- 🔒 Données personnelles — Données stockées uniquement en local, suppression immédiate en fin de session
- 📷 QR codes — Échanges de données sans réseau (séquencés automatiquement si > 3KB)
- ⏱ Chronomètres — Heure, durée session, compte à rebours avec bip et vibration
- 📊 Résultats — Tableau interactif avec verdicts (reçu/refusé), détail par jury, export PDF
- 📤 Échange de données — YAML ou QR codes (épreuves, élèves, notes), export/import des résultats du jury avec vérification d'intégrité
- 🔢 Versioning — Numéro de version inclus dans tous les échanges, détection d'incompatibilité
| Couche | Technologie |
|---|---|
| Framework UI | Ionic |
| Framework JS | Vue 3 + TypeScript |
| Build | Vite + vite-plugin-pwa |
| State | Pinia |
| i18n | vue-i18n |
| Stockage | IndexedDB via idb |
| QR génération | qrcode |
| QR scan | html5-qrcode |
| Export YAML | js-yaml |
| Export PDF | jsPDF + jspdf-autotable |
| Compression | lz-string |
| Police | Noto Sans KR (support Hangul, bundlée offline) |
# Cloner le dépôt
git clone https://github.com/moudok/simsa.git
cd simsa
# Installer les dépendances
npm install
# Lancer en développement
npm run dev
# Build production
npm run build
# Prévisualiser le build
npm run previewPour chaque élève et chaque épreuve, chaque membre du jury enregistre :
- + : nombre de mouvements particulièrement réussis
- - : nombre d'erreurs
Les notes sont non agrégées — chaque membre du jury conserve sa lecture indépendante.
- Base légale : exécution du contrat (article 6(1)(b) du RGPD)
- Responsable du traitement : le Maître
- Stockage : local uniquement (IndexedDB), jamais transmis sur Internet
- Minimisation : année de naissance uniquement (pas de date de naissance complète)
- Suppression : immédiate et complète en fin de session
- Droits : accès, modification et suppression (loi n°78-17 du 6 janvier 1978)
Le fichier public/analytics.js (non commité, dans .gitignore) permet d'ajouter un script de suivi analytique (ex : Matomo). Ce script est chargé uniquement lorsque l'application est consultée via un navigateur web. Lorsque l'application est installée en tant que PWA, aucun script analytique n'est chargé et aucune donnée de télémétrie n'est transmise.
Pour activer l'analytics, créer le fichier public/analytics.js avec le code de suivi souhaité. Le chargement conditionnel est géré dans index.html.
- Code source : AGPL v3 — voir LICENSE
- Logo (
simsa.svg) : CC0 1.0 (domaine public) - Police Noto Sans KR : SIL Open Font License
- Icônes Ionicons : MIT
심사 Simsa (2026) 🇫🇷 Fabriqué en France avec ❤️ pour toutes celles et tous ceux qui aiment le Taekwondo 🇰🇷