This project has been updated, click here for part two (that discusses the UI redesign) and part three (data enhancements) of this article.
The Météo-France Android app has been annoying me for the past 6 months with its excessive battery usage and frustrating UI navigation and experience. Finally this week I had enough and decided to come up with something simple that still gives me the same information on my mobile as the rather excellent France Meteorological office prepares and publishes.
Design
As the French Météo does not publish any of its data in an easily programmable way I decided to do simple screen scraping of their existing forecast website. This is straight-forward enough to do in PHP and actually made considerably easier using the SimpleHTMLDOM library. I highly recommend it. It is the closest I've come to having BeautifulSoup in PHP.
The service is split into two pages:
API
Scapes and re-renders the Météo data into either a JSON or JSONP format.
Supports the following URL parameters:
Parameter | Description |
---|---|
&area= |
Lowercase name of the region or area you're interested in. E.g. strasbourg, eckbolsheimorsaverne.Defaults to strasbourg |
&zip= |
The zip code for the area. This should correspond to a zip code available in the area used. Defaults to "67000" |
&callback= |
Optional, if used then the call becomes a JSONP response and this value will hold the name of the client side Javascript function that should be called when the call returns. |
Relies on support data from the following resources: http://labs.coruscantconsulting.co.uk/strasbourg/meteo/img/spriteCarte40Uvs.png http://labs.coruscantconsulting.co.uk/strasbourg/meteo/img/spriteCarte40Temps.png http://labs.coruscantconsulting.co.uk/strasbourg/meteo/legend.css
Website presentation
Simple HTML/Javascript front on top of the forementioned API functionality. Supports both AREA and ZIP parameters described above.
Examples
Default call in HTML format: http://labs.coruscantconsulting.co.uk/strasbourg/meteo/index.php
Eckbolsheim weather info in HTML format: http://labs.coruscantconsulting.co.uk/strasbourg/meteo/index.php?area=eckbolsheim&zip=67201
Saverne API response: http://labs.coruscantconsulting.co.uk/strasbourg/meteo/api.php?area=saverne&zip=67700
Default API response with JSONP callback: http://labs.coruscantconsulting.co.uk/strasbourg/meteo/api.php?callback=weatherdatafunction
This acticle is also available on LinkedIn:
https://www.linkedin.com/pulse/getting-hassle-free-faster-weather-forecasts-france-sigmundarson
Developer & Programmer with +15 years professional experience building software.
Seeking WFH, remoting or freelance opportunities.