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>
262 lines
7.7 KiB
Markdown
262 lines
7.7 KiB
Markdown
# Family Planner - Intégration Pronote
|
||
|
||
## Nouveautés de la Page de Profil
|
||
|
||
La page de profil a été entièrement redesignée pour intégrer toutes les fonctionnalités et les données Pronote.
|
||
|
||
### Nouvelles Fonctionnalités
|
||
|
||
#### 1. Boutons d'Action Intégrés
|
||
Tous les boutons sont maintenant directement accessibles sur la page de profil :
|
||
- **📅 Planning** - Accéder au planning complet
|
||
- **📥 Importer** - Synchroniser les données depuis Pronote
|
||
- **✏️ Modifier** - Modifier le profil
|
||
- **🔌 Connexion Pronote** - Se connecter à Pronote
|
||
- **🗑️ Supprimer** - Supprimer le profil
|
||
|
||
#### 2. Connexion Pronote
|
||
- Cliquez sur le bouton "Connexion Pronote"
|
||
- Entrez l'URL de votre établissement (ex: https://demo.index-education.net/pronote)
|
||
- Entrez votre nom d'utilisateur
|
||
- Entrez votre mot de passe
|
||
- La connexion est sécurisée et les identifiants ne sont pas stockés en clair
|
||
|
||
#### 3. Données Pronote Affichées
|
||
|
||
Une fois connecté à Pronote, vous verrez automatiquement :
|
||
|
||
##### Moyennes Générales
|
||
- Moyenne personnelle
|
||
- Moyenne de la classe
|
||
- Classement dans la classe
|
||
|
||
##### Dernières Notes
|
||
- Les 4 dernières notes obtenues
|
||
- Matière, type d'évaluation, date
|
||
- Code couleur selon la note (vert > 14, orange 10-14, rouge < 10)
|
||
|
||
##### Absences & Retards
|
||
- Nombre d'absences du trimestre
|
||
- Nombre de retards du trimestre
|
||
- Historique détaillé
|
||
|
||
##### Prochains Devoirs
|
||
- Les 3 prochains devoirs à rendre
|
||
- Matière, description, date limite
|
||
- Code couleur selon l'urgence
|
||
|
||
##### Emploi du Temps
|
||
- Cours de la journée en cours
|
||
- Horaires, matières, salles, professeurs
|
||
|
||
#### 4. Autres Fonctionnalités
|
||
|
||
##### Région Scolaire et Congés
|
||
- Sélection de la zone scolaire (A, B, C, DOM-TOM)
|
||
- Affichage automatique des congés et jours fériés
|
||
- Synchronisation avec le planning
|
||
|
||
##### Notes Personnelles
|
||
- Zone de texte pour ajouter des notes libres
|
||
- Sauvegarde automatique
|
||
- Visible uniquement par vous
|
||
|
||
## Démarrage de l'Application
|
||
|
||
### Méthode 1 : Double-clic sur le fichier (RECOMMANDÉ)
|
||
1. Localisez le fichier **`LANCER_APPLICATION.bat`**
|
||
2. Double-cliquez dessus
|
||
3. L'application démarrera automatiquement tous les serveurs
|
||
4. Votre navigateur s'ouvrira sur http://localhost:5173/profiles
|
||
|
||
### Méthode 2 : Ligne de commande
|
||
```bash
|
||
cd "C:\Users\philh\OneDrive\Documents\Codes\family-planner"
|
||
.\LANCER_APPLICATION.bat
|
||
```
|
||
|
||
### Méthode 3 : PowerShell (avancé)
|
||
```powershell
|
||
cd "C:\Users\philh\OneDrive\Documents\Codes\family-planner"
|
||
powershell -ExecutionPolicy Bypass -File .\start-app.ps1
|
||
```
|
||
|
||
## Utilisation de Pronote
|
||
|
||
### Première Connexion
|
||
|
||
1. **Ouvrir l'application** via le fichier LANCER_APPLICATION.bat
|
||
|
||
2. **Accéder à un profil**
|
||
- Cliquez sur le profil d'un enfant (ex: Robin Heyraud)
|
||
- Vous verrez le badge "Non connecté à Pronote" en rouge
|
||
|
||
3. **Se connecter à Pronote**
|
||
- Cliquez sur le bouton "🔌 Connexion Pronote"
|
||
- Une modale s'ouvre avec 3 champs :
|
||
- **URL Pronote** : Entrez l'URL de votre établissement
|
||
- Exemple : `https://0140020w.index-education.net/pronote`
|
||
- Ou : `https://demo.index-education.net/pronote`
|
||
- **Nom d'utilisateur** : Votre identifiant Pronote
|
||
- **Mot de passe** : Votre mot de passe Pronote
|
||
- Cliquez sur "Se connecter"
|
||
|
||
4. **Vérifier la connexion**
|
||
- Le badge passe au vert : "Connecté à Pronote"
|
||
- Les données s'affichent automatiquement :
|
||
- Moyennes
|
||
- Notes
|
||
- Devoirs
|
||
- Emploi du temps
|
||
- Absences et retards
|
||
|
||
### Importer les Données
|
||
|
||
- Cliquez sur le bouton "📥 Importer"
|
||
- Les données Pronote sont synchronisées
|
||
- Un message de confirmation s'affiche
|
||
|
||
### Déconnexion
|
||
|
||
- Cliquez à nouveau sur "🔌 Reconnecter Pronote"
|
||
- Vous pouvez vous reconnecter avec de nouveaux identifiants
|
||
|
||
## Données de Démonstration
|
||
|
||
### Sans Connexion Pronote Réelle
|
||
|
||
Si vous n'avez pas accès à un vrai compte Pronote, l'application utilise des **données de démonstration** :
|
||
|
||
- Moyennes : 15.2 (général), 13.8 (classe)
|
||
- 5 notes récentes en mathématiques, physique, philosophie, anglais, histoire
|
||
- Emploi du temps du lundi et mardi
|
||
- 5 devoirs à venir
|
||
- 2 absences et 3 retards
|
||
|
||
Ces données permettent de tester l'interface sans connexion réelle.
|
||
|
||
### Pour Tester avec un Vrai Compte
|
||
|
||
Vous pouvez utiliser l'URL de démonstration officielle de Pronote (si disponible) :
|
||
- URL : `https://demo.index-education.net/pronote`
|
||
- Consultez le site officiel d'Index Éducation pour les identifiants de test
|
||
|
||
## Architecture Technique
|
||
|
||
### Serveurs Lancés
|
||
|
||
Le script de démarrage lance 3 serveurs :
|
||
|
||
1. **API Pronote** (Port 3000)
|
||
- Serveur Node.js/Express
|
||
- Gère l'authentification Pronote
|
||
- Fournit les endpoints API pour récupérer les données
|
||
- Base de données SQLite pour le cache
|
||
|
||
2. **Backend** (Port 3001)
|
||
- API backend de Family Planner
|
||
- Gère les profils, calendriers, etc.
|
||
|
||
3. **Frontend** (Port 5173)
|
||
- Interface React
|
||
- Accès via http://localhost:5173
|
||
|
||
### Endpoints API Pronote
|
||
|
||
- `POST /api/pronote/login` - Connexion
|
||
- `GET /api/pronote/user/info` - Infos utilisateur
|
||
- `GET /api/pronote/grades` - Notes
|
||
- `GET /api/pronote/averages` - Moyennes
|
||
- `GET /api/pronote/schedule` - Emploi du temps
|
||
- `GET /api/pronote/homework` - Devoirs
|
||
- `GET /api/pronote/absences` - Absences
|
||
- `GET /api/pronote/delays` - Retards
|
||
|
||
### Stockage des Données
|
||
|
||
- **Tokens JWT** : Stockés dans localStorage du navigateur
|
||
- **Données Pronote** : Mises en cache dans SQLite
|
||
- **Session** : Expire après 1 heure (renouvellement automatique)
|
||
|
||
## Dépannage
|
||
|
||
### Problème : Les boutons ne s'affichent pas
|
||
- **Solution** : Vérifiez que vous êtes sur la page de profil d'un enfant
|
||
- URL correcte : `http://localhost:5173/child/[ID]`
|
||
|
||
### Problème : "Erreur de connexion à Pronote"
|
||
- **Causes possibles** :
|
||
- URL Pronote incorrecte
|
||
- Identifiants erronés
|
||
- Établissement qui bloque les connexions externes
|
||
- Serveur API Pronote non démarré
|
||
- **Solutions** :
|
||
- Vérifiez l'URL (doit commencer par https://)
|
||
- Vérifiez vos identifiants
|
||
- Consultez les logs du serveur
|
||
- Redémarrez l'application
|
||
|
||
### Problème : "Non connecté à Pronote" après connexion
|
||
- **Solution** :
|
||
- Rafraîchissez la page (F5)
|
||
- Vérifiez la console du navigateur (F12)
|
||
- Reconnectez-vous à Pronote
|
||
|
||
### Problème : Les données ne se chargent pas
|
||
- **Solution** :
|
||
- Cliquez sur "📥 Importer"
|
||
- Vérifiez que le serveur API (port 3000) est actif
|
||
- Consultez les logs du serveur
|
||
- Videz le cache du navigateur
|
||
|
||
### Problème : L'application ne démarre pas
|
||
- **Solution** :
|
||
1. Vérifiez que Node.js est installé : `node --version`
|
||
2. Installez les dépendances :
|
||
```bash
|
||
cd backend && npm install
|
||
cd ../frontend && npm install
|
||
cd .. && npm install
|
||
```
|
||
3. Fermez tous les processus Node.js existants
|
||
4. Relancez LANCER_APPLICATION.bat
|
||
|
||
### Voir les Logs
|
||
|
||
Pour voir les logs des serveurs :
|
||
- **PowerShell** : Les logs s'affichent automatiquement
|
||
- **CMD** : Vérifiez les fichiers :
|
||
- `pronote-server.log`
|
||
- `backend.log`
|
||
- `frontend.log`
|
||
|
||
## Sécurité
|
||
|
||
### Données Sensibles
|
||
|
||
- ⚠️ Les mots de passe Pronote ne sont PAS stockés en clair
|
||
- ✅ Utilisation de JWT pour l'authentification
|
||
- ✅ Tokens cryptés dans localStorage
|
||
- ✅ Sessions expirées automatiquement
|
||
|
||
### Recommandations
|
||
|
||
1. **Ne partagez jamais** vos identifiants Pronote
|
||
2. **Fermez l'application** après utilisation
|
||
3. **Videz le cache** si vous utilisez un ordinateur partagé
|
||
4. **Changez vos mots de passe** régulièrement
|
||
|
||
## Support
|
||
|
||
Pour toute question ou problème :
|
||
1. Consultez d'abord ce document
|
||
2. Vérifiez les logs des serveurs
|
||
3. Essayez de redémarrer l'application
|
||
4. Consultez la documentation technique dans README.md
|
||
|
||
---
|
||
|
||
**Version** : 1.0.0
|
||
**Dernière mise à jour** : 13 Octobre 2025
|
||
**Développé avec** : Claude Code
|