Application web progressive (PWA) pour la gestion d'un système pyramidal avec :
- Codes uniques hiérarchiques : Cercle → Famille → Individu
- Intégration Google Drive pour sauvegarde automatique
- Système de paiements complet et transparent
- Mode hors ligne avec IndexedDB
Cercle: C-001
├─ Famille: C-001-F-01
│ ├─ Individu: C-001-F-01-I-01
│ ├─ Individu: C-001-F-01-I-02
│ └─ Individu: C-001-F-01-I-03
│
└─ Famille: C-001-F-02
├─ Individu: C-001-F-02-I-01
└─ Individu: C-001-F-02-I-02
| Niveau | Format | Exemple | Description |
|---|---|---|---|
| Cercle | C-XXX |
C-001 | 3 chiffres (001-999) |
| Famille | C-XXX-F-YY |
C-001-F-01 | Cercle + 2 chiffres (01-99) |
| Individu | C-XXX-F-YY-I-ZZ |
C-001-F-01-I-01 | Famille + 2 chiffres (01-99) |
- 999 cercles maximum
- 99 familles par cercle
- 99 individus par famille
- Paiements individuels : Transactions avec un individu spécifique
- Paiements familiaux : Transactions avec une famille entière
- Paiements par cercle : Transactions avec un cercle complet
- Reçu : De l'entité vers PFV (⬅️)
- Versé : De PFV vers l'entité (➡️)
- 💵 Espèces
- 📱 Mobile Money
- 🏦 Virement bancaire
- 📝 Chèque
- 🟡 En attente : À valider
- 🟢 Validé : Approuvé
- 🔴 Rejeté : Refusé
Pour activer l'intégration Drive :
- Allez sur https://console.cloud.google.com
- Créez un nouveau projet "PFV"
- Activez l'API Google Drive
- Créez des identifiants OAuth 2.0:
- Type: Application Web
- URL autorisées: Votre domaine GitHub Pages
- Copiez le Client ID et l'API Key
- Modifiez
js/config.js:drive: { clientId: 'VOTRE_CLIENT_ID.apps.googleusercontent.com', apiKey: 'VOTRE_API_KEY' }
# 1. Créer un dépôt sur GitHub
git init
git add .
git commit -m "Initial commit PFV v2.0"
git branch -M main
git remote add origin https://github.com/VOTRE_NOM/pfv-pwa.git
git push -u origin main
# 2. Activer GitHub Pages
# Settings → Pages → Source: main branch- Ouvrez Chrome sur Android
- Allez sur votre URL GitHub Pages
- Menu → "Installer l'application"
- ✅ Terminé !
pfv-revised/
├── index.html # Interface principale
├── manifest.json # Configuration PWA
├── sw.js # Service Worker
├── css/
│ └── styles.css # Design moderne Google-style
├── js/
│ ├── config.js # Configuration et utilitaires
│ ├── codes.js # Système de codes pyramidaux
│ ├── db.js # Base de données IndexedDB
│ ├── drive.js # Intégration Google Drive
│ └── app.js # Application principale
└── assets/
├── icon-192.png # Icône PWA 192x192
└── icon-512.png # Icône PWA 512x512
- Onglet Cercles → ➕ Nouveau cercle
- Entrez le code (ex: C-001)
- Renseignez le nom, la localité, le principe
- Validez
- Onglet Familles → ➕ Nouvelle famille
- Sélectionnez le cercle parent
- Le code est généré automatiquement
- Renseignez les informations
- Validez
- Onglet Individus → ➕ Nouvel individu
- Sélectionnez la famille parente
- Le code est généré automatiquement
- Renseignez nom, téléphone, email, rôle
- Validez
- Onglet Paiements → ➕ Nouveau paiement
- Choisissez le type (individu/famille/cercle)
- Sélectionnez le bénéficiaire
- Entrez le montant
- Choisissez le sens (reçu/versé)
- Sélectionnez le mode de paiement
- Validez
- Automatique : Toutes les 30 minutes si connecté
- Manuelle : Bouton "Connecter Drive" dans l'en-tête
L'application permet d'exporter les données en plusieurs formats :
- JSON : Sauvegarde complète (via Drive)
- CSV : Export des cercles, familles, individus, paiements
- Visualisation : Arbre pyramidal dans le dashboard
- Toutes les données sont dans IndexedDB (navigateur)
- Aucune donnée envoyée vers un serveur externe
- Effacement possible à tout moment
- Nécessite autorisation explicite
- Données stockées dans votre Drive personnel
- Vous gardez le contrôle total
- Codes uniques obligatoires
- Téléphones uniques pour les individus
- Vérification de la hiérarchie
git pull origin main
git add .
git commit -m "Description des modifications"
git push origin mainGitHub Pages se met à jour automatiquement (2-5 min).
Dans Chrome:
- F12 → Application → Storage
- Clear site data
Ou dans le code :
caches.keys().then(keys =>
keys.forEach(key => caches.delete(key))
)Le dashboard affiche :
- Nombre total de cercles
- Nombre total de familles
- Nombre total d'individus
- Total des paiements reçus
- Total des paiements versés
- Solde actuel
- Arbre pyramidal complet
- Chargement rapide (< 2s)
- Mode hors ligne complet
- IndexedDB pour données locales
- CSS moderne sans frameworks lourds
- JavaScript vanilla (pas de dépendances)
- ✅ Chrome Android (recommandé)
- ✅ Chrome Desktop
- ✅ Edge
⚠️ Firefox (PWA limité)⚠️ Safari (PWA limité)
- Vérifiez que vous êtes en HTTPS
- Vérifiez le manifest.json
- Créez les icônes manquantes
- Vérifiez le Client ID et API Key
- Vérifiez les URLs autorisées dans Google Console
- Testez en navigation privée
- Vérifiez la console (F12)
- Testez IndexedDB :
indexedDB.databases() - Effacez le cache et rechargez
navigator.serviceWorker.getRegistrations()
.then(regs => regs.forEach(reg => reg.unregister()))Pour toute question :
- Vérifiez ce README
- Consultez la console (F12)
- Créez une Issue sur GitHub
✅ Codes pyramidaux uniques (3 niveaux)
✅ Gestion complète (CRUD)
✅ Paiements bidirectionnels (reçu/versé)
✅ Google Drive (sauvegarde auto)
✅ Mode hors ligne (PWA)
✅ Design moderne (Google Material)
✅ Responsive (mobile-first)
✅ Exports (JSON/CSV)
✅ Tableau de bord visuel
✅ Validation des données
- ✅ Générer les icônes (192x192 et 512x512)
- ✅ Configurer Google Drive
- ✅ Tester en local
- ✅ Déployer sur GitHub
- ✅ Installer sur Android
Version: 2.0
Auteur: Fondateur PFV
Licence: Propriétaire
Date: 2025
🌟 Système simplifié, performant et professionnel ! 🌟