(modifié le 28 mars 2024 à 13:38)

 


Les organisations publiques telles que les régies des eaux ne sont pas forcément les mieux dotées en terme de délivrance d'email.

Il est très facile de passer à côté d'une notification de facture à payer, ou pire : de ne jamais recevoir la facture ! Ensuite c'est la relance par courrier et éventuellement les pénalités qui vont avec 🤑

Pour éviter ça j'ai écrit un script bash qui va vérifier tous les jours si une facture est en attente de règlement et me notifie sur mon téléphone via ntfy :

 

Cela fonctionne avec certaines communes de l'agglomération Grenobloise, mais pas que.

Liste des communes de l'agglo compatibles

Avant tout vous devez savoir si votre commune est compatible avec ce script. Pour que cela fonctionne votre commune doit être en "gestion métropole".

3 méthodes pour cela : une facile 2 autres plus destinées aux bidouilleurs. Pas d'inquiétude car peu importe la méthode le résultat sera le même.

Méthode 1 (facile)

Rendez-vous sur cette page https://ael.eauxdegrenoblealpes.fr/ puis cliquer sur votre commune dans le menu.

Prêtez attention au message qui vous informe de qui dépend votre commune :

Si votre commune dépend de "Métropole Alpes Grenoble" le script fonctionnera pour votre commune.

Si votre commune dépend d'autre chose que "Métropole Alpes Grenoble" désolé mais ce script ne fonctionnera pas.

Méthode 2 (avancée)

Rendez-vous sur cette liste :

https://ael.eauxdegrenoblealpes.fr/local/communes.json

Une fois votre commune trouvé, cherchez :

"nomSociete": "METROPOLE"
  • Si votre commune est listée et avec cette valeur alors ce script va fonctionner
  • Si votre commune est listée mais avec une autre valeur que "METROPOLE" en face du champ "nomSociete" alors ce script risque de ne pas fonctionner.

Méthode 3 (avancée en CLI)

Pour les paresseux vous pouvez également vérifier la compatibilité depuis un terminal bash :

curl -s https://ael.eauxdegrenoblealpes.fr/local/communes.json | jq -r '.items[] | select(.nomSociete == "METROPOLE") | .nomCommune'

Cette valeur correspond aux communes qui utilisent le système d'agence en ligne (AEL) de "www.somei.fr" (également visible dans les entêtes HTTP de certaines requêtes) compatible avec ce script. Si votre commune fait partie de la liste retournée alors ce script fonctionnera.

Si vous habitez en dehors de l'agglomération Grenobloise et que cela marche pour vous pensez à le préciser en commentaire 🙂

Téléchargement du script

Récupérez le script depuis mon espace GitHub :

↪️ regiesDesEauxGrenoble.sh (raw)

Rendez le script exécutable chmod +x *.sh

puis modifiez les 3 variables obligatoires :

LOGIN="mon@email.fr"
PASSW="xxxxxxxxxxxxxxxx"
NUMCONTRAT="1234567"

Le numéro de contrat se trouve en haut à gauche de votre espace en ligne, sinon sur vos factures.
⚠️ à ne pas confondre avec le numéro de compteur.

Enfin pour recevoir la notification avec ntfy renseignez le chemin du script de notification ntfy :

NTFYSCRIPT="/home/pi/ntfy/ntfy-ng.sh"
NTFYTOPIC="topic-ntfy-au-choix"

Pour ne pas recevoir la notification via NTFY commentez la ligne qui commence par $NTFYSCRIPT

Lancement du script

Et voici une trace d'exécution du script :

./regiesDesEauxGrenoble.sh
___ Debut du script v2023.11.30 ___

> conversationId=JS-WEB-Netscape-d2b7b62f-dbbc-4e98-b6d9-c6cf0df682a2

=== [CURL_0] Lecture cookie BigIP ===
> Cookie BigIP=!FEnXYYZzn8rzsY1t3jM/Zi5c...

=== [CURL_1] Recup openToken et MessageId (/generateToken) ===
> OpenToken=openToken-9270a4c3-db52-5573-ccdf-a6548855ff0a3
> MessageId=SMI-WEBAPI-MSG-20240325-123157-874s9fd2-daf2-4cd6-9425-c718ea1011c1

=== [CURL_2] Envoi du formulaire de connexion (/authentification) ===
> tokenAuthentique=50364c12-19ac-87a2-a9b1-c14f2f8415ac

=== [CURL_3] Lecture solde euros (/Facturation) ===
[Facture d'Eau] 34,15€ A REGLER

Et voilà !

Conclusion

Vous n'avez maintenant plus aucune excuse pour payer vos factures en retard !

Vous pouvez ensuite connecter le tout facilement à votre solution domotique, ou laisser le script tourner en crontab.

Je suis content de vous partager ce bout de script car j'ai passé quelques heures dessus pour décortiquer le fonctionnement sans avoir d'API digne de ce nom. Je ne m'attendais pas à devoir faire autant d'étapes avec cURL !

J'espère que ce script vous sera utile! En tout cas c'était un très entrainement pour moi et je sais que cette base me resservira. D'ailleurs je vous partage très bientôt un autre script similaire pour des charges envoyés par un syndic d'immeuble (même problème : les emails arrivent aléatoirement...)

 

 

Auteur : Mr Xhark

Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter