Exploiter le lien iCal de Pronote : rappel du matin, alerte d'annulation, récap hebdo
Les accès Pronote viennent d'arriver dans les boîtes mail. Au milieu des identifiants, il y a une fonction que la plupart des parents n'ouvriront jamais : l'export iCal. Elle donne une adresse web qui expose l'emploi du temps en temps réel, dans un format standard que n'importe quel outil sait lire.
À partir de là, le champ des possibles est plus large qu'on ne le croit. J'ai regardé ce que le flux contient réellement, en lisant le code d'un projet open source qui le décortique, pour pouvoir répondre précisément à la question qui compte : qu'est-ce qui est faisable, et qu'est-ce qui ne l'est pas.
Ce que le flux contient vraiment
C'est le point de départ, et il est rarement documenté. En lisant le code de pronote-digest, qui parse ces flux, on voit exactement ce que Pronote expose :
- les cours, avec horaires de début et de fin
- la matière, les enseignants, les salles, le groupe
- le statut du cours : normal, annulé ou déplacé
- le contenu pédagogique de la séance
- les devoirs, avec deux dates distinctes : « donné le » et « pour le »
Ce que le flux ne contient pas : les notes, les bulletins, les absences, la messagerie. Un outil branché dessus ne peut rien écrire non plus. C'est de la lecture seule, sur un périmètre étroit.
Deux réserves importantes. Le cahier de textes n'apparaît que si l'établissement a activé cette option, donc les recettes qui reposent sur les devoirs peuvent ne rien donner chez vous. Et l'export lui-même doit avoir été autorisé par l'établissement.
La bonne nouvelle sur les annulations
Je pensais qu'une alerte en cas de cours annulé exigerait de conserver un historique et de comparer deux versions du calendrier. Ce n'est pas le cas.
Pronote marque directement le statut dans le flux, via le champ de catégories. Le code du projet le montre en trois lignes : si la catégorie contient « annulé », le cours est marqué annulé ; si elle contient « déplacé », il est marqué déplacé. Autrement dit, une seule lecture du flux suffit pour savoir qu'un cours saute. Pas de base de données, pas de comparaison.
C'est ce qui rend la plupart des recettes ci-dessous beaucoup plus simples qu'attendu.
Une question honnête se pose avant d'aller plus loin : est-ce que Pronote ne le fait pas déjà ? En partie, mais pas de façon fiable. L'application officielle affiche bien les changements en direct, encore faut-il l'ouvrir. Quant à la notification, la documentation d'Index Education destinée aux établissements est explicite : après avoir annulé une séance, le personnel peut prévenir les personnes concernées par courrier, e-mail, notification ou SMS. C'est donc une action manuelle, à refaire à chaque annulation, et qui dépend entièrement des habitudes de l'établissement.
C'est précisément là qu'une alerte personnelle a de la valeur : elle ne dépend de personne. Si votre établissement notifie systématiquement, vous n'avez rien à construire. Regardez d'abord ce qui remonte pendant deux ou trois semaines avant de vous lancer.
En revanche, tout ce qui n'est pas un statut demande bien une comparaison entre deux relevés : un cours qui apparaît, un changement de salle sans marquage, un devoir dont l'énoncé est modifié. Là, il faut garder le flux de la veille et le comparer. C'est faisable, mais c'est un autre niveau d'effort.
Le champ des possibles, par ordre de difficulté
Une précaution avant de commencer : rien de ce qui suit n'exige d'être développeur. La première option se fait en copiant-collant une adresse, et un tableau récapitulatif plus bas dit précisément ce que chaque approche demande. Arrêtez-vous au niveau qui vous convient : la plupart des familles n'ont besoin que du premier.
Sans rien coder
S'abonner depuis son agenda. Vous collez l'adresse dans Google Agenda, Apple Calendrier, Thunderbird ou Outlook. L'emploi du temps apparaît à côté de vos rendez-vous. Limite réelle : les agendas grand public rafraîchissent les abonnements distants quand ils le décident, parfois avec plusieurs heures de retard, ce qui les rend peu fiables pour une annulation du matin même.
Avec Home Assistant, si vous en avez déjà un
L'intégration Remote Calendar accepte l'adresse iCal telle quelle, en lecture seule, avec un intervalle d'interrogation que vous choisissez. Une fois le calendrier disponible comme entité, il devient une condition d'automatisation, et c'est là que ça devient intéressant :
- Le rappel du matin. Une annonce vocale au petit-déjeuner : première heure, salle, et la tenue de sport s'il y a EPS.
- Le réveil intelligent. Ne pas sonner à la même heure selon l'heure du premier cours, et pas du tout si la journée commence à dix heures.
- L'alerte d'annulation. Une notification dès qu'un cours du jour porte le statut annulé. Faisable sans historique, comme vu plus haut.
- L'affichage d'entrée. Une tablette qui montre la journée en cours au moment de partir.
Tout reste chez vous, aucun prestataire dans la boucle.
Avec une tâche planifiée, sans serveur
C'est l'approche de pronote-digest, de Yoan Bernabeu, en licence MIT : des workflows GitHub Actions planifiés lisent les flux et envoient un message par votre propre SMTP. Aucune infrastructure à héberger, les secrets dans un dépôt privé.
Ce patron ouvre les recettes qui demandent de la mise en forme plutôt que du temps réel :
- Le digest du soir. Le planning du lendemain à 19 h, les devoirs à 17 h 30.
- Le récapitulatif hebdomadaire. Le dimanche soir, la semaine à venir : contrôles annoncés, sorties, journées longues.
- Le suivi des devoirs par échéance. Le flux distingue « donné le » et « pour le », ce qui permet de lister ce qui tombe dans les trois prochains jours plutôt que le seul lendemain.
- La détection de changement. En archivant chaque relevé, comparer avec celui de la veille et ne signaler que les différences.
Six besoins que personne ne traite
Les recettes ci-dessus sont celles qu'on voit circuler. En regardant ce que le flux contient vraiment, j'en vois six autres qui répondent à des problèmes de parents bien plus concrets, et qui ne demandent rien de plus.
La sortie anticipée, pas l'annulation. Savoir qu'un cours saute intéresse modérément un parent. Savoir que son enfant sort à 15 h au lieu de 17 h change la journée : il faut aller le chercher, le prévenir, ou simplement le savoir. La bonne alerte ne dit pas « cours annulé », elle dit « il termine deux heures plus tôt ». C'est le même flux, mais on regarde le dernier cours de la journée plutôt que chaque cours isolément.
Le bon soir pour le devoir. Le flux distingue « donné le » et « pour le ». Un devoir donné lundi pour vendredi ne doit pas être rappelé jeudi soir, quand il est trop tard pour s'y mettre sérieusement. Avec les deux dates, on peut répartir : signaler mercredi ce qui tombe vendredi. C'est la différence entre un rappel et un accompagnement.
L'anticipation de la charge. En comptant les échéances par jour sur la semaine à venir, on repère les journées surchargées avant qu'elles arrivent, là où trois contrôles tombent le même jour. C'est l'information qu'un parent découvre généralement la veille au soir, quand il n'y a plus rien à faire.
Plusieurs enfants dans un seul message. Chaque enfant a son propre lien. Rien n'empêche d'agréger deux ou trois flux dans un digest unique, classé par enfant. Pour une fratrie, ça remplace trois consultations quotidiennes par un seul message.
Le partage entre parents séparés. Le lien fonctionne pour quiconque le détient, ce qui est un défaut de sécurité mais résout un vrai problème d'organisation : les deux parents peuvent s'abonner au même calendrier sans partager d'identifiants Pronote ni dépendre l'un de l'autre pour l'information. C'est probablement l'usage le plus utile et le moins connu.
Le digest en audio. Le même contenu passé dans une synthèse vocale devient écoutable en voiture, en préparant le repas, ou par un parent malvoyant pour qui l'interface de Pronote n'est pas le chemin le plus confortable. C'est un usage d'accessibilité que la version écrite évacue par défaut, alors qu'il ne coûte presque rien à ajouter.
Aucun de ces six ne demande autre chose que le flux iCal et un peu de logique. Ils sont plus utiles que la plupart des intégrations toutes faites, parce qu'ils partent du quotidien d'un parent plutôt que de ce que la donnée permet d'afficher.
Le cas d'usage auquel je n'avais pas pensé
Il est venu d'une discussion sous l'annonce du projet : les parents qui ne lisent pas le français. Suivre la scolarité de son enfant quand l'interface, les matières et les intitulés de devoirs sont dans une langue qu'on maîtrise mal est un obstacle quotidien, et il touche beaucoup de familles.
Un flux iCal se traduit très bien, parce qu'il est court et structuré. Une passe de traduction avant l'envoi, et le parent reçoit le planning et les devoirs dans sa langue. pronote-digest intègre déjà une étape de résumé par IA compatible avec plusieurs fournisseurs, ce qui rend la chose accessible sans repartir de zéro.
Une précaution s'impose quand même, et elle vaut pour tout usage de l'IA ici : envoyer le planning d'un enfant à un modèle distant, c'est faire sortir cette donnée. Si le sujet vous gêne, un modèle local règle la question, comme je l'explique à propos du coût réel d'une IA hébergée chez soi.
Et les notes ?
C'est la demande qui revient le plus souvent, et la réponse est nette : les notes ne sont pas dans le flux iCal. Ni les bulletins, ni les absences, ni la messagerie. Tout ce qui précède s'arrête à l'emploi du temps et au cahier de textes.
Pour aller au-delà, il n'existe qu'un chemin : s'authentifier comme vous le feriez dans l'application, via une bibliothèque non officielle qui rejoue la connexion. La principale s'appelle pronotepy, en Python, licence MIT, environ 235 étoiles et toujours mise à jour. Sa documentation est franche sur deux points : elle n'utilise pas d'API officielle, qui n'est pas ouverte aux élèves, et le projet est en mode maintenance, c'est-à-dire qu'il corrige les bugs et s'adapte aux évolutions de Pronote sans ajouter de fonctions.
Ce changement de niveau mérite d'être pesé, parce qu'il n'est pas anodin.
La nuance qui compte : exécuter vous-même un script avec vos identifiants n'est pas la même chose que de les confier à un service tiers. Dans le premier cas le mot de passe reste sur votre machine, dans le second il part chez quelqu'un dont vous ignorez les pratiques. C'est la différence entre utiliser sa propre clé et en donner un double.
Mais la contrepartie est réelle. Une bibliothèque qui rétro-ingénie une authentification casse quand l'éditeur change quelque chose, sans prévenir et parfois durablement. Le cimetière est éloquent : l'application pronote-notifications, qui promettait exactement les alertes de nouvelles notes, est archivée depuis novembre 2022 ; ynotes, une autre application de vie scolaire, est marquée comme non maintenue. Ces projets ne sont pas morts par manque d'intérêt, mais parce que maintenir une couche non officielle est un travail sans fin.
D'où la règle que je retiens, et qui dépasse Pronote : ce qui repose sur un export documenté dure, ce qui repose sur de la rétro-ingénierie s'éteint. Le flux iCal fonctionnera encore dans trois ans. Rien ne le garantit pour le reste.
La troisième voie : un agent qui lit la page à votre place
Il existe une option qui échappe aux deux problèmes précédents, et je l'ai découverte en creusant la question : les agents de navigation, comme Claude in Chrome, passé en disponibilité générale.
Le principe change tout. Anthropic décrit l'extension comme capable de « voir la page sur laquelle vous êtes et d'agir : lire et saisir du texte, cliquer sur des liens, naviguer entre les pages et remplir des formulaires, en utilisant vos connexions existantes ». Autrement dit, l'agent ne reçoit aucun identifiant : il travaille dans votre navigateur, sur une session que vous avez ouverte, exactement comme vous le feriez.
Ce détail règle les deux faiblesses des approches précédentes. Aucun mot de passe n'est confié à un script ou à un tiers. Et comme l'agent lit la page comme un humain plutôt que d'appeler une API rétro-ingéniée, il ne casse pas quand l'éditeur change son protocole interne.
D'après plusieurs comptes rendus de la version générale, l'extension sait aussi exécuter des tâches récurrentes planifiées tant que Chrome reste ouvert, ce qui permettrait une vérification quotidienne des nouvelles notes. Je n'ai pas retrouvé cette fonction dans l'annonce officielle que j'ai pu lire, donc vérifiez-la avant de bâtir dessus.
Trois réserves, en revanche, et elles sont sérieuses.
La première est pratique : ça suppose un navigateur ouvert sur une machine allumée. Mais cette contrainte se contourne, et probablement avec du matériel que vous avez déjà. « Machine allumée » ne veut pas dire votre ordinateur portable : un Raspberry Pi, un NAS ou un petit serveur font l'affaire. Si vous avez suivi la section Home Assistant plus haut, vous avez déjà cette machine, et elle tourne vingt-quatre heures sur vingt-quatre.
Trois façons de l'utiliser, de la plus autonome à la plus sobre.
Un agent auto-hébergé. Hermes Agent, publié par Nous Research en février 2026 sous licence MIT, est conçu pour ça : il vit sur votre serveur, exécute des workflows planifiés, pilote un navigateur, et surtout il peut se connecter à votre propre Chrome ou Chromium via le protocole de débogage. Il réutilise donc une session déjà authentifiée, comme l'extension, mais sans dépendre de votre poste. Le projet annonce que les données restent sur votre machine.
Claude Code en mode sans interface. Il s'exécute sans terminal interactif et se compose avec cron ou n'importe quel planificateur, et le serveur MCP Playwright lui permet de s'attacher à un navigateur déjà lancé, donc à une session ouverte. C'est souple, et ça vous laisse décrire la tâche en français plutôt qu'en code.
Un simple script Playwright et une ligne de cron. Sans aucune IA.
Sur le plan strictement technique, c'est cette dernière option qui est la plus saine. Si la page ne change pas, un script déterministe coûte zéro par exécution, ne se trompe jamais et ne peut pas être détourné par une instruction cachée dans la page. Interroger un modèle de frontière tous les matins pour comparer deux listes de notes, c'est payer cher une différence de fichiers. L'agent devient le bon outil quand vous voulez le sens de la page plutôt que son contenu : résumer, hiérarchiser, traduire pour un parent non francophone, ou encaisser un changement de mise en page sans rien réécrire.
Mais « le plus sain techniquement » et « le bon choix pour vous » sont deux choses différentes, et je me méfie des articles qui les confondent. Écrire un script et le planifier sur un serveur suppose des compétences que la grande majorité des parents n'ont pas, et n'ont aucune raison d'avoir.
La deuxième réserve tient à l'injection de prompt, c'est-à-dire des instructions cachées dans une page qui détournent l'agent. Anthropic publie ses chiffres, et ils sont bons sans être nuls : avec les protections activées, aucune attaque n'a abouti contre Sonnet 5, Opus 5 et Mythos 5, et 0,3 % ont réussi contre Fable 5 ; sans les protections avancées, le taux monte à 3,8 % contre Opus 5. Sur l'espace scolaire d'un enfant, c'est un risque à poser consciemment.
La troisième répond à une question qu'on m'a posée directement : faut-il brancher un gestionnaire de mots de passe, Bitwarden par exemple, pour que l'agent se connecte tout seul ? Non, et c'est le point important. Le modèle décrit par Anthropic repose justement sur vos connexions déjà établies. Restez connecté à Pronote dans votre navigateur et l'agent n'a besoin d'aucun secret. Chercher à lui faire extraire un mot de passe d'un coffre-fort revient à défaire ce que ce coffre-fort sert à protéger, pour un gain nul.
Et si vous déplacez tout ça sur un serveur, ajoutez une précaution : une machine qui garde en permanence une session Pronote ouverte devient elle-même un actif à protéger. Qui d'autre accède à ce serveur, et depuis où ?
Quelle option pour qui
C'est le tableau que j'aurais voulu trouver en commençant. Il ne classe pas par élégance technique mais par ce que ça vous demande réellement.
| Option | Ce qu'il faut savoir faire | Coût | Pour qui |
|---|---|---|---|
| Abonnement agenda | Copier-coller une adresse | Gratuit | Tout le monde, sans exception |
| Agent de navigateur | Installer une extension, formuler sa demande en français | Abonnement IA | Un parent non technique qui veut les notes |
| Digest par mail | Recopier un dépôt, remplir des champs de configuration | Gratuit | Un parent patient, même sans savoir coder |
| Home Assistant | Écrire une automatisation | Gratuit si déjà installé | Un foyer déjà équipé en domotique |
| Serveur et agent | Administrer une machine | Matériel et jetons | Un autohébergeur |
| Script maison et cron | Programmer | Quasi nul | Un développeur |
Deux remarques sur ce tableau, parce qu'il contredit l'ordre auquel on s'attend.
L'agent de navigateur est l'option la plus accessible dès qu'on sort de l'emploi du temps, et non la plus avancée. On installe une extension et on écrit sa demande en français. Pas de code, pas de serveur, pas d'identifiant à confier. Elle coûte un abonnement, ce qui est un vrai critère, mais elle ne demande aucune compétence technique.
Et le digest par mail est de la configuration, pas de la programmation. « GitHub Actions » sonne intimidant, alors qu'il s'agit de recopier un dépôt et de remplir des cases. Un parent méthodique y arrive en une soirée, sans écrire une ligne de code.
Ce que je recommande
Commencez par l'abonnement agenda, quel que soit votre niveau. Deux minutes, et ça couvre déjà le besoin de beaucoup de familles.
Si vous voulez les notes, regardez d'abord si l'application officielle sait vous notifier. Si le besoin persiste et que vous n'êtes pas développeur, l'agent de navigateur est la réponse : ni identifiants confiés, ni code à maintenir. Si vous êtes à l'aise techniquement, le script maison sur une machine toujours allumée sera plus fiable et moins cher à l'usage.
Et ne développez pas une application. Un parent n'ouvre pas une application de plus, il lit ses mails et ses notifications. Le bon livrable n'est pas une interface, c'est un message qui arrive au bon moment.
Deux choses restent hors de portée quel que soit le chemin : Pronote ne s'écrit pas depuis l'extérieur, donc pas de justification d'absence automatisée ; et pas de devoirs du tout si l'établissement n'a pas activé le cahier de textes.
La précaution qui conditionne tout le reste
L'adresse ressemble à ceci :
https://XXXXXXXX.index-education.net/pronote/ical/Edt_prenom.ics?icalsecurise=...&version=...¶m=...
Le paramètre icalsecurise est un jeton. Il n'y a ni identifiant ni mot de passe : quiconque connaît l'adresse complète peut lire le calendrier de votre enfant. La documentation de Home Assistant le dit à sa façon, en exigeant une URL « accessible publiquement sans authentification ».
C'est ce qui rend l'approche saine face au vrai risque documenté, qui n'est pas l'export de calendrier mais le vol d'identifiants. Cybermalveillance a publié en mars 2024 une fiche consacrée au piratage de comptes ENT et Pronote par des logiciels voleurs de données, avec des cas de comptes usurpés, de messages diffusés et de notes modifiées. La CNIL a publié en mai 2025 un guide sur les violations de données dans l'éducation. Confier ses identifiants à une application tierce, c'est lui donner tout cela. Lui donner une adresse iCal, c'est lui donner un calendrier.
Mais l'adresse reste un secret. Ne la collez pas dans un groupe de discussion, pas dans une capture d'écran, et jamais dans un dépôt de code public.
Et voici ce qui m'a surpris : je n'ai trouvé aucune procédure permettant à un parent de régénérer ce jeton lui-même. Le seul réglage documenté est côté établissement, une case qui autorise ou non l'export iCal, et qui vaut pour tout le monde. Si cette lecture est exacte, vous détenez un secret que vous ne pouvez pas faire tourner. L'absence de documentation publique ne prouve pas l'absence de mécanisme, donc je pose la question plutôt que de l'affirmer : si vous administrez Pronote dans un établissement et connaissez la réponse, je suis preneur.
Par où commencer
Récupérez l'adresse dans l'espace Parents ou Élève, en ouvrant l'emploi du temps et en cherchant l'icône iCal, ou depuis la rubrique de votre compte. Choisissez bien le lien de synchronisation, et non le fichier .ics à télécharger, qui ne se met jamais à jour.
Abonnez-vous d'abord depuis votre agenda, c'est deux minutes et ça suffit à beaucoup de familles. Regardez ensuite si votre flux contient les devoirs, ce qui déterminera la moitié des recettes possibles. Et n'allez vers l'automatisation que si un besoin précis le justifie, le rappel du matin ou l'alerte d'annulation étant les deux qui rendent le plus de service pour le moins d'effort.
Sources : Anthropic, Claude in Chrome en disponibilité générale ; Hermes Agent, de Nous Research ; pronotepy, bibliothèque Python non officielle ; Index Education, synchroniser son emploi du temps avec son agenda personnel ; pronote-digest, de Yoan Bernabeu ; Home Assistant, intégration Remote Calendar ; Cybermalveillance.gouv.fr, fiche sur le piratage de comptes ENT et Pronote (mars 2024) ; CNIL, guide sur les violations de données dans l'éducation (mai 2025).
Pour aller plus loin : Protéger ses enfants sur internet, le guide des parents
Questions fréquentes
Peut-on être alerté quand un cours est annulé ?
Oui, et sans conserver d'historique. Pronote inscrit le statut du cours directement dans le flux iCal, via le champ de catégories, en distinguant les cours annulés des cours déplacés. Une seule lecture du flux suffit donc à détecter une annulation. En revanche, repérer un cours ajouté ou un changement de salle non marqué demande de comparer deux relevés successifs.
Pronote ne prévient-il pas déjà tout seul ?
Pas de manière garantie. L'application officielle affiche les changements en direct, mais il faut l'ouvrir. Et la notification d'annulation est, selon la documentation d'Index Education, une action que le personnel de l'établissement déclenche manuellement après avoir annulé la séance. Elle dépend donc des habitudes locales. Observez ce que vous recevez pendant quelques semaines : si votre établissement notifie systématiquement, une alerte maison ne vous apportera rien.
Le lien iCal donne-t-il accès aux notes ?
Non. Le flux contient les cours, horaires, salles, enseignants, le statut du cours, le contenu pédagogique et les devoirs. Les notes, bulletins, absences et la messagerie n'y figurent pas, et aucun outil branché dessus ne peut écrire dans Pronote.
Pourquoi mes devoirs n'apparaissent-ils pas dans le flux ?
Parce que le cahier de textes n'est présent dans l'export que si l'établissement a activé cette option. C'est un réglage côté établissement, pas côté parent. Sans lui, tout ce qui concerne l'emploi du temps fonctionne, mais les recettes basées sur les devoirs ne donnent rien.
Est-ce autorisé d'utiliser ce lien avec un outil tiers ?
Oui. L'export iCal est une fonction officielle de Pronote, documentée par Index Education et activée par l'établissement. S'y abonner depuis un agenda, Home Assistant ou un script personnel ne contourne aucune authentification et n'exploite aucune faille.
Peut-on récupérer les notes avec un agent de navigation comme Claude in Chrome ?
C'est la piste la plus accessible à un parent non développeur. L'agent travaille dans votre navigateur en utilisant vos connexions déjà ouvertes, donc il ne reçoit aucun identifiant, et il lit la page plutôt que d'appeler une API non officielle qui casserait à la prochaine mise à jour. Inutile de lui brancher un gestionnaire de mots de passe : restez simplement connecté à Pronote. Les limites sont qu'il faut un navigateur ouvert, et qu'un agent qui lit des pages reste exposé à l'injection de prompt, avec des taux d'échec publiés faibles mais non nuls.
Que faire si mon adresse iCal a fuité ?
Je n'ai trouvé aucune procédure documentée permettant à un parent de régénérer ce jeton. Le seul levier documenté est côté établissement, qui peut désactiver l'export iCal pour tous. Signalez la fuite à l'établissement et demandez-lui de vérifier auprès d'Index Education s'il existe un moyen de renouveler le jeton.
Découvre mes outils

À propos de l'auteur
Delivery Manager à Rennes. Je pilote des projets de transformation digitale, SEO/GEO et accessibilité RGAA pour des clients grands comptes. Ce blog est le reflet de ce que je rencontre sur le terrain.