尚未检测到更新。GitHub 发布版本后会显示在这里。
Suivi du cycle, boutique et assistante. Application mobile pour le Burkina Faso.
翻译准备中
正在加载完整 README。
查看完整 README ↗Application mobile (PWA) pour les femmes et les jeunes filles du Burkina : suivre son cycle, acheter des serviettes et des culottes menstruelles, poser ses questions à une assistante.
« Mousso Dambé » : la dignité de la femme, en dioula.
Projet d'Arthur, démarré le 12 octobre 2026. Le code est écrit par Claude.
Les règles d'accès de la base (RLS) sont actives sur 100 % des tables. Chaque
personne ne voit que ses lignes, et il n'existe aucun rôle, aucun écran
d'administration et aucun export qui lise le journal de quelqu'un d'autre.
Ce n'est pas un oubli à combler plus tard : c'est la promesse faite à l'écran,
et supabase/tests/securite.test.mjs la vérifie à chaque modification.
Ce qui part vers Ollama : le prénom, le jour du cycle, la phase, le catalogue,
et les trois derniers échanges. Jamais le journal, le numéro de téléphone,
le quartier, le nom de famille ni les commandes. C'est la base qui prépare ce
contexte (assistante_contexte()), pas les pages : ainsi une page mal écrite
ne peut pas laisser fuir une donnée par erreur. Vérifié par
supabase/tests/assistante.test.mjs.
Toute mutation passe par une fonction SQL SECURITY DEFINER qui relit et
recalcule. Le navigateur n'envoie jamais un prix : il envoie des identifiants
et des quantités. Sinon n'importe qui commande à 0 FCFA, et aucune règle
d'accès ne sait vérifier une addition.
Android d'entrée de gamme, 3G souvent lente, forfait de données compté, paiement à la livraison. D'où : rendu côté serveur, aucun framework côté navigateur, polices auto-hébergées, images en WebP, et chaque page qui fonctionne sans JavaScript. Le seul script envoyé installe le mode hors ligne.
Et un point qui n'est pas technique : un téléphone se partage. D'où les notifications sans détail allumées d'office, le service worker qui ne met jamais en cache une page personnelle, et le colis neutre.
npm install
cp .env.example .env # puis remplir les valeurs
Un faux Supabase local permet de tout essayer avant que le projet Supabase existe. Il rejoue les vraies migrations sur PGlite, avec les vrais rôles et les vraies règles d'accès : ce qu'on voit est ce que la vraie base rendrait.
npm run demo
Démarre trois choses et affiche l'adresse à ouvrir :
outils/banc-local/serveur.mjs) ;outils/banc-local/faux-ollama.mjs), qui répond
des textes écrits d'avance, sans clé et sans dépense. Lancée avec
MONTRER=1, elle affiche tout ce que le site lui envoie : c'est ainsi qu'on
vérifie de ses yeux qu'aucun journal intime ne traverse ;Compte de démonstration : [email protected] / motdepasse, avec trois cycles,
deux journées notées, une question à Dambé et une commande.
Ces deux bancs ne sont pas la production. Ils ne vérifient pas les jetons et ne hachent pas les mots de passe. À ne jamais exposer sur un réseau.
node outils/captures.mjs
Pilote Chrome sans interface et capture les 19 écrans en 390 px de large, dans
captures/. Lire le code prouve ce que fait l'application ; seul le rendu
prouve qu'elle est regardable.
npm run test:sql # 4 suites, 168 vérifications sur copie locale
npx astro check # doit rester à 0 erreur
npm run test:sql rejoue toutes les migrations dans PGlite et exécute les
requêtes comme le ferait l'API, avec les rôles et les en-têtes du site. Aucune
donnée réelle n'est touchée. À lancer avant toute migration.
.env, appliquer
les quatre migrations, et déposer l'empreinte de la clé serveur. Le guide
pas à pas est dans
Jarvis\livrables\business\2026-10-12_mousso-dambe-mise-en-route.md.以上为 README 的开头部分。其余内容请阅读原文。 查看完整 README ↗