Apple remplace Google Map par OpenStreetMap

OpenStreetMap

OpenStreetMap, la carte coopérative libre

iPhoto est un logiciel de gestion d’images de la suite iLife produit par Apple. La société a annoncé le remplacement de Google Map par OpenStreetMap pour les cartes utilisées par ce logiciel.

Les responsables d’OpenStreetMap s’en félicitent, puisque cela prouve que le projet, né en 2004, a maintenant atteint un niveau de maturité suffisant pour intéresser jusqu’aux plus grandes sociétés.

Pour rappel, le but du projet OpenStreetMap est de mettre à disposition de tous une carte du monde entièrement libre (sous licence CC BY-SA). Le projet est collaboratif, tout le monde est donc invité à participer à sa création, avec comme résultat des cartes beaucoup plus détaillées que celles proposées par Google la majorité du temps. (SebSauvage avait d’ailleurs fait un article sur une comparaison des cartes disponibles sur le web il y a peu).

Et comme c’est Apple, il fallait s’y attendre, il y a déjà embrouille sur la licence, ce qui est relativement incroyable au vu de celle-ci :  » Vous êtes libre de copier, distribuer, transmettre et adapter nos cartes et données, à condition que vous créditiez OpenStreetMap et ses contributeurs ». L’unique obligation n’est pour l’instant pas respectée, hormis une mention « powered by OSM »

Il faut aussi noter que l’application se base pour le moment sur des cartes de 2010, qui ne sont donc pas à jour. Nul doute que cela sera rapidement corrigé cependant.

Concernant la rivalité avec Google, il est intéressant de lire le billet de Frederik Ramm, contributeur de longue date à OSM, tant au niveau du code que des données, et co-auteur d’un livre sur le sujet (traduction disponible ici).

Dans ce billet, intitulé « Google n’est pas l’ennemi », Frederik Ramm explique que bien que la majorité des gens voient OSM comme un rival à Google Map, ce qui n’est pas forcément vrai. Il cite quelques exemples où la coopération était de mise, et affirme « Chez OpenStreetMap, nous ne cherchons pas à être une alternative à Google Maps, mais bien plutôt aux bases de géodonnées administratives ou produites commercialement. Nous sommes plutôt des concurrents pour TeleAtlas ou Navteq que pour Google. Google avait aussi commencé à récolter ses propres géodonnées dans sa jeunesse, mais seulement parce qu’ils souffrent du même problème qu’OpenStreetMap, à savoir le manque de géodonnées disponibles à des conditions acceptables. »

Un point de vue qui vient de l’intérieur même d’OSM et qui s’oppose à l’idée générale que l’on a des deux services, que l’on ne peut s’empêcher de voir en concurrent.

Voici en tout cas une nouvelle qui apporte à nouveau un bel exemple d’un projet libre qui vient se placer tout en haut de l’échelle et côtoie les plus grands.

Se passer de Google : introduction

Google privacy

Vous n’êtes pas sans savoir qu’aujourd’hui, 1er Mars, la nouvelle politique de confidentialité de Google entre en vigueur. Je vais présenter ici quelques extraits de ces nouvelles règles et expliquer brièvement en quoi elle pose problème pour les utilisateurs. En espérant que ce premier article vous sensibilisera sur cette problématique, d’autres suivront pour vous expliquer en détail pour chaque service de Google comment le substituer par une solution libre et respectueuse de votre vie privée.
Read More

Faire persister une connexion SSH

Je travaille en ce moment à distance en uilisant SSH. Cependant j’avais un problème : lors d’un temps d’inactivité trop long, la connexion était perdue. Le temps de connexion étant important dans mon cas, c’était assez ennuyeux. Nous arrivons alors au sujet de cet article : le maintient de la connexion SSH pour éviter une déconnexion par Timeout.

La solution est toute simple : envoyer des paquets régulièrement pour que la connexion reste active et donc éviter le Timeout. Par contre inutile d’envoyer 15 paquets par seconde, le Timeout est de l’odre de 5 minutes.

Deux méthodes :

Du côté serveur, modifier le fichier de configuration /etc/ssh/sshd_config pour rajouter la ligne suivante, si elle n’y est pas déjà présente :

ClientAliveInterval 60

Vous me direz : c’est bien gentil mais je ne suis pas admin et je n’ai donc pas accès à la config du serveur. Soit. Il vous suffit alors de demander à votre démon SSH de faire le travail.

Du côté client, rajoutez dans le fichier de config /etc/ssh/ssh_config, la ligne suivante si elle n’existe pas encore :

ServerAliveInterval 60

Et voila, simple mais efficace 🙂

Time for action

Lettre ouverte à SebSauvage

Rappel du contexte : Free, FAI de SebSauvage, vient de se voir assigné en référé car plusieurs des sites qu’il héberge contiennent des miroirs de CopWatch, le site qui « espionne les flics ». Je vous encourage à lire les deux derniers articles publiés par SebSauvage : Assignation en référé et Censure 2.0 pour mieux comprendre. Si ces liens sont brisés à l’heure ou vous lisez ces lignes (on sait jamais, parti comme c’est…) la liste des miroirs de SebSauvage est disponible sur pastebin. Et peut-être bien ici aussi, sait-on jamais.

J’étais comme qui dirait sidéré après la lecture de ces articles. Pas que je ne savais pas déjà ce qui se passait, mais quand même. La preuve était là. Impossible de nier. Et avec elle, la question : mais que faire contre ça ?! Comment, à ma faible échelle, puis-je agir ?

Read More

Megaupload, ce nid de pirates

Je sais pas si vous êtes au courant, mais à ce qu’il paraît, le site Megaupload aurait fermé. Si si, je vous jure, même que c’est mon cousin qui me l’a dit !

Moi je connaissais pas trop, mais à ce qu’il paraît c’était un nid de pirates. Pleins de gens qui téléchargeaient des films, des musiques, qui regardaient des séries, etc. Non mais rendez-vous compte ! Des gens qui essayaient de se divertir à moindre frais ! Y en a qui disaient que c’était plus « facile », moi je me demande encore qui leur a dit que la culture devait être accessible… Je vous jure, on croise de ces gens de nos jours.

Moi j’ai toujours acheté mes CD en magasin. J’ai jamais trop su à quoi servait l’argent que je dépensais, mais je suppose qu’il allait aux artistes. Quand je vois comment le Johnny il a la vie belle, je me dis qu’il peut pas en être autrement. Je suis bien content n’empêche de dépenser de l’argent pour les artistes. Tiens, prenez l’autre jour par exemple : on organisait une petite fête avec les gars du village pour le nouvel an. On a passé de la musique, et quelques jours plus tard j’ai reçu une lettre de la « SACEM » me demandant une certaine somme d’argent pour « les ayants droits ». Et bien je suis bien content de me dire que cet argent ira dans les poches de M Aznavour.

Mais j’étais en train de parler de Megaupload. Il aurait été fermé par le FBI, vous vous rendez compte ? Une grande agence américaine qui vient s’occuper des gens de l’Internet ! À mon avis ça devait pas être joli joli leurs affaires pour dépêcher des gens aussi importants. Y en a qui disent que c’était une mafia et qu’ils s’engraissaient sur le dos des internautes qui payaient pour télécharger. Moi je trouve ça aberrant de payer pour télécharger illégalement. Je suis sûr qu’en cherchant un peu ils auraient pu trouver des sites pour télécharger légalement. Je suis sûr que les gars des grandes Majors ils ont pensé à proposer une alternative. Mais bien sûr, ça n’aurait pas été gratuit… c’est certainement pour ça que ces pirates n’ont pas fait l’effort d’aller chez eux.

Alors moi je vous le dis, je suis bien content que ces voleurs ne puissent plus se procurer gratuitement toutes ces musiques, tous ces films, toutes ces séries. Il faut arrêter ce pillage ! S’ils veulent se cultiver, désormais ils devront payer.

Un petit regret cependant pour terminer : j’ai du mal aujourd’hui à trouver des vendeurs de 45 tours… Ah que la bonne époque me manque ! 🙁

La découverte du réseau (où aller pour être au courant ?)

L’Internet, c’est quelque chose d’incroyable. On peut y rester des heures, assoiffé de connaissances, et on découvrira toujours des multitudes de choses qui nous émerveillerons. Et en plus, avec l’avènement des réseaux sociaux, on échange et on repartage dans tous les sens. Mais le risque c’est que, submergé sous autant de contenu, on ne fasse plus la différence entre ce qui est intéressant et le reste. Il n’y a qu’à voir le temps qu’on peut passer sur des sites comme 9gag ou 4gifs. Que de temps perdu.

Il y a quelques temps, une partie des geexxx de ce blog quittait Facebook, opposée à cette aberration de la vie privée. Après mon départ de Facebook, j’ai vite senti comme je pouvais manquer de nombreuses informations sur tout ce qui se passaient. Parmi elles, des articles partagés par mes contacts portant principalement sur les news dans l’informatique. Hors de question pour moi de retourner sur ce réseau déplorable, je me suis donc mis en quête pour aller chercher l’information à la source.

Read More

Présentation de SoNeP : le futur des réseaux sociaux

Article sous licence Creative Commons BY-SA 3.0

[Disclaimer : je tiens à m’excuser d’avance pour cet article « pavé ». J’ai cependant mis en gras les notions importantes à mes yeux, donc si vous ne voulez pas tout lire, regardez au moins ce qui est en gras :p (en revanche, vous ne comprendrez pas tout…)]

J’avais commencé un article sur le pourquoi Diaspora* ne m’apportait pas LA solution que j’attendais en terme de réseau social… mais je suis tombé sur quelques écrits (principalement de Ploum) qui résument très bien mes pensées. Je vous invite donc à les lire en cliquant sur les liens suivants :
Et si vous arrêtiez de vouloir créer « le prochain Facebook » ? [fr]
Statut Google+ de Ploum [en]
Pourquoi la décentralisation fonctionne mal mais est inévitable dans les réseaux sociaux [fr]

Mais comme je suis du genre sympa, je vous ai quand même écrit un petit quelque chose histoire d’apporter du contenu. Ce petit quelque chose, c’est ma vision d’un monde web où nos relations, notre communication, nos partages, passent par un protocole standardisé, Libre et documenté. C’est un petit monde utopiste où les gens peuvent choisir le réseau social qu’ils veulent utiliser, tout en pouvant communiquer avec leurs amis qui utilisent un autre réseau. Un petit monde décentralisé, où votre identité numérique est géré par vous-même, où vos données sont stockées sur votre propre serveur (ou celui de votre pote un peu geek). C’est un petit monde qui réglerait pas mal de problèmes de confidentialité et de sécurité. Et bien sûr, j’ai failli oublier, c’est un monde tout à fait plausible, techniquement en tout cas… il ne tient qu’à vous de pousser les développeurs à s’emparer du sujet 😉

Le texte qui suit est une fiction (on peut imaginer que ça se déroule d’ici 4 ou 5 ans) mais se base sur pas mal d’éléments actuels. Je vous invite donc à cliquer sur les liens pour approfondir la lecture. Et notez bien que le texte est volontairement optimiste (et un poil geek) afin de montrer les possibilités qu’offrirait un tel protocole.
Read More

Pourquoi j’ai finalement pris la décision de quitter Facebook

Ça y est, depuis hier soir, je n’ai plus de compte Facebook. Ce n’est pas une décision que j’ai pris à la va-vite, cela fait déjà quelques mois que j’y pense sans jamais avoir eu le courage de la prendre. En effet, lorsque j’ai découvert le réseau social Diaspora, j’ai décidé de ne plus utiliser Facebook mais au vu du faible succès auprès de mes amis de ce nouveau réseau je n’ai pas pu me résoudre à tout abandonner. Actuellement aux États-Unis pour un an, Facebook était pour moi un outil quasi indispensable pour organiser des voyages avec les amis que je me suis fait sur place et pour partager des photos avec eux ou ceux rester en France.

Cela n’a donc pas été facile de supprimer mon compte mais après la lecture de cet article, dont vous trouverez ma traduction en français ci-après,  j’ai décidé que je ne pouvais plus continuer à fournir autant d’informations sur moi-même, sur mes amis et même sur des inconnus qui pourraient malencontreusement se trouver sur certaines de mes photos.

Read More

Behat, un framework de tests unitaires pas comme les autres

J’ai récemment découvert Behat et comme je trouve le concept très intéressant, j’ai pensé que quelques informations intéresseraient peut-être nos lecteurs pendant mon initiation à cette nouvelle forme de tests unitaires.

Behat a été créé dans le cadre d’une méthode de développement agile « Behavior Driven Development », je vous recommande la lecture de l’article Wikipédia qui traite du BDD pour plus d’information car comme je ne connais bien le concept, je vais écrire des choses triviales à ce sujet.

L’idée de Behat, qui s’inspire de projets pour d’autres langages (comme Cucumber pour Ruby), est d’écrire des tests en langage naturel. Voici l’exemple de la documentation officielle de Behat (pardonnez le manque de coloration syntaxique, mais le langage n’est pas supporté dans le plugin WordPress) :

Feature: ls
  In order to see the directory structure
  As a UNIX user
  I need to be able to list the current directory's contents

  Scenario:
    Given I am in a directory "test"
      And I have a file named "foo"
      And I have a file named "bar"
     When I run "ls"
     Then I should get:
       """
       bar
       foo
       """

C’est en voyant cet exemple sur Twitter que j’ai découvert Behat, intrigué par cette façon de faire, assez éloignée de la façon de tester avec des outils de type xUnit.

Je vous propose de créer une petite classe PHP et de la tester rapidement pour découvrir Behat.

Read More

De la subtilité de générer du JSON en PHP

J’ai récemment été confronté à un bug dans une application JavaScript au boulot. J’ai mis un certain temps à comprendre car je ne connaissais pas la subtilité dont je vais vous parler. Ne vous attendez pas à des révélations fracassantes ni à des démissions en chaînes, il s’agit d’un tout petit point qui mérite l’attention des développeurs et qui relève autant de la logique et du bon sens que de la connaissance des langages incriminés !

J’utilise un script PHP pour récupérer des données en base de données qui sont ensuite formatées en JSON avant d’être transmises à l’application JavaScript (JS). Il s’agissait d’une collection de couleurs (avec des infos du genre identifiant, code de la couleur et nom de public de la couleur).

Tout fonctionnait bien jusqu’à très récemment (l’application JS permet de dessiner en pixel art) et j’ai donc cherché pourquoi une des fonctionnalités (l’importation d’une image et sa transformation en pixel) ne marchait plus. Après un bon moment de debugging dans le JS, j’ai fini par découvrir que c’était lorsque l’application bouclait sur la collection de couleurs que les problèmes survenaient:

for(var i = 0, acl = availableColors.length; i < acl; i++)

L’instruction « availableColors.length » renvoie  » undefined  » alors que availableColors me montre une collection d’objets JSON. Oui mais non, pas tout à fait. Comme me le fait remarquer un collègue, firebug indique un objet contenant les objets couleurs et non pas un tableau. Or, l’appel à « .length » ne fonctionne que sur les tableaux. C’est l’une des choses sur lesquelles il faut être attentif lorsqu’on travaille sur du JSON généré par PHP. Mais pourquoi diable ?

La réponse se trouvait dans la méthode PHP qui récupère les données dans une BDD : j’ai récemment modifié l’array PHP de sortie en le transformant en array associatif (ironiquement, pour corriger un bug. Merci l’absence de tests ahah). Ce même tableau transformé en JSON par « json_encode » lors de la transmission à la vue. Un petit tour sur la page de la documentation de json_encode m’a permis de réaliser que les array associatifs sont toujours transformés en objet JSON.

Il m’a suffit d’écrire une méthode qui se charge de générer le JSON qui sera envoyé au client.

     /**
      * Returns a JSON string ready to be used by the client
      *
      */
     public static function formatAvailableColorsForClient(array $availableColors)
     {
         return json_encode(array_values($availableColors));
     }

Pour info, la fonction array_values permet de réindexer un tableau.

Et voilà !