Alertes pour cours annulés sur Pronote
À propos |
Installation |
Roadmap
WPronote est une application Node.js qui se connecte automatiquement à votre compte Pronote et vous prévient sur votre téléphone avec des notifications push (grâce à Pushover ou Ntfy) lorsqu’un changement est détecté dans votre emploi du temps.
Toutes les 5 minutes, le programme vérifie votre emploi du temps et vous envoie une notification dès qu’un de ces changements est détecté :
- ❌ Cours annulés (prof absent, sortie pédagogique...)
- ✅ Cours rétablis (un cours annulé qui est finalement maintenu)
- 🔄 Modifications (changement de salle, de professeur...)
- Node.js 18 ou plus récent
- Et soit :
- Un compte Pushover avec une licence active
- L’application Ntfy installée sur votre téléphone
git clone https://github.com/Lamnxzp/WPronote.git
cd WPronote
npm installCréez un fichier config.js à la racine du projet en copiant config.example.js et en le modifiant selon vos besoins. Ce fichier contrôle les services de notification activés.
Pour utiliser Pushover comme service de notification :
- Créez un compte sur Pushover.
- Créez un fichier
.envà la racine du projet avec vos clés API :PUSHOVER_USER_KEY=votre_cle_utilisateur PUSHOVER_API_TOKEN=votre_token_application
- Pour récupérer vos clés API Pushover, suivez les instructions détaillées dans le fichier docs/pushover.md.
- Dans
config.js, assurez-vous que"pushover"est inclus dans la listeenabledProviders(par exemple :enabledProviders: ["pushover"]).
Pour utiliser Ntfy comme service de notification (gratuit et open-source) :
- Installez l'application Ntfy sur votre téléphone.
- Abonnez-vous à un topic de votre choix (par exemple
mon-topic-wpronote). Votre URL sera alorshttps://ntfy.sh/mon-topic-wpronote. - Modifiez
config.js:- Ajoutez
"ntfy"à la listeenabledProviders(par exemple :enabledProviders: ["ntfy"]). - Remplacez
"https://ntfy.sh/your-topic-here"dansproviders.ntfy.urlpar l'URL de votre topic (par exemple :"https://ntfy.sh/mon-topic-wpronote"). - Ajustez les options comme
priorityettitlesi nécessaire.
- Ajoutez
Tip
Un topic est public, ce qui signifie que plusieurs personnes peuvent s’y abonner et recevoir vos notifications. Choisissez donc un nom qui ne soit pas trop générique.
Vous pouvez activer plusieurs services en les listant dans enabledProviders, par exemple ["pushover", "ntfy"].
node src/main.jsLors du premier démarrage, vous devrez vous authentifier avec un QR Code Pronote, ce qui créera un fichier pronote_session.json dans le dossier cache.
Une fois ce fichier présent, vous pouvez relancer le programme et la connexion se fera automatiquement.
-
Génération du QR Code dans Pronote
- Connectez-vous à Pronote depuis un ordinateur.
- Cliquez sur le bouton avec un icône de QR Code situé à côté de votre nom dans le bandeau supérieur.
- Dans la fenêtre qui s’ouvre, saisissez un code éphémère à 4 chiffres de votre choix (PIN). Un QR Code sera alors généré.
-
Authentification
- Entrez le code PIN choisi dans le programme.
- Il vous sera ensuite demandé de fournir les données du QR Code.
- Pour les récupérer, faites une capture d’écran du QR Code.
- Rendez-vous sur ce site et cliquez sur Scan from image.
- Importez votre capture, puis cliquez sur Copy text et collez le contenu directement dans votre terminal.
Tip
Une fois l'authentification réussie, le fichier pronote_session.json créé dans le dossier cache peut être transféré sur un autre système (VPS, serveur...) pour éviter de refaire l'authentification. Le programme se connectera automatiquement sans nouvelle saisie.
Note
L'authentification via un ENT ou avec ses identifiants Pronote n'est pas supportée. Seule l'authentification par QR Code est disponible.
- Cours
- Cours annulés (prof absent, sortie pédagogique...)
- Cours rétablis (un cours annulé qui est finalement maintenu)
- Cours modifiés (changement de professeur, de salle...)
- Notifications
- Support API Pushover
- Support API Ntfy
- Support API Discord
- Support API Telegram
- Les données d’authentification sont stockées localement sur votre machine
- Pour l’envoi des notifications, seules des informations liées aux cours (matière, heure, salle, professeur, etc.) sont transmises à Pushover ou Ntfy
- La connexion s’effectue uniquement via les serveurs officiels de Pronote, de manière sécurisée
Ce projet est un développement indépendant et n'est en aucun cas affilié, approuvé ou soutenu par la société Index Éducation.
Pronote est un logiciel et une marque déposée appartenant à Index Éducation.
L'utilisation de ce nom dans ce projet est uniquement à titre de référence. Ce projet n'est pas officiel et l'usage du nom "Pronote" ou de toute inspiration visuelle ne constitue pas un partenariat ou une affiliation officielle.
Ce projet est fourni "en l'état" sans garantie.