Nano service pour rendre accessibles les BERA (Bulletins d'Estimation de Risques d'Avalanches) sans avoir à passer par l'API de Météo France.
Exemple : https://bulletin.metabera.ovh/bera.php?massif=CHAMPSAUR
Les BERA de Météo France sont publics, c'est bien. Mais il ne sont pas directement accessibles via une URL, c'est mal.
Il devient alors beaucoup plus compliqué de :
- les partager (ce qui est un comble pour une information publique de sécurité vitale !),
- les intégrer dans une iframe,
- réaliser des traitements automatiques.
Le site metaskirando s'est déjà occupé de récupérer les BERA pour les mettre à disposition du plus grand nombre, merci à eux !
Mais suite à mon besoin d'intégration des BERA dans une iframe, avec prise en compte du https et de la hauteur du rendu, j'ai fait ce script permettant d'accéder aux BERA :
- via une url fixe,
- utilisant les derniers xslt et css de Météo France,
- sans avoir besoin d'une clé d'API Météo France (qui nécessite une inscription),
- avec une gestion de cache de 10 minutes pour éviter de spammer l'API de Météo France,
- avec du javascript permettant une meilleure intégration dans une iframe.
Une intégration est visible sur ma page https://lagrave.ovh
Cloner le projet puis lancer un serveur PHP dans le répertoire du projet, après avoir configuré votre clé d'API dans la variable d'environnement adéquate :
export METEOFRANCE_API_KEY='votre-clé-api-récupérée-sur-le-site-de-météo-france'
php -S localhost:8000
Accéder ensuite à l'url http://localhost:8000/bera.php?massif=CHAMPSAUR
en précisant le massif parmi les 36 disponibles (voir ci-après).
Remarque : il est nécessaire d'avoir les extensions PHP curl
et xsl
activées (c'est le cas par défaut avec le serveur web PHP de dev).
Afin de pouvoir gérer correctement l'affichage des BERA dans une iframe, le script utilise la librairie JS iframe-resizer.
Inclure le script iframeResizer.min.js et ajouter ces quelques lignes dans la page contenant l'iframe pointant sur le BERA :
<iframe id="bera" src="https://bulletin.metabera.ovh/bera.php?massif=OISANS"></iframe>
<script src="js/iframeResizer.min.js"></script>
<script>
iFrameResize({}, '#bera')
</script>
L'iframe s'affiche ensuite automatiquement à la bonne hauteur et gère correctement le défilement.
CHABLAIS
, ARAVIS
, MONT-BLANC
, BAUGES
, BEAUFORTAIN
, HAUTE-TARENTAISE
, CHARTREUSE
, BELLEDONNE
, MAURIENNE
, VANOISE
, HAUTE-MAURIENNE
, GRANDES-ROUSSES
, THABOR
, VERCORS
, OISANS
, PELVOUX
, QUEYRAS
, DEVOLUY
, CHAMPSAUR
, EMBRUNNAIS-PARPAILLON
, UBAYE
, HAUT-VAR-HAUT-VERDON
, MERCANTOUR
, CINTO-ROTONDO
, RENOSO-INCUDINE
, PAYS-BASQUE
, ASPE-OSSAU
, HAUTE-BIGORRE
, AURE-LOURON
, LUCHONNAIS
, COUSERANS
, HAUTE-ARIEGE
, ANDORRE
, ORLU-ST-BARTHELEMY
, CAPCIR-PUYMORENS
, CERDAGNE-CANIGOU
.