Application encyclopédie "Offline-first" dédiée à la survie et à la reconstruction de la civilisation. Elle embarque une base de connaissances locale, un assistant IA (Charlie) et un système de chat P2P Bluetooth.
Base de connaissances d'articles techniques sur la survie, stockés localement sur le téléphone. Fonctionne sans connexion internet.
Assistant IA capable de répondre aux questions contextuelles. Alimenté par Google Gemini 2.5 Pro (nécessite internet pour le moment).
Communication entre appareils proches via Bluetooth Low Energy. Aucune connexion internet nécessaire — le walkie-talkie numérique.
C'est une application hybride : un site React "encapsulé" dans une app native Android via Capacitor. Le meilleur des deux mondes — la vitesse de développement web avec l'accès natif au hardware (Bluetooth, fichiers, etc.).
| Dossier | Description |
|---|---|
src/ | Code de l'application — interface React, composants, logique |
src/components/ | Briques visuelles (ArticleCard, Header, etc.) |
scripts/ | L'usine à contenu — scripts Python qui transforment des fichiers texte en base de données |
supabase/ | Configuration de la base de données (Backend) |
android/ | Projet natif Android généré par Capacitor |
.env | Clés secrètes (Supabase, Google AI) — non versionné |
| Composant | Technologie |
|---|---|
| Central (scan, connect, write) | @capacitor-community/bluetooth-le@7.2.0 |
| Peripheral (GATT server) | cordova-plugin-ble-peripheral@1.0.0 (patché) |
| UUIDs | Service + Characteristic personnalisés |
npx cap sync écrase le Java du plugin — d'où le script postinstallOn ne modifie jamais la base de données à la main. On édite des fichiers Markdown, puis un script Python transforme tout en SQL.
Créer un fichier .md avec titre, introduction, matériel requis, étapes, avertissements. Organisé par catégorie (Alimentation, Abri, Eau…).
generate_v14_import.py scanne les dossiers, lit chaque fichier, nettoie via Regex, structure en JSON et génère un fichier SQL d'insertion.
Coller le SQL généré dans l'éditeur SQL de Supabase et cliquer RUN. Les fiches apparaissent immédiatement dans l'application.
Le projet est multilingue. Des scripts Python lisent les fiches françaises, demandent à Google Gemini de les traduire et génèrent le SQL correspondant pour chaque langue cible.
| Composant | Technologie |
|---|---|
| Frontend | React + Vite |
| Mobile | Capacitor (Android natif) |
| Base de données | Supabase (PostgreSQL) |
| IA | Google Gemini 2.5 Pro |
| BLE Central | @capacitor-community/bluetooth-le |
| BLE Peripheral | cordova-plugin-ble-peripheral (patché) |
| Contenu | Markdown → Python → SQL |
| Build | Android Studio → APK |
1. Modifier le code dans src/
2. npm run mobile:sync pour synchroniser Capacitor
3. npx cap open android pour ouvrir Android Studio
4. Build → Build APK → installer sur téléphone