Puget-Théniers — Infos en temps réel

Coordonnées : 43.955° N, 6.902° E • Alt. ~350 m

–:–:–
Chargement…

Météo actuelle

°C
Condition :
Vent : km/h
Direction : °
Humidité : %
Pression : hPa
Dernière mise à jour :

Données : api.open-meteo.com

Var à Entrevaux

m
Débit : m³/s
Station : Entrevaux [Pont-levis]
Dernière mesure :

Données : hubeau.eaufrance.fr

Soleil — aujourd’hui

Lever du soleil : –:–
Coucher du soleil : –:–
Durée du jour :
Midi solaire : –:–
Distance Terre-Soleil : M km

Données : api.sunrise-sunset.org

Lune — phase actuelle

🌑 Chargement…
Illumination : %
Distance Terre-Lune : km
Info : Calcul approximatif.

Données : calcul local (approx.)

La Commune

Maire : Pierre CORPORANDY
Mandat : 2020-2026
Population : ~1 800 habitants
Gentilé : Pugétois, Pugétoises
Superficie : 21,5 km²
Densité : 84 hab/km²
Altitude : 353 – 1 436 m
Code postal : 06260
Code INSEE : 06099

Source : INSEE / Mairie

Infos diverses

Fuseau : Europe/Paris
Décalage UTC :
Jour de la semaine :
Jour de l’année :
Semaine n° :
Unix time :

Données : horloge locale

Réalisation Mansouri Jean-Paul

Comment fonctionne le tableau de bord Puget-Théniers

Une page qui affiche en temps réel la météo, le niveau du Var, les éphémérides solaires et lunaires, à partir de plusieurs API publiques et de quelques calculs locaux.

Le principe général

La page est un bloc autonome : un peu de HTML pour la structure, une feuille de style intégrée et un script qui s'exécute au chargement. Aucun serveur intermédiaire, aucune base de données. Tout se passe dans le navigateur du visiteur, qui interroge directement les services de données au moment où il ouvre la page.

Chaque encadré correspond à une source distincte. Les valeurs se rafraîchissent ensuite à intervalle régulier, sans recharger la page, grâce à des minuteries.

Les sources de données

Météo — Open-Meteo

La météo provient d'api.open-meteo.com, un service gratuit et sans clé d'accès. La requête demande la météo courante (température, vent, code temps) ainsi que deux séries horaires pour récupérer l'humidité et la pression correspondant à l'heure en cours.

https://api.open-meteo.com/v1/forecast?latitude=43.955&longitude=6.902
  &current_weather=true
  &hourly=relativehumidity_2m,pressure_msl
  &timezone=auto

Le code temps renvoyé est un simple numéro (norme WMO). Une petite fonction le traduit en texte lisible : 0 pour un ciel clair, 3 pour un ciel couvert, 61 à 65 pour la pluie, 95 pour l'orage, et ainsi de suite.

Niveau du Var — Hub'Eau

La hauteur et le débit du Var viennent de hubeau.eaufrance.fr, la plateforme de données publiques sur l'eau. La page interroge la station d'Entrevaux (code Y604201001) et ne demande que la dernière mesure disponible.

https://hubeau.eaufrance.fr/api/v2/hydrometrie/observations_tr
  ?code_entite=Y604201001&size=1&sort=desc

Les valeurs sont fournies en millimètres et en litres par seconde : le script les convertit en mètres et en mètres cubes par seconde avant l'affichage.

Soleil — Sunrise-Sunset

Le lever, le coucher, le midi solaire et la durée du jour proviennent d'api.sunrise-sunset.org. L'API renvoie des horaires au format ISO, convertis ensuite à l'heure locale pour l'affichage.

Lune, distances et horloge — calculs locaux

Pour éviter une dépendance supplémentaire, la phase de la lune est estimée directement dans le navigateur, à partir de la durée moyenne d'une lunaison. Les distances Terre-Soleil et Terre-Lune reposent sur des formules orbitales simplifiées. L'horloge, le numéro de semaine, le jour de l'année et l'heure Unix sont calculés à partir de l'horloge du poste. Ces valeurs sont annoncées comme approximatives, ce qui est honnête vis-à-vis du lecteur.

L'organisation du code

Le script commence par mettre en cache les éléments de la page (les zones où écrire les valeurs), puis définit une fonction par source de données. Chaque fonction suit le même schéma : elle envoie une requête, attend la réponse, remplit les champs, et gère le cas d'erreur pour ne jamais laisser la page bloquée.

fetch(url)
  .then(r => r.json())
  .then(d => { /* remplissage des champs */ })
  .catch(err => { /* message d'erreur lisible */ });

En cas d'indisponibilité d'un service, l'encadré concerné affiche « N/A » ou un message d'erreur, sans perturber le reste de la page.

Les rafraîchissements

Chaque type de donnée a son propre rythme, choisi selon sa fréquence réelle de variation. Inutile d'interroger les API plus souvent que nécessaire.

DonnéeIntervalle
Horloge et infos calendaires1 seconde
Météo10 minutes
Niveau du Var15 minutes
Éphémérides solaires1 heure
Phase de la lune1 heure

Quelques détails techniques

Le numéro de semaine suit la norme ISO 8601, celle qui est en usage en France : la semaine 1 est celle qui contient le premier jeudi de l'année. Le calcul se fait en temps universel pour éviter les décalages de fuseau.

Les dates renvoyées par les API sont systématiquement reconverties à l'heure locale française avant l'affichage, de sorte que les horaires présentés correspondent bien à l'heure du visiteur.

Les limites

La page dépend de trois services extérieurs : si l'un d'eux est en panne ou modifie son interface, l'encadré correspondant cesse de se remplir. Les calculs de lune et de distances restent des approximations, suffisantes pour un affichage d'information mais pas pour un usage astronomique précis. Enfin, tout reposant sur le navigateur, les valeurs ne sont mises à jour que lorsque la page est ouverte.

Réalisation Mansouri Jean-Paul