Files
FamilyPlanner/docs/archive/INSTRUCTIONS_PRONOTE.md
philippe fdd72c1135 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>
2025-10-14 10:43:33 +02:00

262 lines
7.7 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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