Présentation
Le rôle de ce plugin Jeedom est de récupérer les informations de l'élève publiées sur PRONOTE.
Pour cela, nous utilisons l'API Wrapper PronotePy (https://github.com/bain3/pronotepy).
Installation
Pour installer le plugin ProJote, suivez les étapes suivantes :
- Accédez au Market Jeedom.
- Recherchez le plugin ProJote.
- Cliquez sur "Installer" pour ajouter le plugin à votre Jeedom.
- Une fois l'installation terminée, activez le plugin depuis le menu des plugins.
- Puis lancer l'installation des dépendances.
Lors de la prémiére éxécution cela peut être long et vous devrez peut être la relancer.
Dans le menu Plugins / Organisations / Plugin Pronote, cliquez sur Ajouter. Choisissez un nom identifiant l’équipement.
Connexion
Il existe deux méthodes de connexion : par Login ou par QR code. La méthode par QR code est recommandée.
Login
Le but de cette méthode est de vous connecter avec les informations de connexion.
Parcourez la liste des ENT/CAS pour trouver celle qui vous correspond. Si vous ne trouvez pas de
correspondance, essayez "Aucun"
ou d'autres.
Si vous utilisez un compte parent, cochez la case.
Ensuite, saisissez le login et le mot de passe de votre compte, puis l’URL de Pronote que vous utilisez (par
exemple, https://demo.index-education.net/pronote/eleve.html).
La page web Pronote recherche ressemble à cela :
>>> Exemple pour un compte parent
https://XXXXXXXy.index-education.net/pronote/parent.html?login=true
>>> Exemple pour un élève
https://demo.index-education.net/pronote/eleve.html
QR Code
Génération du QRCODE
Nous allons voir en premier lieu comment obtenir le QR CODE. Ensuite, nous verrons comment injecter ce QR code dans ProJote.
D’abord, connectez-vous au site Pronote et générez un QR Code avec un code PIN à 4 chiffres de votre choix. Récupérez le QR Code sur Pronote.
Sur votre site Pronote :
1. Entrez le PIN à 4 chiffres de votre choix.
2. Puis cliquez sur "Générer QR Code".
Une fenêtre va s’ouvrir avec le QR Code.
Tips : Utilisez l’outil Windows de capture d’écran.
Utilisez l’outil de capture d’écran Windows pour copier le QR Code dans le presse-papier. En apuyant simultanément sour les touches suvantes :

Windows + Shift + S
Dessiner un carré autour du QR Code. Et l’image sera copiée dans le presse-papier.
Transmission sur Jeedom
Créez un nouvel équipement ProJote.

Sélectionnez le paramètre d’authentification QR Code, puis collez le QR en faisant un clic droit.
Code dans le carré gris ou importez l’image enregistrée.
Le code PIN sera requis pour finaliser la configuration.
Attention, à chaque connexion, on renouvelle le token (car il est à usage unique). Si un cycle échoue, il faudra refaire l’authentification par QR CODE.
Utilisation
Une fois connecté, le plugin va récupérer toutes les heures les mises à jours depuis Pronote.
Vous pouvez désactiver ce paramétre dans la configuration de plugin.
Note: La mise à jour horaire est désactivée de 22h à 4h du matin.
Mais si vous demandez à rafraichir l'équipement, il téléchargera les mises à jour.
Voici la liste des paramètres retournés par le plugin :
| Paramètre | Description |
|---|---|
| Nom de l'élève | Le nom de l'élève |
| Nom de la classe | Le nom de la classe de l'élève |
| Établissement | Le nom de l'établissement scolaire |
| Picture | L'URL de l'image de l'élève sur le serveur Pronote |
| URL Ical | L'URL du calendrier iCal |
| Nombre d'absence | Le nombre d'absences de l'élève sur la période |
| Nombre de punition | Le nombre de punitions de l'élève sur la période |
| Nombre de devoir | Le nombre de devoirs de l'élève Fait et à faire |
| Nombre de devoir non fait | Le nombre de devoirs non faits par l'élève |
| Nombre de devoir fait | Le nombre de devoirs faits par l'élève |
| Nombre de devoir pour le prochain jour | Le nombre de devoirs pour le prochain jour d'école |
| Nombre de devoir non fait pour le prochain jour | Le nombre de devoirs non faits pour le prochain jour d'école |
| Nombre de devoir fait pour le prochain jour d'école | Le nombre de devoirs faits pour le prochain jour |
| Heure de début aujourd'hui | L'heure de début des cours aujourd'hui |
| Heure de fin aujourd'hui | L'heure de fin des cours aujourd'hui |
| Nombre de cours annulé aujourd'hui | Le nombre de cours annulés aujourd'hui |
| Date du prochain jour | La date du prochain jour de cours |
| Heure de début du prochain jour | L'heure de début des cours du prochain jour |
| Heure de fin du prochain jour | L'heure de fin des cours du prochain jour |
| Nombre de cours annulé du prochain jour d'école | Le nombre de cours annulés du prochain jour |
| Nombre de cours annulé | Le nombre de cours annulés sur la période |
Le plugin récupère les informations contenues dans Pronote. Si elles ne sont pas présentes sur le site, elles ne remonteront pas dans le plugin. Donc avant toute demande, vous devez valider que l'information recherchée est présente.
Historique des Versions
| Version | Date | Changements |
|---|---|---|
| 0.8 | Février 2024 |
✅ Stabilisation générale ✅ Amélioration gestion tokens ✅ Support multi-enfants pour parents ✅ Optimisations performances |
| 0.5.2 | Janvier 2024 |
🔧 Correction de bugs 🔧 Améliorations QR Code |
| 0.5 | Décembre 2023 |
✨ Ajout connexion par QR Code ✨ Nouvelle interface de configuration |
| 0.0.2 | Novembre 2023 | Mise à jour documentation |
| 0.0.1 | Octobre 2023 | Première version officielle |
| Alpha | Septembre 2023 | Phase de test initiale |
❓ FAQ
Puis-je utiliser ce plugin avec un compte parent?
Oui! Le plugin supporte complètement les comptes parents. Lors de la configuration, sélectionnez le type de compte "Parent" et choisissez l'enfant à suivre. Vous pouvez créer plusieurs équipements pour suivre plusieurs enfants.
Comment changer mon mot de passe stocké?
Modifiez simplement l'équipement en mettant à jour les identifiants et cliquez sur "Sauvegarde". Les nouveaux identifiants remplacent les anciens. Le mot de passe est chiffré en AES-256.
Les données sont-elles envoyées en ligne?
Non. Toutes les données restent locales sur votre installation Jeedom. Aucune télémétrie, aucun appel externe au serveur d'auteur. Seule la connexion vers le serveur Pronote de votre établissement est effectuée.
Quel est l'intervalle de synchronisation minimum?
Par défaut, la synchronisation se fait toutes les heures en cron. L'intervalle minimum recommandé est de 5 minutes pour ne pas surcharger les serveurs Pronote. Vous pouvez aussi forcer une actualisation manuelle avec la commande "Rafraîchir".
Le démon refuse de démarrer, que faire?
Vérifiez :
- Que Python 3.7+ est installé :
python3 --version - Que l'environnement virtuel est créé :
ls -la /var/www/html/plugins/ProJote/resources/python_venv - Que le port 55369 est libre :
netstat -tuln | grep 55369 - Les permissions du dossier :
sudo chown www-data:www-data -R /var/www/html/plugins/ProJote - Les logs : Aller dans Administration > Logs > ProJote
Que faire si l'authentification échoue?
Vérifiez :
- Que vos identifiants sont corrects (testez sur pronote.net)
- Que le type CAS/ENT est bon (essayez "Aucun" si doute)
- L'URL Pronote est correcte (format : https://xxxxx.index-education.net/pronote/...)
- Si QR Code : que le PIN est bien entré (4 chiffres)
- Relancez l'authentification (supprimer/recréer l'équipement)
🔐 Sécurité
⚠️ Points importants :
- Tokens stockés localement : Les tokens d'authentification sont sauvegardés dans
/data/[equipmentId]/, jamais synchronisés au cloud. - Mot de passe chiffré : Les mots de passe sont chiffrés en AES-256 avec une clé dérivée.
- HTTPS recommandé : Accédez toujours à Jeedom en HTTPS, particulièrement pour éviter les interceptions.
- Port socket local : Le port 55369 ne communique qu'en localhost (127.0.0.1).
- Logs sensibles : En cas de problème, vérifiez les logs car ils peuvent contenir des données sensibles. Ne partagez jamais vos logs publiquement sans les anonymiser.
- Permissions fichiers : Assurez-vous que les dossiers de données sont accessibles uniquement par www-data.
🛠️ Dépannage Avancé
Activer le mode debug
Pour activer les logs détaillés :
- Allez dans Administration → Configuration → Logs
- Sélectionnez debug pour le niveau global
- Relancez le démon ProJote
- Consultez les logs dans Administration → Logs → ProJote
Erreurs courantes et solutions
| Erreur | Solution |
|---|---|
| "Le démon n'est pas démarré" | Allez dans Plugins → ProJote → Démon et cliquez sur "Relancer" |
| "Port déjà utilisé" | Changez le port dans Configuration (ex: 55370) ou
tuez le processus : sudo kill $(lsof -t -i :55369) |
| "Impossible de lancer le démon" | Vérifiez Python, l'environnement virtuel, et les permissions. Consultez les logs. |
| "Erreur d'authentification" | Testez vos identifiants sur pronote.net, vérifiez l'URL et le type CAS/ENT |
| "Timeout socket" | Relancez le démon, vérifiez la connectivité réseau et Pronote |
| "Fichier JSON introuvable" | Vérifiez les permissions du dossier
/data, relancez une authentification |
📞 Support & Contribution
Besoin d'aide?
- 📖 README.md - Guide complet d'installation et usage
- 🐛 Issues GitHub - Signaler un bug
- 💬 Community Jeedom - Discussions
- 📧 Auteur GitHub - Aldarande
Contribution? Les pull requests sont les bienvenues! N'hésitez pas à proposer des améliorations.
📝 Notes Importantes
⚠️ Le plugin récupère UNIQUEMENT les informations présentes dans Pronote. Si une information n'est pas disponible sur le site Pronote, elle ne remontera pas dans le plugin. Avant toute demande de support, validez que l'information est bien présente sur votre compte Pronote.
💡 Conseil : Pour un suivi optimal, configurez un cron toutes les 6-8 heures pendant les heures de classe. La synchronisation est automatiquement désactivée entre 22h et 4h du matin.