diff --git a/.gitignore b/.gitignore
index 0c222bc..2e5c28a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,5 @@
househub_db_data
.env
data/.hh_app_secret
-extract_source.php
\ No newline at end of file
+extract_source.php
+.htaccess
\ No newline at end of file
diff --git a/family-calendar.php b/family-calendar.php
index a33beb4..6f2e94f 100644
--- a/family-calendar.php
+++ b/family-calendar.php
@@ -8,11 +8,33 @@ require_login();
require __DIR__ . '/includes/db.php';
require_once __DIR__ . '/includes/i18n.php';
-$stmtPeople = $pdo->query("SELECT id, name, user_id, role FROM pf_people ORDER BY id ASC");
+// 1. Récupération de toutes les personnes avec leurs modes de garde
+$stmtPeople = $pdo->query("SELECT id, name, user_id, role, care_modes FROM pf_people ORDER BY id ASC");
$familyPeople = $stmtPeople->fetchAll(PDO::FETCH_ASSOC);
-$parents = array_values(array_filter($familyPeople, function($p) {
- return strtolower($p['role'] ?? '') === 'parent';
-}));
+
+$parents = [];
+$kids = [];
+
+// Liste de tous les modes de garde actifs dans le foyer
+$activeCareModes = [];
+
+foreach ($familyPeople as $p) {
+ $role = strtolower($p['role'] ?? '');
+ if ($role === 'parent') {
+ $parents[] = $p;
+ } elseif ($role === 'enfant') {
+ // Décodage sécurisé des modes de garde
+ $modes = json_decode($p['care_modes'] ?? '[]', true);
+ if (!is_array($modes)) $modes = [];
+ $p['modes'] = $modes;
+ $kids[] = $p;
+
+ foreach ($modes as $m) {
+ $activeCareModes[$m] = true;
+ }
+ }
+}
+$activeCareModes = array_keys($activeCareModes); // On récupère uniquement les noms uniques
$pageTitle = tr('fc_page_title');
$activePage = "family-calendar";
@@ -114,22 +136,17 @@ require __DIR__ . '/header.php';
-