Produits que nous exploitons
HamPrep
Tout pour l’examen de base de radioamateur canadien : la banque de questions officielle sous forme d’application qui fonctionne hors ligne, un aide-mémoire de formules, une page d’étude pour chaque question, et une analytique en direct du registre des indicatifs du Canada — cinq surfaces sur un seul Cloudflare Worker.

- 984questions officielles d’ISDE, expliquées
- 100sous-thèmes — l’examen blanc en tire un de chacun
- 60 minexamen blanc selon les vraies règles : 70 % pour réussir, 80 % pour la mention
- quotidienle registre des indicatifs, récupéré et comparé de nouveau
Le déclic
Nous avons nous-mêmes préparé l’examen de base. La matière méritait un meilleur logiciel.
HamPrep existe parce que nous avons passé cet examen. Le régulateur du Canada publie la banque de questions au complet — les 984 questions dans lesquelles puise le vrai examen — mais il les publie sous forme de fichier de données brut, et étudier à partir d’un fichier de données brut est pénible. Alors nous avons transformé le tout en logiciel : les questions, les explications pour chaque réponse, les formules, et, au bout du compte, le registre national des indicatifs lui-même.
Ce que nous avons bâti
Cinq surfaces publiques qui donnent l’impression d’un seul produit.
L’application d’examen est le cœur : installable, fonctionnelle hors ligne, la progression conservée sur votre appareil (la connexion la synchronise, mais n’est jamais requise). Trois modes correspondent à la façon dont les gens apprennent réellement — Apprendre montre chaque réponse avec un « pourquoi ? » pour chaque mauvaise option ; Pratiquer constitue des séries adaptatives qui priorisent les questions jamais vues, puis celles que vous avez ratées, puis vos points faibles ; et l’Examen blanc, c’est 100 questions en 60 minutes selon les vrais seuils de réussite, avec un score de préparation qui traite les catégories intactes comme le pire des cas plutôt que de vous flatter.
Autour : des pages d’étude — chaque question, réponse et explication sous forme de page rapide et indexable, bâtie à partir des mêmes données que l’application ; un aide-mémoire de formules rendu avec KaTeX ; des pages vitrines qui n’embarquent aucun JavaScript ; et des statistiques d’indicatifs — une analytique en direct du registre de radioamateur du Canada, du portrait des qualifications aux palmarès par province, jusqu’à savoir si l’indicatif personnalisé que vous voulez est encore libre.

Comment ça fonctionne
Un Worker, un déploiement. Trois surfaces sont prégénérées à la construction, deux se rendent en direct.
La consolidation a été la décision fondatrice — le tout premier commit fusionne en une seule application, sur un seul Cloudflare Worker, ce qui était auparavant des projets distincts. Les surfaces statiques sont prégénérées à la construction et servies depuis la périphérie ; l’application et les statistiques se rendent en direct depuis le même Worker, appuyées par deux bases de données (données d’étude et données du registre) et un seul cache. Un dépôt, un pipeline, un déploiement — le fardeau d’exploitation de cinq produits pour le prix d’un.
Le nœud du problème : se fier à une source de données bruitée
Le vidage officiel du registre perd parfois des enregistrements pendant une journée. Annoncer les libérations naïvement crierait au loup chaque semaine.
Le volet statistiques compare le vidage officiel du registre chaque matin pour détecter les nouvelles licences et les indicatifs libérés. Le hic : le vidage laisse parfois tomber des enregistrements qui réapparaissent le lendemain. Un naïf « absent aujourd’hui signifie libéré » émettrait de fausses libérations à chaque hoquet — et une fonction de disponibilité d’indicatifs bâtie sur de fausses libérations est pire que rien.
Décisions à souligner
- L’examen blanc est assemblé comme le vrai. Une question tirée de chacun des 100 sous-thèmes — exactement comme le régulateur bâtit le vrai examen. Nous avons rejeté l’échantillonnage proportionnel parce qu’il sous-pondère la section de la réglementation et peut tirer deux fois un même sous-thème, ce que le vrai examen ne fait jamais.
- Une seule source de vérité pour la banque. Le même JSON versionné alimente l’application hors ligne et chaque page d’étude indexable. Il n’y a pas de deuxième copie qui puisse devenir périmée.
- Progression locale d’abord. Votre historique d’étude vit sur votre appareil et fonctionne hors ligne ; la connexion le synchronise de façon idempotente. L’application ne prend jamais votre progression en otage derrière un compte.
- Des statistiques qui totalisent 100 %. Les opérateurs détiennent des qualifications qui se chevauchent, alors les statistiques classent chacun selon sa plus élevée — un choix d’exactitude délibéré plutôt que de compter des indicateurs qui se chevauchent et de dénombrer discrètement les gens en double.
- Des données officielles de bout en bout. La banque de questions et le registre proviennent tous deux directement du régulateur. Rien n’est inventé, et l’ingestion s’identifie honnêtement au moyen d’un agent utilisateur descriptif.
Réalisé avec
- Astro
- React
- Cloudflare Workers