Initial commit: Family Planner application

Complete family planning application with:
- React frontend with TypeScript
- Node.js/Express backend with TypeScript
- Python ingestion service for document processing
- Planning ingestion service with LLM integration
- Shared UI components and type definitions
- OAuth integration for calendar synchronization
- Comprehensive documentation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
philippe
2025-10-14 10:43:33 +02:00
commit fdd72c1135
239 changed files with 44160 additions and 0 deletions

View File

@@ -0,0 +1,268 @@
# ✅ Monaco est prêt à l'emploi !
## 🎉 Résumé
Monaco est **déjà intégré** dans votre application Family Planner ! Les vacances scolaires et jours fériés de la Principauté de Monaco sont disponibles.
---
## 📍 Comment utiliser Monaco
### Dans l'interface
1. **Ouvrir un profil enfant**
- Allez sur http://localhost:5173/profiles
- Cliquez sur un profil d'enfant (ex: Robin Heyraud)
2. **Sélectionner Monaco**
- Descendez jusqu'à la section **"Congés scolaires"** 🏖️
- Dans le menu déroulant "Zone scolaire", sélectionnez **"Monaco"**
- Cliquez sur **"Enregistrer la région"**
3. **Voir les congés**
- Les vacances scolaires de Monaco s'affichent automatiquement
- Les jours fériés spécifiques à Monaco sont inclus
---
## 📅 Données de Monaco (2024-2025)
### Vacances Scolaires
Source : **Arrêté ministériel n° 2023-221 du 18 avril 2023**
| Vacances | Début | Fin |
|----------|-------|-----|
| Toussaint | 23 octobre 2024 | 4 novembre 2024 |
| Noël | 20 décembre 2024 | 6 janvier 2025 |
| Hiver | 7 février 2025 | 24 février 2025 |
| Printemps | 5 avril 2025 | 22 avril 2025 |
| Été | 1er juillet 2025 | 8 septembre 2025 |
### Jours Fériés 2025
12 jours fériés spécifiques à Monaco :
| Jour férié | Date |
|------------|------|
| Jour de l'an | 1er janvier 2025 |
| **Sainte Dévote** 🇲🇨 | 27 janvier 2025 |
| Lundi de Pâques | 21 avril 2025 |
| Fête du Travail | 1er mai 2025 |
| Ascension | 29 mai 2025 |
| Lundi de Pentecôte | 9 juin 2025 |
| **Fête-Dieu** 🇲🇨 | 19 juin 2025 |
| Assomption | 15 août 2025 |
| Toussaint | 1er novembre 2025 |
| **Fête du Prince** 🇲🇨 | 19 novembre 2025 |
| Immaculée Conception | 8 décembre 2025 |
| Noël | 25 décembre 2025 |
🇲🇨 = Jour férié spécifique à Monaco
---
## 🔧 Architecture Technique
### Backend
**Fichier** : `backend/src/services/holiday-service.ts`
```typescript
// Lignes 55-80 : Vacances scolaires Monaco
// Lignes 169-212 : Jours fériés Monaco par année
```
Les données sont :
- ✅ Séparées par année scolaire
- ✅ Filtrées automatiquement selon la région
- ✅ Triées par date
- ✅ Combinées avec les jours fériés
### Frontend
**Fichier** : `frontend/src/screens/ChildDetailScreen.tsx`
```typescript
// Ligne 522 : Monaco dans REGION_LABELS
monaco: "Monaco",
```
Le sélecteur affiche toutes les régions disponibles :
- Zone A, B, C (France)
- Corse
- **Monaco** 🇲🇨
- Guadeloupe
- Guyane
- Martinique
- Réunion
- Mayotte
---
## 🚀 Pour démarrer
### 1. Backend (déjà compilé)
```bash
cd family-planner/backend
npm run dev
```
Le backend tourne sur **http://localhost:3000**
### 2. Frontend
```bash
cd family-planner/frontend
npm run dev
```
Le frontend tourne sur **http://localhost:5173**
### 3. Tester Monaco
1. Ouvrir http://localhost:5173
2. Aller dans "Profils" → Sélectionner un enfant
3. Descendre à "Congés scolaires"
4. Sélectionner "Monaco"
5. Cliquer "Enregistrer"
---
## 🔍 API Backend
### Récupérer les congés de Monaco
```bash
GET http://localhost:3000/api/holidays?region=monaco&year=2025
```
### Réponse
```json
{
"success": true,
"holidays": [
{
"id": "holiday_...",
"title": "Sainte Dévote",
"startDate": "2025-01-27",
"endDate": "2025-01-27",
"type": "public",
"description": "Jour férié à Monaco",
"zones": ["monaco"]
},
{
"id": "holiday_...",
"title": "Vacances d'hiver Monaco",
"startDate": "2025-02-07",
"endDate": "2025-02-24",
"type": "school",
"zones": ["monaco"],
"description": "Vacances scolaires"
}
// ... autres congés et jours fériés
]
}
```
---
## 🎯 Différences France vs Monaco
### Vacances scolaires
- **France** : Zones A, B, C avec dates décalées
- **Monaco** : Calendrier unique, dates légèrement différentes
### Jours fériés
**Uniquement en France :**
- Victoire 1945 (8 mai)
- Fête Nationale (14 juillet)
- Armistice 1918 (11 novembre)
**Uniquement à Monaco :**
- 🇲🇨 Sainte Dévote (27 janvier)
- 🇲🇨 Fête du Prince (19 novembre)
- 🇲🇨 Fête-Dieu (juin)
---
## 📝 Mise à jour des données
### Modifier les vacances de Monaco
**Fichier** : `backend/src/services/holiday-service.ts`
1. Éditer les dates lignes 55-80
2. Recompiler :
```bash
cd backend
npm run build
```
3. Redémarrer le serveur
### Sources officielles
- **Législation** : https://legimonaco.mc
- **Service Public** : https://monservicepublic.gouv.mc
- **Calendrier** : https://journaldemonaco.gouv.mc
---
## ✅ Checklist de vérification
- [x] Monaco ajouté au backend (holiday-service.ts)
- [x] Vacances scolaires 2024-2025 officielles
- [x] Jours fériés 2025 officiels
- [x] Monaco dans le sélecteur frontend
- [x] API fonctionnelle
- [x] Backend compilé
- [x] Dates vérifiées
---
## 🐛 Dépannage
### Monaco ne s'affiche pas dans le sélecteur
**Solution** : Vérifier que le frontend est bien à jour
```bash
cd frontend
npm run dev
```
### Les congés ne s'affichent pas
**Causes possibles :**
1. Backend pas démarré → `cd backend && npm run dev`
2. Région non enregistrée → Cliquer "Enregistrer la région"
3. Cache navigateur → Rafraîchir (Ctrl+Shift+R)
### Erreur API
**Vérifier** :
- Backend tourne sur port 3000
- Frontend tourne sur port 5173
- Console navigateur (F12) pour les erreurs
---
## 📞 Support
### Logs Backend
```bash
cd backend
npm run dev
```
Les logs s'affichent dans le terminal
### Console Frontend
Appuyer sur **F12** dans le navigateur
→ Onglet "Console"
---
## 🎉 Statut
**Monaco** : ✅ **OPÉRATIONNEL**
- Données officielles vérifiées
- Backend compilé et fonctionnel
- Frontend mis à jour
- API testée
- Prêt à l'emploi
---
**Dernière mise à jour** : 13 octobre 2025
**Version** : 1.0
**Statut** : Production Ready ✅