Cahier de vacances - arguments

Pour l’étape suivante, je vais m’intĂ©resser au sujet de l’issue #2 : passer des arguments Ă  mon outil.

Comme vu dans un article prĂ©cĂ©dent, je crĂ©e tout d’abord la branche et la MR depuis GitLab.

En guise d’API de test, je vous propose d’utiliser l’API du site OpenWeather qui nĂ©cessite une ApiKey.
Pour ce qui est de rĂ©cupĂ©rer cette clĂ©, je vous renvoie vers une de mes vidĂ©os oĂč j’en parle.

Dans un premier temps, je vĂ©rifie que ma requĂȘte fonctionne.
Il suffit de reprendre le code précédent et faire un appel comme décrit dans un de mes exemples IoT.

http://api.openweathermap.org/data/2.5/weather?q={city name},{state code},{country code}&appid={your api key}

Je peux maintenant ajouter la gestion des arguments passés à Dobby.
Je devrais d’ailleurs dire, une premiùre gestion des arguments.
En effet, je vais tout d’abord utiliser le package flag.
Il est assez simple à appréhender, je vous montre ça tout de suite.

var urlPtr = flag.String(« url », « », « Url que Dobby va appeler pour vous. »)
var apiKeyPtr = flag.String(« apikey », « », « ApiKey a utiliser pour appeler votre url. »)
flag.Parse()

Ce package permet de définir des arguments en indiquant leur nom, une valeur par défaut et une description.
Il faut ensuite demander un parsing de ces arguments pour obtenir des pointeurs sur ces valeurs (oui, pas la valeur en direct, il faut que je me rĂ©habitue Ă  cette façon de penser des annĂ©es 70 et du C 😇 )

L’appel se fait alors de cette façon, en se rappelant que les arguments sont rĂ©cupĂ©rĂ©s par des pointeurs.

response, err := http.Get(*urlPtr + « &appid=« + *apiKeyPtr + « &units=metric »)

Pour lancer dobby, on peut continuer en mode ‘go run’

~/Dobby/src# go run dobby.go -url=http://api.openweathermap.org/data/2.5/weather?q=Chamonix -apikey=<votre Api Key>

Me voilĂ  Ă©quipĂ© d’un systĂšme d’arguments, qui fournit Ă©galement des services comme une aide en ligne avec l’argument ‘-h’

~/Dobby/src# go run dobby.go -h
Usage of /tmp/go-build863761866/b001/exe/dobby:
-apikey string
ApiKey a utiliser pour appeler votre url.
-url string
Url que Dobby va appeler pour vous.
exit status 2

Pas mal non ?

Je ne dĂ©veloppe pas plus, je pense passer Ă  un package plus complet par la suite. Je verrais alors de quoi j’ai besoin.

En cadeau, la vue de mon bureau du jour 😇
Lien vers Google Photo en attendant que j’ajoute le plugin pour Ghost. https://photos.app.goo.gl/eTozFE2ea4DWhwnh9