PROJET AUTOBLOG


Le blog de ValVin

Site original : Le blog de ValVin

⇐ retour index

Tenir un blog, ce n'est pas facile

dimanche 26 février 2017 à 14:25
Tenir un blog, ce n'est pas facile

Effectivement, il y a un peu plus d'un an, j'ai lancé ce blog. Même si je l'avais préssenti en le lançant, je ne suis pas assez assidu pour écrire un blog.

Ce n'est pas le manque de sujet à traiter, notamment sur la vie-privée qui me tient particulièrement à coeur ou même les logiciels libres en général. La vraie raison est que cela demande du temps et ma vie professionnelle et privée ne m'en accorde que le soir après le repas ...

J'ai commencé à plusieurs reprises des billets que je n'ai jamais publié car arrêté en cours de route. Il y en a un sur Android en entreprise ou encore le lancement d'un Waze like Open-source qui aujourd'hui est la seule application pour laquelle je n'ai pas trouvé d'alternative. Qui lui même a généré un brouillon sur pgRouting ... bref, plein de commencement sans arrivée.

J'ai envie de faire des articles pour partager ce que je découvre / comprend avec mes mots. Mais avec les articles sur les entrées DNS pour la messagerie, j'ai pu constater qu'il fallait consacrer une énergie considérable. Certainement la même énergie que doit consacrer un professeur lorsqu'il prépare un cours. Même si c'est clair dans sa tête, ce n'est pas si facile à mettre sur le papier.

Du coup, je me demande si je dois continuer à essayer ou tout simplement me dire que je ferais ça plus tard. J'avoue que des articles comme celui sur Android sans google est assez motivant vu le nombre de visite que j'ai eu l'occasion d'avoir.

D'autant que grâce à Pepper&Carrot, je me suis mis à dessiner avec pour objectif de lier mon loisir dessin avec mon côté militant pour la vie-privée... mais est ce que le résultat sera le même que pour ce blog ?

Bref, il faudrait inventer un système qui permette d'allonger le temps ... ou alors trouver une bonne organisation qui permette de transmettre tout en prenant du plaisir et sans y consacrer trop de temps...

Peut être que grâce à la nouvelle méthode GTD avec todo.txt (découverte grâce à Craig Maonley de P&C) je vais arriver à faire quelque chose de bien ? (tiens je pourrais en faire un article ...)

Crédits Photo : OpenClipart-Vector (Pixabay) CC0  

Tenir un blog, ce n'est pas facile

dimanche 26 février 2017 à 13:25
Effectivement, il y a un peu plus d’un an, j’ai lancé ce blog. Même si je l’avais préssenti en le lançant, je ne suis pas assez assidu pour écrire un blog. Ce n’est pas le manque de sujet à traiter, notamment sur la vie-privée qui me tient particulièrement à coeur ou même les logiciels libres en général. La vraie raison est que cela demande du temps et ma vie professionnelle et privée ne m’en accorde que le soir après le repas …

Tenir un blog, ce n'est pas facile

dimanche 26 février 2017 à 13:25
Effectivement, il y a un peu plus d’un an, j’ai lancé ce blog. Même si je l’avais préssenti en le lançant, je ne suis pas assez assidu pour écrire un blog. Ce n’est pas le manque de sujet à traiter, notamment sur la vie-privée qui me tient particulièrement à coeur ou même les logiciels libres en général. La vraie raison est que cela demande du temps et ma vie professionnelle et privée ne m’en accorde que le soir après le repas …

Utiliser jq pour parser le json d'une API REST

mardi 15 novembre 2016 à 21:21
Utiliser jq pour parser le json d'une API REST

Dans mon travail de tous les jours, je travaille sur des MDM (Mobile Device Managment) qui, selon l'éditeur, fournissent des APIs REST.
C'est le cas par exemple pour Airwatch.

Cet après-midi, je devais trouver le nombre de terminaux sur lesquels une application particulière était installée. J'ai essayé de trouver le résultat avec une commande curl et jq

J'avoue que finalement je n'ai pas réussi en ligne de commande et que j'ai opté pour un script nodejs mais j'ai tout de même appris des choses.

Le webservice fournit un résultat comme celui-ci :

"DeviceApps": [
    {
      "ApplicationName": "Adobe Reader",
      "Version": "10.3.1",
      "BuildVersion": "",
      "Status": 2,
      "Size": "0",
      "ApplicationIdentifier": "com.adobe.reader",
      "Type": "System",
      "IsManaged": false
    },
    {
      "ApplicationName": "AirWatch Agent",
      "Version": "4.3.6.595",
      "BuildVersion": "",
      "Status": 2,
      "Size": "0",
      "ApplicationIdentifier": "com.airwatch.androidagent",
      "Type": "Public",
      "IsManaged": false
    },
    {
      "ApplicationName": "Navigateur",
      "Version": "4.2.1-54",
      "BuildVersion": "",
      "Status": 2,
      "Size": "0",
      "ApplicationIdentifier": "com.android.browser",
      "Type": "System",
      "IsManaged": false
    },
    {
      "ApplicationName": "Calculatrice",
      "Version": "4.2.1-54",
      "BuildVersion": "",
      "Status": 2,
      "Size": "0",
      "ApplicationIdentifier": "com.android.calculator2",
      "Type": "System",
      "IsManaged": false
    },
    {
      "ApplicationName": "Chrome",
      "Version": "28.0.1500.94",
      "BuildVersion": "",
      "Status": 2,
      "Size": "0",
      "ApplicationIdentifier": "com.android.chrome",
      "Type": "System",
      "IsManaged": false
    },
    ...
  ]
}

Pour faire la requête, il fallait donc filtrer sur le nom du package ApplicationIdentifier et sur l'état Status (j'imagine que plein d'autre moyen plus simple existe avec sed / awk et cie)

Ma ligne de commande ressemble donc à cela :

curl -u user:pass -H Content-Type:application/json -H aw-tenant-code:key https://mdm.domain.tld/API/v1/mdm/devices/675/apps |jq '.DeviceApps[]| select(.ApplicationIdentifier == "com.xxxx.yyyy")| select(.Status == 2)|{ApplicationIdentifier,Version}'  

Par exemple pour Calculatrice, cela donnerait :

{
  "ApplicationIdentifier": "com.android.calculator2",
  "Version": "4.2.1-54"
}

Vu le temps passé à comprendre, je me suis dit que ça vallait le coup de partager.

Utiliser jq pour parser le json d'une API REST

mardi 15 novembre 2016 à 20:21
Dans mon travail de tous les jours, je travaille sur des MDM (Mobile Device Managment) qui, selon l’éditeur, fournissent des APIs REST. C’est le cas par exemple pour Airwatch. Cet après-midi, je devais trouver le nombre de terminaux sur lesquels une application particulière était installée. J’ai essayé de trouver le résultat avec une commande curl et jq J’avoue que finalement je n’ai pas réussi en ligne de commande et que j’ai opté pour un script nodejs mais j’ai tout de même appris des choses.