Tag Archives: Web

Vie privée sur le Web

Je viens de mettre à jour la liste de recommandations permettant de ne plus être traqué sur le Web.

Une nouvelle extension Firefox y fait son apparition, Privacy Badger, développée par l’Electronic Frontier Foundation (également auteur de HTTPS Everywhere). Bonne alternative à Ghostery.
Vous trouverez aussi une nouvelle configuration à réaliser via la page about:config de Firefox. Il s’agit de fixer la valeur de la variable network.http.sendRefererHeader à 0.

Le Web et moi (partie 2)

You don't have any mail! Our servers are feeling unloved.

Cela me prends du temps mais je vais y parvenir. Comme vous devez le savoir je tends à limiter au maximum mon usage du Web social (en tout cas, tout ce qui ma fait perdre trop de temps). En ce moment je m’attaque à mon compte Google. J’y vais progressivement car je me suis trop reposé sur Gmail, que j’utilise de moins en moins. Heureusement pour moi, je n’ai jamais cessé d’utiliser parallèlement Kmail et ainsi je dispose de l’intégralité des emails sur le NAS.
J’ai pratiquement supprimé toutes mes photos de Google +, également supprimé mon profil Scholar (ainsi que les références), et pleins d’autres choses. Ce qui m’amuse un peu, c’est que les services Google qui me manqueraient le plus demain seraient Google+ et Google Maps. J’utilise aussi des paramètres beaucoup plus strict.
J’ai donné ma tablette et donc elle n’a plus d’accès à mon compte. Je pense que le smartphone n’en a plus pour longtemps. Je donnerai une chance à Mozilla ou Ubuntu.

Globalement la liste des services que j’utilise se fait de plus en plus courte et ce n’est pas terminé. Le but réel n’est pas de simplement la réduire, mais au moins d’utiliser les services qui me sont utiles et ne me donnent pas l’impression d’être uniquement un produit.

Obtenir des URL plus élégantes

Voici une astuce pour obtenir des URL plus esthétiques. Prenons l’exemple avec une adresse récupérée d’un flux de nouvelles d’un blog Blogger. Ces adresses sont généralement horribles. C’est un problème si on veut les agréger dans une base de données pour par la suite faire des recherches.

>>> import requests
>>> import feedparser
>>> from urllib import urlencode
>>> from urlparse import urlparse, parse_qs, urlunparse
>>> feed = feedparser.parse("http://blog.cryptographyengineering.com/feeds/posts/default")
>>> feed.entries[0].link
u'http://feedproxy.google.com/~r/AFewThoughtsOnCryptographicEngineering/~3/i867cINYs0w/a-few-more-notes-on-nsa-random-number.html'
>>> r = requests.get(feed.entries[0].link)
>>> r.url
u'http://blog.cryptographyengineering.com/2013/12/a-few-more-notes-on-nsa-random-number.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+AFewThoughtsOnCryptographicEngineering+%28A+Few+Thoughts+on+Cryptographic+Engineering%29'
>>> parsed_url = urlparse(r.url)
>>> qd = parse_qs(parsed_url.query, keep_blank_values=True)
>>> filtered = {(k, v) for k, v in qd.iteritems() if not k.startswith('utm_')}
>>> nice_url = urlunparse([
...         parsed_url.scheme,
...         parsed_url.netloc,
...         parsed_url.path,
...         parsed_url.params,
...         urlencode(filtered, doseq=True),
...         parsed_url.fragment
...     ])
>>> nice_url
u'http://blog.cryptographyengineering.com/2013/12/a-few-more-notes-on-nsa-random-number.html'

N’est-ce pas mieux?

Encrypted Media Extensions

Mauvaise nouvelle. Il semble que nous y sommes presque. Des DRM (Digital Rights Management) pour HTML5.1.
Pour le moment la proposition concerne la vidéo. Pour le moment. Attendez-vous à une généralisation d’ici quelques années. Et pourquoi pas la photo, par exemple avec les comptes professionnels Flickr? L’entreprise Yahoo! est aussi membre du W3C.

Les éditeurs de la proposition sont employés de Google, Microsoft et Netflix.

Des lectures à ce sujet:

Naviguer sur le Web avec un minimum d’anonymat

Quelques conseils techniques (simples et non contraignants) pour une navigation sur le Web plus anonyme:

  • utilisez le navigateur Firefox avec les extensions:
  • vérifiez que la fonction Do Not Track est activée;
  • utilisez en priorité le moteur de recherche DuckDuckGo. Ajoutez le dans la liste des moteurs de recherche de Firefox et en tant que page par défaut afin de vous habituer plus rapidement (si vous ne savez pas comment faire). L’interface très soignée est proche de celle de Google. (Évidemment je ne suis pas contre Google. Je crois que tout le monde sait ici que les technologies émanentes de cette entreprise me séduisent généralement);
  • utilisez Tor. Il faut choisir à qui faire confiance. Vous pouvez aussi utiliser Tor sur votre appareil Android;
  • n’utilisez pas de DNS menteurs. Google (encore) fourni un DNS qui ne ment pas et qui devrait respecter votre vie privée en plus d’être réactif. Le problème est surtout que si vous utilisez les autres services Google, ça commence à faire beaucoup. Ne surtout pas utiliser le DNS de Free.

Sincèrement, en appliquant ces pratiques la qualité de la navigation n’est pas dégradée.
Le plus dérangeant est la vitesse de la navigation qui est tout de même assez ralentie par l’utilisation de Tor. C’est le seul point qui peut être bloquant et c’est pour ça que j’utilise l’extension FoxyProxy qui me permet de naviguer plus rapidement d’un clique lorsque j’en ai envie. J’avoue que de temps en temps je n’utilise pas Tor à cause de ce problème. Pour cette raison, je pense de plus en plus à contribuer au réseau Tor.

pyAggr3g470r va utiliser Mako

Je suis et ai toujours été mauvais en développement Web, même si en ce moment j’utilise plutôt beaucoup Flask et CherryPy pour pyAggr3g470r. Résultat, je développe un peu un mode quick and dirty. Je fais donc du Dirty Web Development, d’autres font du Dirty Operationg System vous me direz. J’ai pensé à usiter Tkinter, c’est pour dire.

Après presque trois années de développement j’ai enfin décidé de remédier à ce problème en utilisant Mako, un moteur de template écrit en Python. En gros, ça va me permettre de séparer le code Python du HTML grâce à des templates. Je veux faire ça car pyAggr3g470r à trois ans (plus de 500 commits) et fonctionne plutôt bien pour mes besoins.

Je pense que le code va grandement gagner en lisibilité (un exemple) mais aussi que cette branche sera l’occasion d’améliorer certaines choses qui devraient l’être depuis longtemps. La prochaine fois, je commencerai à utiliser un framework de ce type au début du projet.

“The Web framework for perfectionists with deadlines”

Si j’avais su que Django est si rapide d’apprentissage, ce blog serait depuis belle lurette en Python. Un vrai plaisir, en plus avec Python… c’est encore plus que bon!

La liste ci-dessous présente les fonctionnalités de base déjà présentes:

Pour démontrer la simplicité de Django, voici ce qui est nécessaire d’écrire pour implémenter les catégories. Ou bien la vue correspondant à ces dernières.

Je propose qu’on réécrive le Web en Python. Allez, comme je ne suis pas raciste j’accepte Ruby et Perl. Mais c’est tout!

OpenPhoto, au-delà de mes attentes!

Quand vous découvrez un bon projet libre, il faut le dire et faire son éloge. Surtout s’il est génial…

Quelques nouvelles à propos de ce projet bien sympathique. D’abord mon instance personnelle fonctionne maintenant à merveille. Elle va remplacer Flickr ainsi que Zooomr.

Bien que le projet soit en développement (très) actif, le tout est vraiment stable. Je fais un git pull par jour sur mon serveur et je peux vous dire que ça code! C’est vraiment bien fait et simple à tenir à jour car après chaque pull je découvre améliorations et nouvelles fonctions. Et au pire des cas si une mise à jour casse tout, je ferai un petit git reset –hard pour revenir à l’état précédent. Ah si seulement tout fonctionnait de cette manière (j’imagine la distribution versionnée).

La version 1.2 est sortie avec pleins de choses géniales:

  • introduction des Webhooks;
  • voici comment envoyer des photos dans un dossier local en ligne de commande. Cela peut être aussi fait en Python ;-)
  • gestion des groupes d’utilisateurs. On est identifié sur OpenPhoto avec Mozilla Browser ID et il est ainsi possible de créer des groupes de personnes avec leurs adresse afin de gérer les commentaires;
  • l’application Android est déjà disponible (ainsi que iPhone);
  • on peut maintenant choisir différents CSS. Voici le nouveau style Beisel qui montre bien la souplesse de l’interface (avec les trois tailles de vignettes).

Si vous désirez tester:

  • il est possible d’essayer ici: http://signup.openphoto.me/ en sélectionnant S3+Dropbox à l’étape 2. D’ici fin novembre un premier service sera fourni (gratuit ou payant je pense, cela dépend de ce que l’on choisira lors de la configuration pour l’hébergement);
  • le mieux est de l’installer sur son serveur: git clone https://github.com/openphoto/frontend.git, puis configuration via le navigateur (classique). Il peut y avoir besoin d’installer une ou deux extensions PHP, plus de détails ici.

C’est donc un peu comme WordPress. On a la possibilité d’héberger sur son serveur ou d’avoir une adresse compte.openphoto.me. Mais dans les deux cas on contrôle où se trouve les données!

Il faut aussi dire que l’équipe est super. Le responsable ayant laissé son job chez Yahoo! pour se consacrer à ce projet ma beaucoup aidé au début. Merci à lui et son équipe!