Le blog de nlehuby

déc. 05, 2016

Mes mots de passe

J'ai toujours eu du mal avec les mots de passe. Les inventer, les mémoriser, les changer ... l'angoisse.
Mais, au fil de mon évolution dans le monde digital numérique, je crois que j'ai finalement trouvé comment m'authentifier sans crise de nerf.

Au début, comme tout le monde, j'avais le même mot de passe partout. Nous l'appellerons d'ailleurs Passe-partout ;)
Puis, assez rapidement et heureusement pour moi, les sites ont commencé à le refuser, car Passe-Partout était trop court et tout pourri.
J'ai donc commencé à mettre des mots de passe plus élaborés, mais évidemment, pas moyen de m'en souvenir...
C'est ainsi, plus ou moins malgré moi, que je suis passé à une stratégie "sans mot de passe", ou passwordless.
C'est-à-dire que je ne m'embarrasse pas de mot de passe : à la création, j'en génère un, de préférence bien compliqué à 12 caractères, je le copie bêtement partout où on me le demande, puis, je l'oublie instantanément.
À la prochaine connexion, je n'essaye même pas de me souvenir du mot de passe, je clique direct sur "J'ai oublié mon mot de passe".
Puis je clique bien sagement sur le lien reçu par mail, pour recréer un mot de passe aléatoire que j'oublie aussitôt, puis faire ce que j'ai à faire sur le site.

Au début, c'était involontaire : j'essayais toutes les variantes possibles de Passe-Partout dans le champ, en ajoutant de la ponctuation, des majuscules, etc puis de rage je finissais pas me résigner à changer de mot de passe.
Mais maintenant c'est complètement assumé, et croyez-le ou non, j'ai gagné un certain temps en authentification, et également pas mal en tranquilité d'esprit.

De plus, ça me permet d'avoir un mot de passe différent sur chaque site, et de changer de mot de passe régulièrement. Deux conseils très répandus, mais qui sont un peu comme "Mangez 5 fruits et légumes par jour" et "Épargnez, et commencez quand vous êtes jeune" : on sait tous qu'il faut le faire, mais bon ... on verra demain hein !

Bon bien sûr, il faut que le système qui veut nous authentifier soit potable :
J'ai souvenir d'une époque où l'Assurance maladie gérait la réinitialisation de mot de passe par courrier ...
Et des fois, la réinitialisation consiste parfois à me renvoyer un mail avec mon mot de passe. En clair dans un mail.
Heureusement, j'ai l'impression que les choses ont quand même un peu progressé depuis.
Tellement qu'il semblerait que je ne sois pas la seule à avoir cette idée, et que certains proposent même de concevoir son système d'authentification sur cette solution.

Mais bon, soyons honnêtes, la stratégie passwordless fonctionne bien quand on n'est pas pressé et qu'on a sa boîte mail sous la main.
Pour gérer ses factures trois fois par an, ou utiliser un site de e-commerce à Noël, c'est pas mal, mais ce n'est très adapté pour le quotidien.

En complément de ma stratégie "sans mot de passe", j'ai donc développé une deuxième stratégie que j'appelle "sans mémoire".
Cela consiste à générer un mot de passe pour le site où je veux m'authentifier, à partir d'une technique reproductible.
L'idée étant que, à la prochaine connexion, je puisse re-générer très exactement le même mot de passe, en appliquant la technique, sans jamais avoir eu à retenir ou stocker ce mot de passe en question.
c'est magique

Au début, je le faisais à la main, et je concaténais le nom du service avec le bon vieux Passe-Partout.
Maitenant, j'utilise un service web qui reprend ce concept, avec une technique un peu plus sure que la concaténation, bien sûr ;) SuperGenPass.

Cette stratégie est plutôt efficace pour les sites du quotidien car ça n'alourdit pas trop le processus d'authentification et ça fonctionne très bien sur toutes les plateformes, y compris le mobile, y compris si c'est un Firefox OS, y compris si ce n'est pas ton mobile !

En revanche, dès que le site impose de changer de mot de passe de temps en temps, c'est le drame.
On peut bien sûr ruser et ajouter des caractères manuellement à la fin du mot de passe généré par SuperGenPass, mais bon, c'est un coup à oublier, et quitte à retenir qu'on doit ajouter ";12!" à la fin, autant retenir correct_horse_battery_staple.

D'où la troisième stratégie : la base Keepass, qui est basiquement un gros post-it crypté chiffré.
En effet, Keepass est une solution libre de gestion de mot de passe : les mot de passes sont stockés dans une base chiffrée avec une phrase de passe (un gros mot de passe bien long). Il suffit donc de retenir uniquement cette passe de phrase phrase de passe pour accéder à tous les mots de passe des services où l'on souhaite s'authentifier.
Bon on peut prendre Passe-Partout encore une fois mais s'il est vraiment court et pourri, ça revient un peu à installer une porte blindée mais à toujours laisser la clef sous le paillasson ;)

Et on peut même sauvegarder le login par la même occasion, des fois que ça soit l'id de notre compte dans la base de données du système...
Par contre, comme pour un post-it, il faut l'avoir toujours sur soi, donc avoir des moyens de mettre à disposition de ses différents terminaux la base Keepass par une solution de synchronisation ou de partage quelconque, ce qui ajoute un peu de complexité et des potentiels risques de sécurité.

Plus précisément, j'utilise une base Keepass (kdbx) hébergée que je consulte avec Keeweb, une interface web de gestion de mot de passe compatible avec le format Keepass.
L'intérêt étant d'avoir quelque chose qui tourne aussi sur mobile y compris si c'est un Firefox OS. Et ça permet d'avoir une interface jolie et ergonomique, parce que c'est pas parce que j'ai envie d'utiliser des logiciels libres que je suis obligée d'utiliser que des trucs moches.

Au final, je jongle un peu entre les statégies, mais je m'en sors pas si mal.
Bon, là par exemple, je viens d'essayer de me connecter sur un site en statégie "sans mot de passe", mais le changement de mot de passe, que j'ai voulu faire avec la stratégie "sans mémoire", n'a pas fonctionnée car ... c'était déjà mon précédent mot de passe. Et à tous les coups, si je cherche dans Keeweb je vais trouver que le mot de passe SuperGenPass y est déjà consigné :p

juil. 24, 2016

Extraire des infos thématiques d'OSM

Quand on souhaite réaliser une analyse thématique à partir des données OSM, on passe forcément par l'étape de récupération des données. Pour cela, on a plusieurs solutions.

La plus simple pour se lancer, c'est d'utiliser Overpass, via Overpass Turbo.
J'en ai déjà parlé dans un précédent article : on donne nos contraintes et en un rien de temps, on a un résultat visuel et les objets qui nous intéressent ressortent sur la carte.
On peut alors récupérer directement ces objets ou bien la requête Overpass pour la faire exécuter par un autre applicatif (comme uMap par exemple, cf mon tutoriel sur le sujet)

À noter que l'API Overpass permet également de récupérer des objets au format csv, ce qui peut s'avérer pratique s'il s'agit d'une extraction pour analyse (et pas juste pour un affichage). Voici par exemple le nécessaire pour récupérer dans Overpass-Turbo les distributeurs de billets alentours, en csv :

[out:csv(::"id", ::lat, ::lon, operator)][timeout:25];
(
    node["amenity"="atm"]({{bbox}});
);
out ;

Bref, malgré une courbe d'apprentissage de la syntaxe un peu rude (Overpass Turbo et le wiki sont là pour aider), Overpass, c'est génial !

Cependant, dès qu'on souhaite requêter une trop grande quantité de données, une trop grande surface ou à une fréquence trop élevée, on se retrouve confrontés aux limites de l'API.

Dans ce cas de figure, la solution royale, c'est de récupérer directement toutes les données brutes d'OSM et de faire sa propre extraction à la main.

En général, on télécharge les données, au format pbf, sur Geofabrik par exemple.

Puis, une solution courante est d'insérer ces données en base (avec imposm ou osm2pgsql), puis de faire des requêtes SQL pour extraire les infos souhaitées.

Mais, lorsque l'extraction est assez simple, sachez qu'il existe une alternative en ligne de commande, basée sur Osmosis et Osmconvert.

On utilisera osmosis pour ne conserver dans les données que les objets qui nous intéressent.
Puis on utilisera osmconvert pour extraire ces objets au format csv.

Par exemple, si je souhaite extraire tous les distributeurs de billets (amenity = atm) des données OSM que j'ai téléchargées, je peux procéder ainsi :

osmosis --read-pbf file="data.osm.pbf" --nkv keyValueList="amenity.atm" --write-pbf atm.osm.pbf

À ce stade, j'ai obtenu un fichier pbf ne contenant que les noeuds taggés avec amenity = atm. Puis, pour avoir tout ça dans un format plus habituel et extraire uniquement les tags qui m'intéressent :

osmconvert atm.osm.pbf --csv="@id @lat @lon name operator network fee" --csv-headline --csv-separator=";" -o=osm_atm.csv

Et je peux aussi réaliser des unions : par exemple, admettons que je souhaite également récupérer les horloges publiques (amenity = clock) pour réaliser une analyse particulièrement innovante sur les distributeurs et les horloges ...
Je commence par procéder de même :

osmosis --read-pbf file="data.osm.pbf" --nkv keyValueList="amenity.clock" --write-pbf clock.osm.pbf

Puis, je fusionne mes deux fichiers précédemment obtenus en un seul :

osmosis --read-pbf atm.osm.pbf --read-pbf clock.osm.pbf --merge --write-pbf clock_and_atm.osm.pbf

Puis, je peux, comme précédemment utiliser osmconvert pour récupérer les objets et les tags utiles.

À noter que si on souhaite extraire autre chose que des noeuds, il reste possible d'utiliser osmosis, mais c'est un peu plus complexe.
La requête suivante permet par exemple de récupérer les parcours de bus (qui sont des relations taggées avec route=bus) :

osmosis --read-pbf data.osm.pbf --tf accept-relations route=bus --used-way --used-node --write-pbf route_bus.osm.pbf

On a alors un pbf contenant les relations parcours de bus, ainsi que tous les objets (chemins et noeuds) qui constituent ces relations.

juin 23, 2016

OSM pour les noobs sur Android

Quand on connait OpenStreetMap et qu'on est sur Android, on pense tout de suite à OsmAnd. OsmAnd, c'est génial, c'est un véritable couteau suisse pour utiliser de la donnée OSM en situation de mobilité. La liste de ces fonctionnalités est énorme, et il m'arrive encore d'en découvrir une pratique par hasard au détour de clics dans l'appli.
J'ai même déjà réussi à trouver comment afficher tous les tags d'un noeud OSM ! Une fois.
Car oui, OsmAnd ça fait le café, mais quand même, c'est po si simple à utiliser.
Et pourtant l'ergonomie s'est beaucoup améliorée, l'appli fait plutôt moderne pour une appli opensource :p. Mais ça n'empêche, elle fait tellement de choses que pour trouver une fonctionnalité en particulier, des fois, c'est galère.

Moi, ça ne m'empêche pas de l'utiliser, mais lorsque je veux faire découvrir OSM à un acolyte non initié, je ne suis pas à l'aise avec l'idée de lui faire installer OsmAnd.
Soyons francs : notre capacité d'attention lorsqu'on teste une appli est limitée : si on ne trouve pas en un éclair comment ça fonctionne, on zappe, on désinstalle et on passe à la suite.
En tout cas, ce que j'ai pu constater avec mes acolytes.

Donc j'ai changé mon fusil d'épaule.
Ne serait-ce que parce que ça me choque de voir des gens utiliser G**gle Maps alors qu'il existe plusieurs alternatives sérieuses, et qui remplissent les 3 ou 4 fonctionnalités qu'on peut attendre de ce genre de services.
On pourrait citer Scout, ou Magical Earth par exemple. Pour ma part, j'ai opté pour Maps.me

Elle remplit les critères de base que j'ai fixé pour une appli Android à présenter lorsque je fais découvrir OSM :

  • elle permet de voir sa position sur une carte (la base quoi)
  • elle fonctionne hors ligne : on peut télécharger une zone géographique et jouir de cartes sans user sa connexion de données : c'est un peu la killer feature pour convaincre de tenter le coup.
  • elle permet de chercher des points d'intérêts : où sont les toilettes publiques les plus proches ? Où puis-je acheter mon pain en tant que touriste ?
  • elle permet de rechercher des adresses et de calculer des itinéraires piéton (je n'ai pas testé en voiture, je n'en ai pas trop l'usage, mais c'est également une fonctinnalité disponible)
  • elle permet de sauvegarder des lieux (comme l'adresse de ses amis)
  • elle est opensource (parce qu'éthiquement, c'est mieux, j'ai plus confiance donc je rechigne moins à la présenter à des gens)
  • elle a une ergonomie et une utilisabilité potable (parce que sinon, je sais qu'elle ne sera pas utilisée)

À noter qu'elle permet aussi, depuis peu, d'ajouter des points d'intérêts et de signaler des erreurs de carto.
L'interface est plutôt orientée débutants : on ne voit pas les tags OSM (ni même les objets OSM), mais on peut ajouter des infos de manière très simple et fluide.
Cela permet donc de montrer à notre OSM-noob le côté collaboratif afin de l'inciter, lui aussi, à ajouter la boite aux lettre ou la borne de recyclage manquante en bas de chez lui.

un point d'intérêt une recherche de points d'intérêts un itinéraire

Bref, une corde de plus à mon arc de prosélyte d'OpenStreetMap ;)

juin 13, 2016

Migration du blog

Après quelques années de bons et loyaux services, mon hébergeur DrupalGardens jette l'éponge. C'est pour moi l'occasion de déménager mon blog vers 5apps, et j'en profite au passage pour le migrer de Drupal vers Pelican.

Drupal c'est cool. Je suis tombée dedans il y a longtemps, alors que j'étais encore en école d'ingé, et j'ai même eu l'occasion de m'impliquer dans la communauté francophone de Drupal pendant quelques années.

Mais faire mon blog avec Drupal, c'est un peu comme louer une cuisine professionnelle pour se faire un oeuf sur le plat : ça marche, mais pour le KISS, on repassera.

Donc j'ai décidé de passer à un site statique.

Pelican, c'est assez fun à utiliser : on écrit ses articles en rst ou en markdown, puis pélican compile / transforme tout ça en pages html, qu'on peut héberger très simplement puisque c'est juste du html tout con.

Un peu comme Sphinx, mais pour un blog.

Quelques détails sur la migration :

J'ai commencé par installer Pelican. Ça s'installe en local (voir à ce propos le très bon article de SpF sur ce sujet) et c'est sans difficicultés particulières.

Ensuite, j'ai migré le contenu existant en utilisant l'import par flux RSS.

C'est loin d'être parfait : j'ai dû repasser sur tous les articles pour virer les balises html en trop dans le fichier md généré... C'est là que je suis bien contente de n'avoir que 24 articles publiés !

Mais ça m'a permis d'avoir une nouvelle instance de blog qui tourne en quelques heures, avec tous mes anciens contenus.

Bon, ce n'est qu'une façade, car tous les liens pointent encore sur l'ancien site, ainsi que les images, mais bon si les migrations entre services étaient si faciles, ça se saurait ;)

Pour l'hébergement, J'ai choisi 5apps.com, car je l'utilise déjà pour héberger mes petites appli en html (dont Horaires-Bus, mon appli pour consulter les horaires des bus même quand y a plus de réseau) et j'en suis très satisfaite.

C'est aussi simple à utiliser qu'un hébergement web chez github (on fait git push pour déployer), mais avec des services sympa en plus (notamment la génération automatique d'AppCache. Si vous utilisez cette techno et que je vous le faites à la mano, je pense que vous voyez pourquoi c'est cool :p)

Bref, je vais m'arrêter là, parce que j'ai toujours trouvé ça très méta les gens qui tiennent un blog pour ... parler de leur blog.

Tout ça pour dire que la nouvelle adresse de ce blog est https://nlehuby.5apps.com (ou https://nlehuby.5apps.com/feeds/all.atom.xml pour les lecteurs de flux)

mai 13, 2016

Faire une carte dynamique et éditable, avec MapContrib

Il y a deux ans, je voulais visualiser et modifier dans OSM les tags spécifiant les bières pression servies dans les bars.
Et c'était galère, alors j'ai fait un outil pour ça :  l'aventure OpenBeerMap a commencé.

Puis, il y a à peu près un an, j'ai voulu visualiser dans OSM où déposer mes déchets en verre pour les recycler.
Et c'était galère, alors j'ai fait un tuto expliquant comment faire une carte dynamique pour afficher facilement des données OSM.

Les choses bougent vite, la communauté OSM est très active : maintenant, il est devenu plutôt facile de réaliser ce genre de carte.
Je le dis, je le prouve : voici une carte des bouches de métro, avec un code couleur selon la complétude de l'info, réalisée en 10 minutes top chrono

L'outil qui a permis cela s'appelle MapContrib, et son job est de fabriquer des cartes dynamiques à partir des données OSM.
Et il permet également de modifier les données OSM affichées directement depuis la carte générée, de manière simple et efficace.

Si vous avez suivi mon tuto précédent, vous pouvez prendre en main MapContrib en un temps record : le concept est très similaire, on crée des calques de données, dans lequel on met une requête Overpass et ça marche tout seul.
Un peu de personalisation des marqueurs et hop, on a une carte partageable à diffuser à nos contributeurs !

Bref, plus le temps passe et moins vous avez d'excuses pour ne pas contribuer à OpenStreetMap ;)

← Previous Next → Page 4 of 9