/MetaBera

Tous les BERAs à jour, publics et accessibles.

Primary LanguageXSLT

Méta BERA

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

Problème

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.

Solution

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

Utilisation

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).

Configuration dans une iframe

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.

Massifs disponibles

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.

Résultat