Deploy to Pacha Family / deploy (push) Failing after 3s
- admin/index.php : gestion familles et utilisateurs (activer/désactiver, rôles, supprimer, regénérer code invite) - includes/admin_auth.php : protection des routes admin (403 si non-admin) - settings.php : page de config par compte (profil, mot de passe, code invitation, membres, lien admin) - login.php : vérification is_active user + famille, is_admin en session - docker/init/00-setup.sql : ajout colonnes is_admin, is_active sur users + is_active sur families - invite.php supprimé (remplacé par settings.php) - README.md : documentation complète multi-tenant, URLs, rôle admin Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
106 lines
4.2 KiB
Markdown
106 lines
4.2 KiB
Markdown
🦙 HouseHub OS
|
|
Système de gestion familiale sur-mesure : Budget, Calendrier, Voyages et Cadeaux.
|
|
|
|
## 🚀 Déploiement (Docker)
|
|
|
|
**Prérequis** : Docker, Docker Compose, Traefik sur le réseau `proxy`.
|
|
|
|
```bash
|
|
# 1. Cloner le repo
|
|
git clone http://<gitea>/perco/HouseHub.git && cd HouseHub
|
|
|
|
# 2. Créer le fichier d'environnement
|
|
cp .env.example .env
|
|
# Éditer .env pour changer les mots de passe
|
|
|
|
# 3. Lancer
|
|
docker compose up -d --build
|
|
|
|
# 4. Accéder à l'app
|
|
# https://househub.nas.percolouco.com
|
|
```
|
|
|
|
La base de données meta (`househub_meta`) et les permissions sont **initialisées automatiquement** au premier démarrage via `docker/init/00-setup.sql`.
|
|
|
|
Aucun compte par défaut — le premier utilisateur s'inscrit via `/register.php` et choisit de créer un espace familial.
|
|
|
|
## 👥 Gestion multi-tenant
|
|
|
|
HouseHub supporte plusieurs familles indépendantes sur la même instance :
|
|
|
|
| URL | Description |
|
|
|-----|-------------|
|
|
| `/register.php` | Créer un compte + nouvel espace, ou rejoindre un espace existant via code |
|
|
| `/login.php` | Connexion |
|
|
| `/settings.php` | Paramètres du compte : profil, mot de passe, code d'invitation, membres |
|
|
| `/admin/` | Panneau d'administration (admin uniquement) |
|
|
|
|
### Inviter quelqu'un dans son espace
|
|
1. Aller sur `/settings.php` → copier le code d'invitation
|
|
2. La personne va sur `/register.php` → onglet "Rejoindre" → coller le code
|
|
3. Les deux comptes partagent le même environnement de données
|
|
|
|
### Rôle admin
|
|
Le premier utilisateur inscrit doit être promu admin manuellement :
|
|
```sql
|
|
UPDATE househub_meta.users SET is_admin = 1 WHERE username = 'ton_username';
|
|
```
|
|
L'admin peut ensuite promouvoir/désactiver d'autres utilisateurs depuis `/admin/`.
|
|
|
|
---
|
|
|
|
📝 Présentation du projet
|
|
HouseHub est une application web privée conçue pour centraliser l'organisation de la tribu. Elle repose sur une stack légère (PHP natif / Vanilla JS) pour garantir rapidité et portabilité, avec un support complet de l'internationalisation (FR/CA).
|
|
|
|
🛠️ Fonctionnalités Principales
|
|
💰 Module Budget
|
|
Suivi Mensuel : Interface de gestion des dépenses réelles avec import CSV bancaire et catégorisation automatique.
|
|
|
|
Budget Prévisionnel : Planification des revenus et répartition automatique vers les différents comptes (Commune, Livrets, Épargne).
|
|
|
|
Épargne : Visualisation des soldes bancaires et ventilation par postes de dépenses avec mode "Addition Rapide".
|
|
|
|
📅 Calendrier Familial
|
|
Planning Hebdomadaire : Gestion visuelle des modes de garde, des congés enfants et de la maladie.
|
|
|
|
Gestion des Congés (CP/JRA/JA) : Calcul automatique des soldes restants avec snapshots de correction.
|
|
|
|
Vacances Scolaires : Intégration automatique via l'API Data.Education (Zone C).
|
|
|
|
🏖️ Holidays & Roadtrips
|
|
Gestion de Voyages : Planification avec statuts (Brouillon, Confirmé, Terminé).
|
|
|
|
Moteur de Roadtrip : Cartographie interactive (Leaflet), itinéraires (OSRM) et gestion des étapes.
|
|
|
|
Météo Intelligente : Prévisions réelles ou archives historiques (Open-Meteo).
|
|
|
|
## 🚀 Roadmap d'Optimisation
|
|
|
|
- [x] **[Quickwin] Sécurisation AJAX (pachaFetch)**
|
|
- [x] **[Quickwin] Correction du piège "action"**
|
|
- [x] **[Structure] Centralisation des Constantes**
|
|
- [x] **[UX] Harmonisation Mobile**
|
|
- [x] **[Performance] Audit et Optimisation SQL**
|
|
- [ ] **[Backend] Système de Backup Automatique de la BDD**
|
|
|
|
Étape 3 : Performance & Backend
|
|
[ ] Audit SQL : Remplacement des requêtes en boucle par des jointures.
|
|
|
|
[ ] Cache Cleanup : Script de nettoyage pour le cache de géocodage.
|
|
|
|
📌 Patch / Versioning
|
|
|
|
- **v1.3.0 :** Optimisation Performance SQL. Suppression des requêtes en boucle (N+1) dans les modules Budget et Holidays. Temps de réponse divisé par 3 sur les gros historiques.
|
|
|
|
* **v1.2.0 :** Modernisation de l'UI. Remplacement des alertes systèmes par des Toasts et des confirmations sur-mesure.
|
|
* **v1.1.0 :** Refonte de l'expérience mobile (Bottom Sheets).
|
|
v1.0.4 : Centralisation des constantes (IDs, devises) dans includes/config.php et injection dans window.CONFIG.
|
|
|
|
v1.0.3 : Migration du module Calendrier vers pachaFetch.
|
|
|
|
v1.0.2 : Correction systématique du bug form.action dans les fichiers Budget.
|
|
|
|
v1.0.1 : Création de l'utilitaire global pachaFetch dans le header.
|
|
|
|
v1.0.0 : Version stable initiale.
|