Aller au contenu principal

Intégration domotique Don du sang, gratuite et open source

Intégration Don du sang pour Gladys Assistant

Les prochaines collectes de sang de l'EFS près de chez toi : compteurs, widget et alertes.

Les prochaines collectes de sang de l'Établissement français du sang (EFS) autour de chez toi, dans Gladys : combien dans les prochains jours, où et quand a lieu la prochaine, si tu peux prendre rendez-vous en ligne, et des alertes dans tes scènes. Les données viennent de la carte publique de l'EFS, celle de dondesang.efs.sante.fr : sans compte, sans clé.

France métropolitaine et départements d'outre-mer desservis par l'EFS.

Ce que tu obtiens​

  • Un appareil, la zone : autour de la maison localisée dans Gladys, ou autour d'un point que tu saisis, dans un rayon de 5 à 50 km.
  • Ses capteurs : le nombre de journées de collecte sur les 7 prochains jours et sur les 30 prochains jours, et la prochaine collecte : lieu et commune, jour et horaires, distance, rendez-vous en ligne et places libres.
  • Un widget de tableau de bord « Collectes de sang » : les prochaines collectes de la zone (8 au plus), avec jour, horaires, distance et lien de rendez-vous.
  • Des déclencheurs de scène : « Nouvelle collecte de sang annoncée », « Collecte de sang aujourd'hui » (chaque matin vers 8 h) et « Collecte de sang demain » (chaque soir vers 18 h).
  • Une action de scène « Collectes de sang à proximité » : les collectes d'une période en une phrase, prête à envoyer ou à dire.
  • Textes en anglais, français, allemand et espagnol.

Vérifie toujours la collecte et les critères de don sur le site de l'EFS avant d'y aller : les horaires peuvent changer, et tout le monde ne peut pas donner son sang un jour donné.

Prérequis​

  • Gladys Assistant 5.3.0 ou plus récent.
  • Un accès à Internet depuis Gladys (oudonner.api.efs.sante.fr).
  • La maison localisée dans Gladys (Paramètres → Maisons), ou un point saisi dans la configuration.

Installation​

Dans Gladys, ouvre Intégrations → Installer depuis GitHub et saisis l'adresse de ce dépôt : https://github.com/guim31/gladys-don-du-sang. Gladys télécharge l'image et démarre l'intégration.

Configuration​

Réglages​

  • Rayon : 5, 10, 20 (par défaut), 30 ou 50 km autour du centre de la zone, à vol d'oiseau.
  • Latitude / Longitude d'un autre point : laisse-les vides pour utiliser la maison localisée dans Gladys. Saisis les deux (degrés décimaux, point ou virgule : 43,6045 et 1,4440) pour suivre un autre lieu : ton travail, la commune de tes parents.
  • Langue des noms et des messages : la langue des noms de fonctionnalités, des textes de scène et du compte rendu « Vérifier » (français par défaut). Les lieux et les communes restent tels que l'EFS les écrit.

Ajouter l'appareil​

Enregistre la configuration, puis ouvre l'onglet Découverte de l'intégration et ajoute l'appareil « Don du sang ». Les noms de ses fonctionnalités sont figés à l'ajout : choisis la langue avant.

Vérifier​

Le bouton Vérifier affiche la zone utilisée (maison ou point, rayon), la dernière lecture de l'EFS et son résultat, et si l'appareil est ajouté.

Appareil​

FonctionnalitéTypeContenu
Collectes sur 7 jourscompteurjournées de collecte d'aujourd'hui au 6e jour
Collectes sur 30 jourscompteurjournées de collecte d'aujourd'hui au 29e jour
Prochaine collecte : lieutexteSALLE DES FÊTES, MURET
Prochaine collecte : datetextedemain, 10:00–13:30, 14:30–19:00
Prochaine collecte : distancedistance (km)depuis le centre de la zone, à vol d'oiseau
Prochaine collecte : rendez-voustexteRendez-vous en ligne · 19 places libres sur 44

Une collecte sur deux jours compte pour deux journées. Une collecte quitte « prochaine » à la fin de son dernier créneau.

Widget du tableau de bord​

Ajoute le widget Collectes de sang à un tableau de bord. Réglages : la période (aujourd'hui, demain, 7 prochains jours, 30 prochains jours), la légende avec le nombre, et le badge « RDV en ligne ». Chaque ligne affiche le lieu, le jour et les horaires, la distance ; un appui ouvre l'adresse, les places libres et le lien de rendez-vous sur le site de l'EFS.

Déclencheurs de scène​

  • Nouvelle collecte de sang annoncée : l'EFS publie une nouvelle journée de collecte dans la zone (lu deux fois par jour). La première lecture d'une zone sert de référence : rien n'est annoncé à l'installation, ni quand tu changes de zone.
  • Collecte de sang aujourd'hui : chaque matin vers 8 h, pour chaque collecte de la zone ce jour-là.
  • Collecte de sang demain : chaque soir vers 18 h, pour chaque collecte de la zone le lendemain.

Variables : lieu, commune, adresse, date et horaires, jour (AAAA-MM-JJ), horaires, distance (km), rendez-vous, lien de rendez-vous, fin (ISO 8601).

Action de scène​

Collectes de sang à proximité : choisis une période et le nombre de collectes citées ; l'action renvoie une phrase (« 7 prochains jours : 6 collectes de sang près de chez toi, … »), le nombre de journées de collecte (pour ne continuer que s'il y en a une), le lieu, la date et le lien de rendez-vous de la prochaine.

Exemples de scènes​

  • « Collecte de sang demain » → envoyer un message : Collecte de sang demain à \{\{place\}\}, \{\{city\}\} : \{\{hours\}\}. Mange bien et bois beaucoup d'eau ! \{\{url\}\}.
  • Chaque lundi à 8 h → « Collectes de sang à proximité » (7 prochains jours) → continuer seulement si le nombre est supérieur à 0 → dire la phrase sur l'enceinte.
  • « Nouvelle collecte de sang annoncée » → une notification avec le lieu et la date.

Données et rafraîchissement​

  • Source : l'API de la carte de l'EFS (oudonner.api.efs.sante.fr/carto-api, v3), publiée sur data.gouv.fr (« Lieux et horaires des collectes de sang ») sous Licence Ouverte 2.0.
  • Une requête toutes les 12 heures (deux fois par jour au plus), pour les collectes à partir d'aujourd'hui. Une lecture en échec est retentée au bout d'une heure (10 minutes si rien n'a encore été lu) ; les collectes connues restent affichées.
  • Autour de Paris, l'EFS met jusqu'à une minute à répondre : la première lecture après un démarrage peut prendre ce temps.
  • Toutes les 10 minutes, sans réseau, les compteurs et la prochaine collecte suivent l'horloge.
  • La requête porte le centre de la zone arrondi à un kilomètre environ : la position exacte de ta maison n'est pas envoyée. Les distances sont calculées par l'intégration.
  • Les collectes réservées au personnel d'une entreprise, d'un établissement scolaire ou d'une unité militaire sont écartées.
  • Ce qui a déjà été annoncé est gardé dans /data/state.json : un redémarrage n'annonce rien deux fois.

Dépannage​

  • Aucun appareil dans l'onglet Découverte : la maison n'est pas localisée dans Gladys et aucun point n'est saisi. Le bouton « Vérifier » le dit.
  • Compteurs à 0 : aucune collecte publique dans le rayon ; essaie un rayon plus grand. L'EFS publie environ dix semaines à l'avance.
  • « Dernière lecture en échec » : le site de l'EFS est injoignable ; l'intégration réessaie toutes les heures.
  • Une collecte manque ou diffère : l'EFS fait foi ; vérifie sur son site.
  • Journaux : mets LOG_LEVEL=debug pour le détail de chaque lecture.

Limites​

  • Seulement les collectes mobiles (salles des fêtes, entreprises ouvertes au public, universités) ; les sites fixes (« Maisons du don ») ont leurs propres horaires d'ouverture et ne sont pas listés.
  • Les informations de rendez-vous sont celles de la carte de l'EFS : prise de rendez-vous en ligne proposée, places libres pour le don de sang. Les dons de plasma et de plaquettes se font sur rendez-vous dans les Maisons du don.
  • Distances à vol d'oiseau. Sans aucune collecte à venir, la distance garde sa dernière valeur (le lieu indique « Aucune »).
  • Les horaires sont lus dans le fuseau de Gladys : un point saisi outre-mer alors que Gladys est à l'heure de Paris les décale.
  • Sans lien avec l'Établissement français du sang.

Crédits​

Paramètres de configuration​

Voici les paramètres demandés par Don du sang dans son écran de configuration dans Gladys.

ParamètreTypeObligatoireDescription
FonctionnementsectionNonLes collectes viennent de la carte publique de l'Établissement français du sang (EFS) : gratuit, sans compte. Choisis la zone, enregistre, puis ajoute l'appareil depuis l'onglet Découverte. Vérifie toujours la collecte et les critères de don sur le site de l'EFS.
RayonselectNonDistance au centre de la zone, à vol d'oiseau.
Latitude d'un autre pointstringNonVide : autour de la maison localisée dans Gladys. Degrés décimaux.
Longitude d'un autre pointstringNonAvec la latitude. Vide : autour de la maison.
Langue des noms et des messagesselectNonLes noms des fonctionnalités sont figés à l'ajout de l'appareil. Les lieux restent en français, comme publiés.

Comment installer Don du sang dans Gladys​

  1. Dans Gladys, ouvrez Intégrations : Don du sang apparaît dans le catalogue, aux côtés des intégrations natives, avec un badge communautaire.
  2. Cliquez sur Installer. Gladys télécharge l'image Docker (ghcr.io/guim31/gladys-don-du-sang:1.0.0), la démarre dans un bac à sable isolé du cœur, et génère l'interface de l'intégration (appareils, découverte et configuration).
  3. Ouvrez l'écran Configuration de l'intégration, remplissez les paramètres, puis enregistrez.
  4. Vous pouvez aussi l'installer directement depuis l'URL de son dépôt : https://github.com/guim31/gladys-don-du-sang.

Don du sang nécessite Gladys >=5.3.0. Le catalogue dans Gladys se rafraîchit toutes les heures : une nouvelle version est donc disponible au plus tard une heure après sa sortie.

Vous n'utilisez pas encore Gladys ? C'est gratuit et open source : suivez le guide d'installation pour démarrer.

À propos des intégrations externes​

Don du sang est une intégration externe : une intégration communautaire empaquetée dans un conteneur Docker et publiée sur GitHub, que Gladys installe en un clic et exécute dans un bac à sable isolé de son cœur. Elle est publiée et maintenue par guim31, et non par l'équipe cœur de Gladys.

Inscrivez-vous à la newsletter Gladys Assistant

Quelques emails par mois sur les nouveautés et l'actualité du projet. Envoyés par Pierre-Gilles Leymarie, le fondateur du projet. Désinscription possible à tout moment 🙂