Une question par jour pour éveiller la curiosité des enfants. Chaque matin, une nouvelle question — avec la réponse expliquée aux 4 ans, et une « question pour papoter » pour prolonger la discussion.
| 🌞 La question du jour | 🎲 Question surprise |
|---|---|
![]() |
![]() |
| 📅 Jours passés | ⭐ Préférées |
![]() |
![]() |
| Fonctionnalité | Détail | |
|---|---|---|
| 🗓️ | Une question par jour | Sélection déterministe depuis une époque fixe — le même jour affiche toujours la même question, sur tous les appareils, sans backend. |
| 💬 | Réponse + rebond | La réponse est écrite pour un enfant de 4 ans, suivie d'une question « Pour papoter » pour lancer la conversation. |
| 🎲 | Question surprise | Le bouton « Une autre question ! » tire une question au hasard parmi les 1001, sans perdre celle du jour. |
| 📅 | Jours passés | L'historique des 30 derniers jours, recalculé — aucun stockage nécessaire. |
| ⭐ | Préférées | Un tap sur l'étoile garde une question de côté (persisté en localStorage). |
| 📴 | Hors-ligne total | Après la première visite, le service worker sert toute l'app et les 1001 questions sans réseau. |
| 📲 | Installable | « Ajouter à l'écran d'accueil » : plein écran, portrait, icône dédiée. |
1001 questions/réponses en français, réparties en 8 thèmes :
| Thème | Thème | ||
|---|---|---|---|
| Animaux | 🐰 | Eau & météo | ☁️ |
| Nature | 🌿 | Objets & maison | 💡 |
| Ciel & espace | 🌙 | À table | 🍓 |
| Mon corps | 🖐️ | Gens & cœurs | 💛 |
Chaque entrée suit le même schéma :
{
"q": "Pourquoi les oiseaux ne tombent-ils pas quand ils dorment ?",
"a": "Leurs pattes s'accrochent toutes seules à la branche…",
"r": "Et toi, dans quelle position aimes-tu dormir ?",
"c": "animaux"
}cd app
python3 -m http.server 8123 # puis ouvrir http://localhost:8123Important
Un serveur HTTP est nécessaire : le service worker et le fetch des JSON ne
fonctionnent pas en file://.
Aucune installation, aucune dépendance, aucune étape de build.
Détails d'implémentation et déploiement dans app/README.md.
questionor/
├── app/ # 📦 L'application PWA — le livrable
├── design_handoff_question_du_jour/ # 🎨 Design de référence + dataset source
├── docs/screenshots/ # 📸 Captures utilisées dans ce README
├── netlify.toml # ☁️ Hébergement statique (publish = app/)
└── .github/workflows/deploy.yml # 🤖 Déploiement continu sur push main
| Dossier | Contenu |
|---|---|
app/ |
L'application PWA (vanilla JS, sans build) — le livrable. Voir app/README.md. |
design_handoff_question_du_jour/ |
Références de design (prototype HTML, screenshots) et dataset de production source. |
docs/screenshots/ |
Captures d'écran de l'app réelle (390 × 844 @2x). |
HTML + CSS + JavaScript vanilla. Pas de framework, pas de bundler, pas de
node_modules, pas de backend. Les seules ressources externes sont les polices
Google Fonts (Baloo 2 + Nunito), avec repli sur une police système.



