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:
261
docs/archive/INSTRUCTIONS_PRONOTE.md
Normal file
261
docs/archive/INSTRUCTIONS_PRONOTE.md
Normal file
@@ -0,0 +1,261 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user