Différences entre versions de « Wttr.in »
De Mi caja de notas
Ligne 96 : | Ligne 96 : | ||
* transparency=0..255 pour un niveau personnalisé de transparence. | * transparency=0..255 pour un niveau personnalisé de transparence. | ||
− | La | + | La transparence est une fonctionnalité utile quand les PNGs de météo sont utilisés pour ajouter de la donnée météo à des images : |
$ convert source.jpg <( curl wttr.in/Oymyakon_tqp0.png ) -geometry +50+50 -composite target.jpg | $ convert source.jpg <( curl wttr.in/Oymyakon_tqp0.png ) -geometry +50+50 -composite target.jpg |
Version du 6 février 2019 à 10:52
http://wttr.in [source github](https://github.com/chubin/wttr.in)
- wttr.in — la bonne façon de vérifier la météo !*
`wttr.in` est un service orienté-console de prévision météo supportant différentes méthodes de représentation telles que les séquences-ANSI-orientées-terminal pour les clients console HTTP (curl, httpie, or wget), HTML pour les navigateurs web browsers ou PNG pour les visualiseurs graphiques.
`wttr.in` utilise [wego](http://github.com/schachmat/wego) pour la visualisation et les différentes sources de données pour la prévision d'info météo.
Vous pouvez le voir fonctionner en lançant : [wttr.in](http://wttr.in).
Usage
Accédez au service à partir de la ligne de commande ou d'un navigateur web comme ceci :
$ curl wttr.in Weather for City: Paris, France
\ / Clear .-. 10 – 11 °C ― ( ) ― ↑ 11 km/h `-’ 10 km / \ 0.0 mm
Voici un véritable rapport météo pour votre lieu (il est en live !) :
![Weather Report](http://wttr.in/MyLocation.png?)
(Ce n'est pas votre véritable lieu - le CDN de GitHub cache votre véritable adresse IP avec sa propre adresse IP, mais cela demeure un rapport météo en live dans votre langue.)
Vous voulez recevoir l'info météo pour un lieu spécifique ? Vous pouvez ajouter le lieu désiré à l'URL dans votre requête comme suit : request like this:
$ curl wttr.in/Pau $ curl wttr.in/Bordeaux
Si vous omettez le nom du lieu, vous obtiendrez le rapport pour votre lieu actuel basé sur votre adresse IP.
Utilisez les codes aéroport à 3 lettres afin de recevoir l'information météo pour un certain aéroport :
$ curl wttr.in/muc # Weather for IATA: muc, Munich International Airport, Germany $ curl wttr.in/ham # Weather for IATA: ham, Hamburg Airport, Germany
Disons que vous aimeriez connaître la météo pour un lieu géographique autre qu'une ville - peut-être une attraction dans une ville, un nom de montagne ou un endroit spécial. Ajoutez le caractère `~` avant le nom pour rechercher ce nom spécial de lieu avant que la météo ne soit ensuite récupérée :
$ curl wttr.in/~Vostok+Station $ curl wttr.in/~Eiffel+Tower $ curl wttr.in/~Kilimanjaro
Pour ces exemples, vous verrez une ligne sous la sortie de prévision météo qui montre les résultats de géolocalisation du lieu :
Location: Vostok Station, станция Восток, AAT, Antarctica [-78.4642714,106.8364678]
Location: Tour Eiffel, 5, Avenue Anatole France, Gros-Caillou, 7e, Paris, Île-de-France, 75007, France [48.8582602,2.29449905432]
Location: Kilimanjaro, Northern, Tanzania [-3.4762789,37.3872648]
Vous pouvez aussi utiliser les adresses-IP (direct) oui les noms de domaines (préfixés avec un `@`) pour spécifier un lieu :
$ curl wttr.in/@github.com $ curl wttr.in/@msu.ru
Pour recevoir une information en-linge détaillée, vous pouvez accéder à la page [/:help](http://wttr.in/:help) :
$ curl wttr.in/:help
Unités Météo
Par défaut, les unités USCS sont utilisées pour les requêtes provenant des USA et le système métrique pour le reste du monde. Vous pouvez outrepasser ce comportement en ajoutant `?u` ou `?m` à une URL comme ceci :
$ curl wttr.in/Amsterdam?u $ curl wttr.in/Amsterdam?m
Formats de sortie supportés
wttr.in supporte actuellement trois formats de sortie :
- ANSI pour le terminal;
- ANSI pour le terminal, mode une-ligne ;
- HTML pour le navigateur ;
- PNG pour les visualises graphiques.
Les formats ANSI et HTML sont sélectionnés selon la chaîne de l'agent-utilisateur. Le format PNG peut être forcé en ajoutant `.png` à la fin de la requête :
$ wget wttr.in/Paris.png
Vous pouvez utiliser toutes les options avec le format-PNG comme dans une URL, mais vous devez les séparer avec un `_` au lieu de `?` et `&`:
$ wget wttr.in/Paris_0tqp_lang=fr.png
Options utiles pour le format PNG :
- `t` pour transparency (`transparency=150`);
- transparency=0..255 pour un niveau personnalisé de transparence.
La transparence est une fonctionnalité utile quand les PNGs de météo sont utilisés pour ajouter de la donnée météo à des images :
$ convert source.jpg <( curl wttr.in/Oymyakon_tqp0.png ) -geometry +50+50 -composite target.jpg
Dans cet exemple :
- `source.jpg` - fichier source ;
- `target.jpg` - fichier cible ;
- `Oymyakon` - nom du lieu ;
- `tqp0` - options (recommandées).
![Image avec données météo](https://pbs.twimg.com/media/C69-wsIW0AAcAD5.jpg)
Sortie en une-ligne
Pour un format de sortie en une-ligne, spécifiez un paramètre supplémentaire `format` :
$ curl wttr.in/Paris?format=3 Paris: 🌦 +4⁰C
Formats disponibles pré-configurés : 1, 2, 3, 4 et format personnalisé en utilisant une note en pourcentage.
Phases de la lune
wttr.in peut être aussi utilisé pour vérifier la phase de la Lune. Cet exemple présente comme voir la phase de la lune en cours :
$ curl wttr.in/Moon
Recevez la phase de la lune pour une date particulière en ajoutant `@AAAA-MM-JJ`:
$ curl wttr.in/Moon@2016-12-25
L'information de la phase de la Lune utilise [pyphoon](https://github.com/chubin/pyphoon) pour son backend.
Internationalisation et localisation
wttr.in prend en charge les noms de lieux en plusieurs langues qui peuvent être spécifiés dans toute langue dans le monde. (ce peut être surprenant mais plein de lieux dans le monde n'ont pas de nom en anglais). (it may be surprising, but many locations in the world don't have an English name).
La chaîne de requête devrait être spécifiée en Unicode (encodé-hex ou pas). Les espaces dans la chaîne de requête doivent être remplacés par `+` :
$ curl wttr.in/станция+Восток Weather report: станция Восток
Overcast .--. -65 – -47 °C .-( ). ↑ 23 km/h (___.__)__) 15 km 0.0 mm
La langue utilisée pour la sortie (exception faite du nom du lieu) ne dépend pas de la langue de l'input, et elle est soit en anglais (par défaut) ou la langue préférée du navigateur (si la requête émane d'un navigateur) qui est spécifiée dans les headers de la requête (`Accept-Language`).
La langue peut être réglée explicitement au moment d'utiliser les clients de console en utilisant les options de ligne de commande comme suit :
curl -H "Accept-Language: fr" wttr.in http GET wttr.in Accept-Language:fr
La langue préférée peut être forcée en utilisant l'option `lang` :
$ curl wttr.in/Paris?lang=fr
La troisième option est de choisir la langue en utilisant le nom de DNS utilisé dans la requête :
$ curl fr.wttr.in/Paris
wttr.in est actuellement traduit en 54 langues, et le nombre de langues supportées croit continuellement.
Voir [/:translation](http://wttr.in/:translation) pour en savoir plus sur le processus de traduction, la liste des langues supportées et les contributeurs, ou pour savoir comment vous pouvez aider à traduire wttr.in dans votre langue.
![Requêtes vers wttr.in en différentes langues](https://pbs.twimg.com/media/C7hShiDXQAES6z1.jpg)
Installation
Pour installer l'application :
1. Installez les dépendances externes 2. Installez les dépendances Python utilisées par le service 3. Recevez une Clé API WorldWeatherOnline 4. Configurez wego 5. Configurez wttr.in 6. Configurez le service frontend-HTTP
Installez les dépendances externes
wttr.in has the following external dependencies:
- [golang](https://golang.org/doc/install), wego dependency
- [wego](https://github.com/schachmat/wego), weather client for terminal
After you install [golang](https://golang.org/doc/install), install `wego`:
$ go get -u github.com/schachmat/wego $ go install github.com/schachmat/wego
Installez les dépendances Python
Python requirements:
- Flask
- geoip2
- geopy
- requests
- gevent
If you want to get weather reports as PNG files, you'll also need to install:
- PIL
- pyte (>=0.6)
- necessary fonts
You can install most of them using `pip`.
If `virtualenv` is used:
$ virtualenv ve $ ve/bin/pip install -r requirements.txt $ ve/bin/pip bin/srv.py
Also, you need to install the geoip2 database. You can use a free database GeoLite2 that can be downloaded from (http://dev.maxmind.com/geoip/geoip2/geolite2/).
Recevez une clé WorldWeatherOnline
To get a WorldWeatherOnline API key, you must register here:
https://developer.worldweatheronline.com/auth/register
Configurez wego
After you have a WorldWeatherOnline key, you can configure `wego`:
$ cat ~/.wegorc { "APIKey": "00XXXXXXXXXXXXXXXXXXXXXXXXXXX", "City": "London", "Numdays": 3, "Imperial": false, "Lang": "en" }
The `City` parameter in `~/.wegorc` is ignored.
Configurez wttr.in
Configure the following environment variables that define the path to the local `wttr.in` installation, to the GeoLite database, and to the `wego` installation. For example:
export WTTR_MYDIR="/home/igor/wttr.in" export WTTR_GEOLITE="/home/igor/wttr.in/GeoLite2-City.mmdb" export WTTR_WEGO="/home/igor/go/bin/wego" export WTTR_LISTEN_HOST="0.0.0.0" export WTTR_LISTEN_PORT="8002"
Configurez le service frontend-HTTP
It's recommended that you also configure the web server that will be used to access the service:
server { listen [::]:80; server_name wttr.in *.wttr.in; access_log /var/log/nginx/wttr.in-access.log main; error_log /var/log/nginx/wttr.in-error.log;
location / { proxy_pass http://127.0.0.1:8002;
proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr;
client_max_body_size 10m; client_body_buffer_size 128k;
proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90;
proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k;
expires off; } }