Files
HouseHub/README.md
T
percoandClaude Sonnet 4.6 0494554c30
Deploy to Pacha Family / deploy (push) Failing after 3s
feat: admin panel + page paramètres + README mis à jour
- 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>
2026-05-11 14:30:44 +02:00

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.