a:145:{s:15:"20170530_235500";a:7:{s:5:"title";s:48:"Make videos work in Vivaldi on Debian and Ubuntu";s:4:"link";s:63:"//bohwaz.net/p/Make-videos-work-in-Vivaldi-on-Debian-and-Ubuntu";s:4:"guid";s:63:"//bohwaz.net/p/Make-videos-work-in-Vivaldi-on-Debian-and-Ubuntu";s:7:"pubDate";s:25:"2017-05-30T23:55:00+02:00";s:11:"description";s:0:"";s:7:"content";s:327:"
On Debian : download the oxideqt-codecs-extra package from Ubuntu website and install it.
On Ubuntu :
sudo apt update && sudo apt install oxideqt-codecs-extra";s:7:"dateiso";s:15:"20170530_235500";}s:15:"20170424_072000";a:7:{s:5:"title";s:45:"Fixing "Error initializing NSS" with Chromium";s:4:"link";s:58:"//bohwaz.net/p/Fixing-Error-initializing-NSS-with-Chromium";s:4:"guid";s:58:"//bohwaz.net/p/Fixing-Error-initializing-NSS-with-Chromium";s:7:"pubDate";s:25:"2017-04-24T07:20:00+02:00";s:11:"description";s:0:"";s:7:"content";s:558:"
If you happen to stumble on this error on Debian or Ubuntu:
[31:31:1029/204029:ERROR:nss_util.cc(211)] Error initializing NSS without a persistent database: NSS error code: -8023
Here is the fix: just add the following line to /etc/chromium/default:
EXTRALIB=/usr/lib/xulrunner-24.0:/usr/lib/xulrunner-1.9.1
Source: Eric De Mund on Debian Users mailing list
";s:7:"dateiso";s:15:"20170424_072000";}s:15:"20160417_134541";a:7:{s:5:"title";s:55:"Panama Papers : c'est encore pire que vous ne le pensez";s:4:"link";s:68:"//bohwaz.net/p/Panama-Papers-c-est-encore-pire-que-vous-ne-le-pensez";s:4:"guid";s:68:"//bohwaz.net/p/Panama-Papers-c-est-encore-pire-que-vous-ne-le-pensez";s:7:"pubDate";s:25:"2016-04-17T13:45:41+02:00";s:11:"description";s:0:"";s:7:"content";s:4857:"Si vous n'avez pas suivi l'histoire, depuis deux semaines les Panama Papers c'est une fuite de documents d'un cabinet d'avocats du Panama qui crée et administre des sociétés écran dans des paradis fiscaux. Procédé utilisé par les riches et les criminels pour blanchir de l'argent sale ou le cacher des services fiscaux. Dans les documents révélés on trouve de nombreux noms : chefs d'état, PDG, sportifs, avocats et autres membres de la caste des 1%. On constate aussi que les banques (françaises notamment) sont largement partie prenante du procédé malgré des promesses main sur le cœur que non on n'a rien à voir avec les paradis fiscaux.
Ce qu'il faut se rappeler c'est que si certains pays ou noms sont un peu épargnés par cette fuite massive (dûe probablement à un Wordpress dépassé et troué de failles de sécurité !) c'est que ce n'est qu'un seul cabinet spécialisé dans ce business, mais il y en a des milliers dans le monde ! Et ça m'étonnerait fort que ce genre de pratique ne soit pas répandu chez une large majorité des 1% les plus riches, ceux-là même qui abusent des médias pour dire qu'il y a trop d'impôts et de charges, alors qu'ils ne payent qu'une infime partie de ce qu'ils devraient payer. Et pendant ce temps-là on nous rabache que le problème c'est la fraude des chômeurs et des allocations familiales, qui ne représente absolument rien par rapport à cette fraude massive, organisée et soutenue par les plus grandes entreprises.
Mais ce n'est pas là ce dont je veux parler. Ce qui m'étonne le plus dans tous ces montages fumeux c'est que ce sont vraiment des montages douteux. Comment peut-on être multi-millionnaire et être assez bête pour confier des dizaines de millions d'euros à une entreprise créée dans un pays où on a jamais mis les pieds et dirigée par un prête-nom qui gagne probablement à peine plus qu'un SMIC français ? Enfin je sais pas vous mais moi je vois bien la faille du dirigeant prête-nom qui se barre avec l'argent de la société-écran, disparaissant à jamais. C'est un risque énorme. Et si ça arrive vous faites quoi, vous allez porter plainte que l'argent que vous blanchissez a été volé ?
Pour illustrer cette chaîne de confiance complètement stupide on peut prendre pour exemple ce qui se passe dans le reportage de Cash Investigation où un journaliste se rend chez une société suisse pour créer une société offshore. Cette dernière est enregistrée au Delaware (USA), et il reçoit ensuite une carte bancaire et un compte d'une banque néo-zélandaise. C'est déjà assez suspect comme ça, mais c'est dommage que les journalistes n'aient pas cherché un peu plus loin sur cette fameuse banque, car quand j'ai entendu le nom ça m'a rappelé quelque chose… En cherchant j'ai retrouvé un article que j'avais lu sur un journal de Nouvelle-Zélande, et c'est accablant : cette banque (Breder Suasso) n'en est pas vraiment une. Elle n'a aucun client en Nouvelle-Zélande (et les refuse), et pire n'a aucun compte en Nouvelle-Zélande. Donc le compte du journaliste en Nouvelle-Zélande est en réalité soit dans les Iles Marshall ou en Pologne, on ne sait pas vraiment (selon cet article).
Vous avez donc envoyé de l'argent dans une société basée au Delaware, avec un compte dans une entité néo-zélandaise, mais l'argent serait en réalité dans un autre pays, vous ne savez pas vraiment lequel. Pour moi ça ressemble plus à un scam à large échelle qu'à un montage offshore. Et si Breder Suasso ne vous semble pas suffisamment douteuse comme ça, apprenez que son seul actionnaire et président est résident de l'Île Maurice. L'entreprise n'a pas vraiment de locaux en NZ, un simple bureau partagé avec plusieurs entreprises. Vous sentez venir le gag ? Et oui : la banque est en réalité elle aussi une société-écran, une coquille vide qui ne sert que de façade.
Franchement moi j'aurais peur de confier mon argent à des compagnies comme ça, ça n'inspire aucune confiance. Mais bon en même temps, je ne suis pas multi-millionnaire, alors je n'ai pas les même problèmes !
";s:7:"dateiso";s:15:"20160417_134541";}s:15:"20160119_092744";a:7:{s:5:"title";s:33:"De l'explosion des classes en PHP";s:4:"link";s:53:"http://bohwaz.net/p/De-l-explosion-des-classes-en-PHP";s:4:"guid";s:53:"http://bohwaz.net/p/De-l-explosion-des-classes-en-PHP";s:7:"pubDate";s:25:"2016-01-19T09:27:44+01:00";s:11:"description";s:0:"";s:7:"content";s:4565:"Autant j'aime beaucoup les namespaces, la séparation claire des fonctions et autres sucreries en PHP, autant j'ai l'impression qu'on est maintenant dans un excès inverse. Avant on avait des gros fichiers monolithiques remplis de fonctions sans rapport les unes avec les autres c'était crade. Mais maintenant on a un énorme bordel de fichiers et classes qui ne servent à rien et ne font que détruire les perfs du serveur.
Évidemment ça ne se voit pas trop sur un serveur qui ne sert qu'une seule application car le code et les fichiers restent en RAM, mais quand on est en mutualisé avec des milliers d'applis sur le même dédié, ça se ressent bien. D'abord car charger un fichier depuis le disque à un coût, et ensuite parce qu'une classe en PHP occupe pas mal d'espace mémoire, même si elle est vide (cf. notamment la conférence de Julien Pauli).
Prenons quelques exemples. En premier picoFeed de Frédéric Guillot, qui lui sert notamment pour miniflux, que j'apprécie beaucoup (même si c'est pas encore ça à mon avis). C'est un parseur de flux RSS/Atom qui se veut "simple" et "rapide" qui fait tout un tas de choses genre récupération du contenu des articles pour les flux qui ne fournissent rien, la possibilité de générer des flux, des filtres de contenu, etc. Mais ça reste un exemple quand même. Cette librairie (une fois supprimées les règles de récupération de contenu) fait 47 fichiers, dont 16 qui font moins de 200 octets. Prenons un exemple, de 125 octets, Parser/Rss92.php:
namespace PicoFeed\Parser; /** * RSS 0.92 Parser. * * @author Frederic Guillot */ class Rss92 extends Rss20 { }
Et toutes ces classes sont comme ça, elles ne servent à rien à part avoir un nom différent. Pourquoi ne pas faire un if/else ou switch case pour gérer ces cas plutôt que de créer des classes vides ? C'est moche.
Et ce n'est qu'une seule lib qui ne sert qu'à faire du RSS/Atom. Imaginez une appli complète avec des dizaines de libs de la même manière. Oh évidemment on ne charge pas tous les fichiers de toutes les libs (et donc toutes les classes) à chaque requête mais bon niveau perfs ça se ressent quand même.
Je suis aussi particulièrement admiratif quand je vois une lib (ou appli etc.) avec des dizaines ou centaines de classes pour gérer des exceptions (record : 450 !). Chaque classe ne faisant qu'étendre une autre classe d'exceptions. picoFeed est un peu victime de ça, même si vu la taille de la lib ça reste correct. On va dire que je me répète à force mais : à quoi ça sert d'avoir une classe pour chaque type d'exception imaginable ? Vous avez oublié que le second paramètre du constructeur d'une exception c'est $code ? Et à quoi ça sert $code ? Et bien à passer un code d'erreur !
Ainsi dans picoFeed on a ClientException (qui étend Exception), et des classes qui l'étendent : InvalidUrlException, InvalidCertificateException, MaxRedirectException, MaxSizeException, et TimeoutException.
Pourquoi ne pas avoir une seule classe/exception et un code d'erreur différent pour chaque situation ? Ces exceptions ne servent à rien, 99% des utilisateurs de la lib ne vont pas les récupérer individuellement. De même que ça n'aurait aucun sens que MySQL rejette une classe d'exception différente à chaque erreur différente, qui irait vraiment utiliser MySQLException_ER_CANT_CREATE_TABLE par exemple ? Quasiment personne, et c'est pour ça que ça a du sens d'utiliser le code d'erreur.
Je pourrais parler aussi de UA-Parser, une lib qui permet de parser l'User-Agent du navigateur. Bon je sais que c'est devenu compliqué de parser ce bordel d'UA avec le temps, mais quand même, 27 classes pour ça ? 130 Ko de code, et ça ne comprend même pas le fichier avec les regexs utilisées pour reconnaître l'user-agent !
Bref il y aurait de quoi simplifier ici, et tendre vers plus de légèreté et cesser un peu cette expansion lyrique qui n'a pas grande utilité, vous ne pensez pas ?
";s:7:"dateiso";s:15:"20160119_092744";}s:15:"20160119_092700";a:7:{s:5:"title";s:33:"De l'explosion des classes en PHP";s:4:"link";s:48:"//bohwaz.net/p/De-l-explosion-des-classes-en-PHP";s:4:"guid";s:48:"//bohwaz.net/p/De-l-explosion-des-classes-en-PHP";s:7:"pubDate";s:25:"2016-01-19T09:27:00+01:00";s:11:"description";s:0:"";s:7:"content";s:5551:"Autant j'aime beaucoup les namespaces, la séparation claire des fonctions et autres sucreries en PHP, autant j'ai l'impression qu'on est maintenant dans un excès inverse. Avant on avait des gros fichiers monolithiques remplis de fonctions sans rapport les unes avec les autres c'était crade. Mais maintenant on a un énorme bordel de fichiers et classes qui ne servent à rien et ne font que détruire les perfs du serveur.
Évidemment ça ne se voit pas trop sur un serveur qui ne sert qu'une seule application car le code et les fichiers restent en RAM, mais quand on est en mutualisé avec des milliers d'applis sur le même dédié, ça se ressent bien. D'abord car charger un fichier depuis le disque à un coût, et ensuite parce qu'une classe en PHP occupe pas mal d'espace mémoire, même si elle est vide (cf. notamment la conférence de Julien Pauli).
Prenons quelques exemples. En premier picoFeed de Frédéric Guillot, qui lui sert notamment pour miniflux, que j'apprécie beaucoup (même si c'est pas encore ça à mon avis). C'est un parseur de flux RSS/Atom qui se veut "simple" et "rapide" qui fait tout un tas de choses genre récupération du contenu des articles pour les flux qui ne fournissent rien, la possibilité de générer des flux, des filtres de contenu, etc. Mais ça reste un exemple quand même. Cette librairie (une fois supprimées les règles de récupération de contenu) fait 47 fichiers, dont 16 qui font moins de 200 octets. Prenons un exemple, de 125 octets, Parser/Rss92.php:
namespace PicoFeed\Parser; /** * RSS 0.92 Parser. * * @author Frederic Guillot */ class Rss92 extends Rss20 { }
Et toutes ces classes sont comme ça, elles ne servent à rien à part avoir un nom différent. Pourquoi ne pas faire un if/else ou switch case pour gérer ces cas plutôt que de créer des classes vides ? C'est moche.
Et ce n'est qu'une seule lib qui ne sert qu'à faire du RSS/Atom. Imaginez une appli complète avec des dizaines de libs de la même manière. Oh évidemment on ne charge pas tous les fichiers de toutes les libs (et donc toutes les classes) à chaque requête mais bon niveau perfs ça se ressent quand même.
Je suis aussi particulièrement admiratif quand je vois une lib (ou appli etc.) avec des dizaines ou centaines de classes pour gérer des exceptions (record : 450 !). Chaque classe ne faisant qu'étendre une autre classe d'exceptions. picoFeed est un peu victime de ça, même si vu la taille de la lib ça reste correct. On va dire que je me répète à force mais : à quoi ça sert d'avoir une classe pour chaque type d'exception imaginable ? Vous avez oublié que le second paramètre du constructeur d'une exception c'est $code ? Et à quoi ça sert $code ? Et bien à passer un code d'erreur !
Ainsi dans picoFeed on a ClientException (qui étend Exception), et des classes qui l'étendent : InvalidUrlException, InvalidCertificateException, MaxRedirectException, MaxSizeException, et TimeoutException.
Pourquoi ne pas avoir une seule classe/exception et un code d'erreur différent pour chaque situation ? Ces exceptions ne servent à rien, 99% des utilisateurs de la lib ne vont pas les récupérer individuellement. De même que ça n'aurait aucun sens que MySQL rejette une classe d'exception différente à chaque erreur différente, qui irait vraiment utiliser MySQLException_ER_CANT_CREATE_TABLE par exemple ? Quasiment personne, et c'est pour ça que ça a du sens d'utiliser le code d'erreur.
Je pourrais parler aussi de UA-Parser, une lib qui permet de parser l'User-Agent du navigateur. Bon je sais que c'est devenu compliqué de parser ce bordel d'UA avec le temps, mais quand même, 27 classes pour ça ? 130 Ko de code, et ça ne comprend même pas le fichier avec les regexs utilisées pour reconnaître l'user-agent !
Bref il y aurait de quoi simplifier ici, et tendre vers plus de légèreté et cesser un peu cette expansion lyrique qui n'a pas grande utilité, vous ne pensez pas ?
PS : pour ceux/celles qui demandent une alternative à picoFeed je ne peux que conseiller ma propre solution (modestie oblige ;-) ), FeedParser, issu du Framework KD2 (qui n'est pas un vrai framework structurant mais un ensemble de libs pratiques, légères et utiles, utilisables indépendamment les unes des autres). La stratégie de parsing est complètement différente : FeedParser n'utilise pas DOMDocument ou SimpleXML pour parser un document car les sites génèrent souvent du XML invalide. De ce fait FeedParser fait du parsing/lexing directement sur le flux, même s'il est invalide. Et ça marche ! Dans mes tests j'ai 100% de succès (aucun flux n'est illisible) sur plus de 20.000 flux, dont 15% de flux invalides. Et évidemment une seule classe, 17 Ko de code, contre pas loin de 400 Ko pour picoFeed par exemple.
";s:7:"dateiso";s:15:"20160119_092700";}s:15:"20160119_044208";a:7:{s:5:"title";s:33:"Nouvelle version de Fotoo Hosting";s:4:"link";s:48:"//bohwaz.net/p/Nouvelle-version-de-Fotoo-Hosting";s:4:"guid";s:48:"//bohwaz.net/p/Nouvelle-version-de-Fotoo-Hosting";s:7:"pubDate";s:25:"2016-01-19T04:42:08+01:00";s:11:"description";s:0:"";s:7:"content";s:1019:"Fotoo Hosting est (toujours) un script permettant de créer un service d'hébergement d'images auto-hébergé (comme imgur par exemple), gérant les albums, mais aussi et surtout le redimensionnement en javascript des images avant envoi, ce qui est très pratique pour envoyer des photos depuis une connexion lente, du coup au lieu d'envoyer des fichiers de 5 Mo ou plus on n'envoie qu'environ 400 Ko par image.
Cette nouvelle version 2.1.0 ajoute des options pour l'administration : stockage des adresses IP des uploaders (avec effacement automatique après la période légale de conservation), possibilité de bannir des IPs (ou des masques ou des ranges même, supporte IPv6), et la suppression de plusieurs images ou albums en même temps.
Toutes les infos ici : Fotoo Hosting
Et bien sûr toujours la démo : i.kd2.org
";s:7:"dateiso";s:15:"20160119_044208";}s:15:"20160104_122527";a:7:{s:5:"title";s:40:"Le site de WikiKubbe à nouveau en ligne";s:4:"link";s:55:"//bohwaz.net/p/Le-site-de-WikiKubbe-à-nouveau-en-ligne";s:4:"guid";s:55:"//bohwaz.net/p/Le-site-de-WikiKubbe-à-nouveau-en-ligne";s:7:"pubDate";s:25:"2016-01-04T12:25:27+01:00";s:11:"description";s:0:"";s:7:"content";s:1029:"Suite à la demande populaire (comprendre quelques mails par an) je remet en ligne le site de WikiKubbe avec l'installeur à télécharger. Ce script de wiki en PHP4 est sorti en 2003 ou 2002, donc pas loin d'une douzaine d'années, et la dernière mise à jour date de 2006. De manière assez surprenante ça marche toujours chez Free.fr, et ça pourrait sûrement marcher sur PHP 5 ou PHP 7 avec quelques corrections (notamment les ereg_*), mais on verra ça un autre jour. En tout cas je suis étonné que certains l'utilisent encore.
Si vous avez développé des patchs ou autres modifs pour WikiKubbe (je sais qu'il y en a qui tournent sur PHP 5 notamment) n'hésitez pas à me contacter et envoyer vos modifs ou scripts et j'intégrerais ça au WikiKubbe "officiel".
Donc le site au passage : http://dev.kd2.org/wikikubbe/
";s:7:"dateiso";s:15:"20160104_122527";}s:15:"20151225_094854";a:7:{s:5:"title";s:21:"Au revoir L'autre Net";s:4:"link";s:41:"http://bohwaz.net/p/Au-revoir-L-autre-Net";s:4:"guid";s:41:"http://bohwaz.net/p/Au-revoir-L-autre-Net";s:7:"pubDate";s:25:"2015-12-25T09:48:54+01:00";s:11:"description";s:0:"";s:7:"content";s:2432:"Voilà mon compte lautre.net a été détruit hier.
J'étais membre depuis 2000 ou 2001 je ne sais plus trop, je n'ai pas accès à mes mails datant d'avant 2002 de toutes façons. Ça fait donc quasiment quinze ans que j'étais membre de cet hébergeur auto-géré auquel j'ai participé à la hauteur de mes capacités, notamment en créant annuaire.lautre.net, en aidant les gens sur le forum d'aide et autres trucs du quotidien. Bon en réalité j'ai surtout participé à saturer le premier serveur de lautre.net à cause du succès imprévu de Journal Intime.com (qui continue, toujours quelques millions de visiteurs chaque mois).
On a combattu ensemble les lois qui s'attaquaient à la vie privée, au statut des hébergeurs, et par dessus tout on a démontré qu'un hébergeur web de masse, pas cher, indépendant, associatif et libre est une réalité possible. Et ce malgré les difficultés inhérentes à ce genre de projet. Aujourd'hui je ne suis plus d'accord avec les dernières décisions prises ainsi que le fonctionnement global de l'association qui ne correspond plus à ce que j'attend d'un projet auto-géré et collectif, c'est pour cela que je part, car de plus je n'ai plus grand chose à apporter au projet, et je ne veux pas me retrouver à critiquer ce qui est fait sans pouvoir proposer de m'investir pour changer tout ça.
Malgré tout je me souviendrais avec beaucoup d'émotion de tout ce que nous avons fait, et des personnes rencontrées. Alors un grand merci à tout le monde, et plus particulièrement aux roots, passés, présents et futurs, notamment Benjamin, Olive, Rémi, Cédric, daffy, etc. Mais aussi en particulier un grand merci à Camille et Chantal qui m'ont hébergé ou payé le billet de train pour aller rencontrer les autres membres à Paris alors que j'avais à peine 15 ans ! Merci à toutes et tous, et à bientôt sur le grand internet !
";s:7:"dateiso";s:15:"20151225_094854";}s:15:"20151225_094800";a:7:{s:5:"title";s:21:"Au revoir L'autre Net";s:4:"link";s:36:"//bohwaz.net/p/Au-revoir-L-autre-Net";s:4:"guid";s:36:"//bohwaz.net/p/Au-revoir-L-autre-Net";s:7:"pubDate";s:25:"2015-12-25T09:48:00+01:00";s:11:"description";s:0:"";s:7:"content";s:2412:"Voilà mon compte lautre.net a été détruit hier.
J'étais membre depuis 2000 ou 2001 je ne sais plus trop, je n'ai pas accès à mes mails datant d'avant 2002 de toutes façons. Ça fait donc quasiment quinze ans que j'étais membre de cet hébergeur auto-géré auquel j'ai participé à la hauteur de mes capacités, notamment en créant annuaire.lautre.net, en aidant les gens sur le forum d'aide et autres trucs du quotidien. Bon en réalité j'ai surtout participé à saturer le premier serveur de lautre.net à cause du succès imprévu de Journal Intime.com (qui continue, toujours quelques millions de visiteurs chaque mois).
On a combattu ensemble les lois qui s'attaquaient à la vie privée, au statut des hébergeurs, et par dessus tout on a démontré qu'un hébergeur web de masse, pas cher, indépendant, associatif et libre est une réalité possible. Et ce malgré les difficultés inhérentes à ce genre de projet. Aujourd'hui je ne suis plus d'accord avec les dernières décisions prises ainsi que le fonctionnement global de l'association qui ne correspond plus à ce que j'attends d'un projet auto-géré et collectif, c'est pour cela que je pars, car de plus je n'ai plus grand chose à apporter au projet, et je ne veux pas me retrouver à critiquer ce qui est fait sans pouvoir proposer de m'investir pour changer tout ça.
Malgré tout je me souviendrai avec beaucoup d'émotion de tout ce que nous avons fait, et des personnes rencontrées. Alors un grand merci à tout le monde, et plus particulièrement aux roots, passés, présents et futurs, notamment Benjamin, Olive, Rémi, Cédric, daffy, etc. Mais aussi en particulier un grand merci à Camille et Chantal qui m'ont hébergé ou payé le billet de train pour aller rencontrer les autres membres à Paris alors que j'avais à peine 15 ans ! Merci à toutes et tous, et à bientôt sur le grand internet !
";s:7:"dateiso";s:15:"20151225_094800";}s:15:"20151224_061150";a:7:{s:5:"title";s:73:"POLi Payments: probably the worst idea for online payments, security-wise";s:4:"link";s:91:"http://bohwaz.net/p/POLi-Payments-probably-the-worst-idea-for-online-payments-security-wise";s:4:"guid";s:91:"http://bohwaz.net/p/POLi-Payments-probably-the-worst-idea-for-online-payments-security-wise";s:7:"pubDate";s:25:"2015-12-24T06:11:50+01:00";s:11:"description";s:0:"";s:7:"content";s:12420:"You are ordering something online, like a new TV, on an online store, or maybe you are ordering an airplane ticket on Air New Zealand. You complete your order, then comes the time to pay. You can't find your credit card which must be in your tuesday pants, which are buried under two weeks worth of dirty clothes in a corner of your bedroom. Or you don't want to pay the credit card surcharge charged by Air NZ. So on the payment webpage you spot this intriguing payment option: Internet Bank Payment.
This looks like a safe thing, practical and all, when you click on help, Air NZ assures you that this is a legit thing, and "you can use to safely pay for your flights directly from your bank account". Seems nice, why not try it. You don't know what this "POLi" thing is, but if it says it's safe, why not? It even tells you that "at no time are your personal banking login details disclosed to Air New Zealand or POLi". Sounds great. Let's do it!
First you have to chose your bank in a dropdown menu, fill a captcha code. If there is a captcha it must be secure. You click next and a nice popup show in the page, asking you... your online banking credentials. Oh. Wait. Didn't I read on every email and letter ever sent by my bank that I should never disclose my online banking credentials to anyone?
OK. This is where you should be stopping and never entering your banking details in that form and never trust POLi Payments. And you will see why.
So, what is POLi Payments? It is a private company, a subsidiary of Australia Post, that provides a "payment solution" for merchants so that Australian and New Zealanders customers can pay an order via their own bank account. You must think that this is a very serious business, and that they should have agreements with all the australian and NZ banks, and that they must be using some kind of banking API or back-end to make transactions.
Well, you are wrong. POLi Payments don't have agreements with the banks. They don't use a secure API or anything like that.
Do you remember the scam and phishing websites your bank tells you about? That you should be careful of not entering your banking details on any website other than the one of your bank? Well they work by doing something simple: they build a fake website asking your credentials, then they collect them, store them and use them to connect to your banks website and do fraudulent transactions.
And what does POLi exactly? They ask for your banking credentials, they collect them and use them to connect to your banks website and do a "legitimate" transaction, in fact they just do a wire transfer. Yup, pretty similar stuff.
The only difference is that POLi is supposed to be a legitimate business, and they tell you that it's really secure. OK, then would you write down on a paper your banking login and password to give to the cashier at the supermarket so that he could make a transfer to the supermarket account to pay for your groceries? Yes, probably not. Even if he assured you that he would destroy the paper after the transfer, you couldn't see him destroy it. This seems a bit unsafe no? Well, it's the same thing that POLi is doing. Yes. They are in fact doing a man-in-the-middle attack on your bank website, there is no other word for it.
Remember when the Air NZ website said: "at no time are your personal banking login details disclosed to Air New Zealand or POLi"? Well, obviously when you are entering your banking login details on the POLi pop-up, you are disclosing them! Even if they claim that they claim that they "do not capture or store usernames or passwords" (POLi Security overview), your login and password is transmitted to the POLi servers, stored in memory and transmitted to your banks website. Because POLi is in fact only a sophisticated "proxy" that navigates on the website of your bank with their servers.
This so-called "payment solution" is definitely misleading and a major security risk should you disclose your banking credentials to them. And I bet they get a number of credentials and transactions done as they seem to be doing everything to tell that they are really safe and secure and they are in fact just a proxy server, like Opera Mini. Which is true, but this is not really reassuring. And one of the many problems of POLi is the fact that they are using an iframe embedded in the merchant website. This means that even though you are disclosing your banking credentials on the POLi website, the fact that it is inside the merchants website means that the merchants website could access your banking credentials when you are entering them in the POLi frame, or even it could maybe exploit a security flaw in POLi proxy service and do other actions or transactions on your online banking using the POLi proxy server. And did you think about other resources used on the merchants website? Like for example a script for analytics, or an external javascript library sideloaded from another website, or ads. They all may access your banking credentials through the POLi frame as well.
The fact that the embedded frame displays a Comodo logo and a padlock is even more misleading, as it suggests that the frame is served over HTTPS, which you have no way of knowing for sure.
And it doesn't stop here, as POLi is using the access to your online banking to collect informations on your bank account, including past transactions or account balances, as it is written in their privacy policy:
We may also collect your financial information including bank account balances, bank account payment limits, a record of your previous banking transactions and information about your internet banking sessions.
Worse, their terms and conditions are deliberately wrong:
Your account access information such as usernames and passwords are not captured or stored by POLi™ or by our website.
And it is repeated on the FAQ of Air New Zealand:
During the course of your payment, Air New Zealand and POLi never have access to your internet banking identifier or password
This is blatantly false, as you can see when you check the requests made from the POLi frame, your login and password are in fact sent to the POLi server:
IMAGE
Not only their service is a terribly bad idea to begin with, but their own terms and conditions don't reflect the reality of what their service is actually doing.
So there is a lot of problems with POLi and in my opinion no one should use it. Why?
So: don't use POLi. Ever. And I'm not the only one saying it. No, really.
And merchants shouldn't use it either as it just shows how bad they are at understanding the safety of their customers. If they accepted to use POLi as a payment option, you should really be worried as how they store and process other private informations. In the case of AirNZ I am really worried as they seem to process credit card numbers themselves. I do not want to know how they store them!
If you are not convinced check out what the banks are thinking below. I don't know why the POLi servers are not blocked by the banks, but it is clear that they don't like this idea:
The fact that an idea like POLi is allowed to legally exist is a major problem. How can you seriously educate people to never give out their banking details if you allow this kind of "service"?
";s:7:"dateiso";s:15:"20151224_061150";}s:15:"20151224_061100";a:7:{s:5:"title";s:73:"POLi Payments: probably the worst idea for online payments, security-wise";s:4:"link";s:86:"//bohwaz.net/p/POLi-Payments-probably-the-worst-idea-for-online-payments-security-wise";s:4:"guid";s:86:"//bohwaz.net/p/POLi-Payments-probably-the-worst-idea-for-online-payments-security-wise";s:7:"pubDate";s:25:"2015-12-24T06:11:00+01:00";s:11:"description";s:0:"";s:7:"content";s:14873:"You are ordering something online, like a new TV, on an online store, or maybe you are ordering an airplane ticket on Air New Zealand. You complete your order, then comes the time to pay. You can't find your credit card which must be in your tuesday pants, which are buried under two weeks worth of dirty clothes in a corner of your bedroom. Or you don't want to pay the credit card surcharge charged by Air NZ. So on the payment webpage you spot this intriguing payment option: Internet Bank Payment.
This looks like a safe thing, practical and all, when you click on help, Air NZ assures you[archive] that this is a legit thing, and "you can use to safely pay for your flights directly from your bank account". Seems nice, why not try it. You don't know what this "POLi" thing is, but if it says it's safe, why not? It even tells you that "at no time are your personal banking login details disclosed to Air New Zealand or POLi". Sounds great. Let's do it!
First you have to chose your bank in a dropdown menu, fill a captcha code. If there is a captcha it must be secure. You click next and a nice popup show in the page, asking you... your online banking credentials. Oh. Wait. Didn't I read on every email and letter ever sent by my bank that I should never disclose my online banking credentials to anyone?
OK. This is where you should be stopping and never entering your banking details in that form and never trust POLi Payments. And you will see why.
So, what is POLi Payments[archive]? It is a private company, a subsidiary of Australia Post, that provides a "payment solution" for merchants so that Australian and New Zealanders customers can pay an order via their own bank account. You must think that this is a very serious business, and that they should have agreements with all the australian and NZ banks, and that they must be using some kind of banking API or back-end to make transactions.
Well, you are wrong. POLi Payments don't have agreements with the banks. They don't use a secure API or anything like that.
Do you remember the scam and phishing websites your bank tells you about? That you should be careful of not entering your banking details on any website other than the one of your bank? Well they work by doing something simple: they build a fake website asking your credentials, then they collect them, store them and use them to connect to your banks website and do fraudulent transactions.
And what does POLi exactly? They ask for your banking credentials, they collect them and use them to connect to your banks website and do a "legitimate" transaction, in fact they just do a wire transfer. Yup, pretty similar stuff.
The only difference is that POLi is supposed to be a legitimate business, and they tell you that it's really secure. OK, then would you write down on a paper your banking login and password to give to the cashier at the supermarket so that he could make a transfer to the supermarket account to pay for your groceries? Yes, probably not. Even if he assured you that he would destroy the paper after the transfer, you couldn't see him destroy it. This seems a bit unsafe no? Well, it's the same thing that POLi is doing. Yes. They are in fact doing a man-in-the-middle attack on your bank website, there is no other word for it.
Remember when the Air NZ website said: "at no time are your personal banking login details disclosed to Air New Zealand or POLi"? Well, obviously when you are entering your banking login details on the POLi pop-up, you are disclosing them! Even if they claim that they "do not capture or store usernames or passwords" (POLi Security overview[archive]), your login and password is transmitted to the POLi servers, stored in memory and transmitted to your banks website. Because POLi is in fact only a sophisticated "proxy" that navigates on the website of your bank with their servers.
This so-called "payment solution" is definitely misleading and a major security risk should you disclose your banking credentials to them. And I bet they get a number of credentials and transactions done as they seem to be doing everything to tell that they are really safe and secure and they are in fact just a proxy server, like Opera Mini. Which is true, but this is not really reassuring. And one of the many problems of POLi is the fact that they are using an iframe embedded in the merchant website. This means that even though you are disclosing your banking credentials on the POLi website, the fact that it is inside the merchants website means that the merchants website could access your banking credentials when you are entering them in the POLi frame, or even it could maybe exploit a security flaw in POLi proxy service and do other actions or transactions on your online banking using the POLi proxy server. And did you think about other resources used on the merchants website? Like for example a script for analytics, or an external javascript library sideloaded from another website, or ads. They all may access your banking credentials through the POLi frame as well.
The fact that the embedded frame displays a Comodo logo and a padlock is even more misleading, as it suggests that the frame is served over HTTPS, which you have no way of knowing for sure.
And it doesn't stop here, as POLi is using the access to your online banking to collect informations on your bank account, including past transactions or account balances, as it is written in their privacy policy[archive]:
We may also collect your financial information including bank account balances, bank account payment limits, a record of your previous banking transactions and information about your internet banking sessions.
Worse, their terms and conditions[archive] are deliberately wrong:
Your account access information such as usernames and passwords are not captured or stored by POLi™ or by our website.
And it is repeated on the FAQ of Air New Zealand[archive]:
During the course of your payment, Air New Zealand and POLi never have access to your internet banking identifier or password
This is blatantly false, as you can see when you check the requests made from the POLi frame, your login and password are in fact sent to the POLi server:
Not only their service is a terribly bad idea to begin with, but their own terms and conditions don't reflect the reality of what their service is actually doing.
So there is a lot of problems with POLi and in my opinion no one should use it. Why?
So: don't use POLi. Ever. And I'm not the only one saying it[archive]. No, really[archive].
And merchants shouldn't use it either as it just shows how bad they are at understanding the safety of their customers. If they accepted to use POLi as a payment option, you should really be worried as how they store and process other private informations. In the case of AirNZ I am really worried as they seem to process credit card numbers themselves. I do not want to know how they store them!
If you are not convinced check out what the banks are thinking below. I don't know why the POLi servers are not blocked by the banks, but it is clear that they don't like this idea:
KiwiBank (NZ)[archive]
We advise against using POLiPayments as it invalidates our internet banking guarantee & is not secure.
KiwiBank (NZ)[archive]
Providing your details through a third party is against terms and conditions and we very much advise against it.
Commonwealth (AU)[archive]
The Commonwealth Bank does not have any working agreement with POLi Payments. The Bank urges customers making online payments to do so via the Bank’s own NetBank site, which guarantees the customer’s security.
ASB (NZ)[archive]
we recommend that you do not use the POLi payment service due to the security risks involved
ASB (NZ)[archive]
Using POLi or Account2Account’s payment system requires users to input their username and password to a third party which breaches ASB FastNet Classic’s Terms and Conditions.
Westpac (AU)[archive]
POLI is not supported by the bank. If making online pymts, should do so via bank's own site which guarantees customer's security
ANZ (NZ)[archive]
ANZ reminds customers not to enter your ANZ Internet Banking log on information when using non-ANZ sites.
BNZ
Providing log in details to a third party presents serious security risks and contradicts both the New Zealand Code of Banking Practice and our terms and conditions.
Bank Australia[archive]
Unfortunately POLi payments don’t meet our security standards.
Bank of Queensland[archive]
We take your Internet Banking security very seriously and, for this reason, we do not support the use of 3rd party applications such as POLi. While it may seem that you are in complete control of the Internet Banking session whilst using POLi, we cannot guarantee the security of your logon credentials unless you access Internet Banking via the BOQ website.
The fact that an idea like POLi is allowed to legally exist is a major problem. How can you seriously educate people to never give out their banking details if you allow this kind of "service"?
";s:7:"dateiso";s:15:"20151224_061100";}s:15:"20151210_212000";a:7:{s:5:"title";s:26:"Critique : La vie d'Adèle";s:4:"link";s:39:"//bohwaz.net/p/Critique-La-vie-d-Adèle";s:4:"guid";s:39:"//bohwaz.net/p/Critique-La-vie-d-Adèle";s:7:"pubDate";s:25:"2015-12-10T21:20:00+01:00";s:11:"description";s:0:"";s:7:"content";s:14593:"Ce documentaire sur les problèmes du cinéma français est passionnant. Non je blague, ce n'est pas une parodie d'adaptation ratée de bande dessinée, par un réalisateur mégalomane. Non c'est bien sérieux, ce film est vraiment au premier degré.
Ce film est donc l'exemple même de pourquoi le cinéma français est une honte, même quand il semble avoir tant de succès, couronné à Cannes et tout le tralala. En commençant par le tournage, qui a fait scandale pour les conditions de travail des techniciens et intermittents, invités à bosser gratos, sous prétexte que bon travailler sur un film de Kechiche ça fait bien sur le CV. Une rengaine que les graphistes et autres illustrateurs connaissent bien : « faites-moi mon logo et en échange ça vous fera de la pub ». Ben voyons. Il ne faut pas s'étonner ensuite que Kechiche fasse partie d'une tripotée de salopards qui s'opposent à une convention collective pour les techniciens du cinéma leur offrant de meilleures conditions de travail. Pour un réalisateur qui explique adorer parler des rapports de classe dans ses films, il faut dire qu'il connaît bien le sujet !
Mais passons la polémique, parlons du film. D'abord commençons par l'histoire, adaptée d'une bande dessinée magnifique (Le bleu est une couleur chaude). Mais si vous avez aimé la BD oubliez-là tout de suite : Kechiche ne l'a pas lue et s'est torché les fesses avec. Il ne l'a tellement pas aimée qu'il a refusé de discuter avec son auteure (Julia Maroh) après avoir obtenu les droits d'adaptation. Et le résultat est visible : la BD est intelligente, fine, touchante. Le film est lourd, sans délicatesse et cliché.
Le scénario, s'il y en a vraiment un, est écrit et découpé n'importe comment. Les dialogues sont à pleurer tellement ils sont horribles. Les personnages sont des clichés terribles. Emma a une famille riche, libérée, qui mange des huitres et boit du vin, accepte la relation homosexuelle de leur fille. Adèle a une famille modeste, qui pense que peintre n'est pas un métier sérieux, mange des spaghettis bolognese, et attendent de leur fille qu'elle soit normale. Les discussions lors des repas chez les deux familles sont à la limite de la parodie, on dirait que ça a été recopié dans un recueil des pontifs. Même une fan-fiction Twilight est mieux écrite.
Le scénar est simplement illogique : les personnages apparaissent n'importe comment, n'importe quand. D'un coup d'un seul Adèle a un meilleur ami (gay, forcément), qu'on n'avait jamais vu avant, mais c'est pas grave, car après dix minutes de présence dans le film on n'en entendra plus parler. Idem avec tous les autres personnages secondaires. Les familles d'Emma et Adèle ? Après les repas, elles disparaissent. Les potes d'Adèle, ouvertement homophobes ? À la trappe. Le mec avec qui Adèle trompe Emma ? On ne le verra plus jamais après qu'Emma ait quitté Adèle, alors qu'il bossait avec Adèle tous les jours à l'école ! Ce n'est plus un film, c'est un numéro de magicien sérieux ! C'est comme ça pour tous les personnages : ils sont introduits n'importe comment à l'arrache en deux-trois lignes de dialogues et disparaissent juste après. Même dans Street Fighter 2 les personnages apparaissent plus longtemps et ont une psychologie plus évoluée.
Le film repose donc sur ses deux principales interprètes, Adèle Exarchopoulos et Léa Seydoux. Adèle joue plutôt bien franchement, c'est une belle surprise, elle porte un peu le film sur ses épaules d'ailleurs, parce que sans elle je n'aurais pas tenu jusqu'au bout des 3 heures (oui oui !). Léa Seydoux par contre… Ils auraient pris une truite que ça n'aurait pas changé grand chose. Évidemment son rôle dans le scénario est bâclé, pour ne pas dire carrément charcuté, et même caricaturé, ce qui n'aide pas à développer une quelconque profondeur au personnage. Mais même sans ça, elle est inexpressive et à côté de la plaque dans la moitié des scènes. Du coup on ne croit pas un moment à l'histoire amoureuse entre les deux filles. La relation paraît toujours fausse. En même temps je veux dire elles passent de l'étape « on discute dans l'herbe et on s'embrasse » à « on baise violemment » en deux secondes (je ne mens pas). Car à chaque fois (sauf une) qu'Adèle embrasse quelqu'un dans ce film c'est suivi tout de suite par une scène de sexe. Ben oui, c'est complètement logique voyons !
J'en arrive donc au principal point polémique du film, les scènes de sexe. Oui car il y en a pas mal, elles sont assez explicites et longues. J'ai compté pour vous, il y a en tout 16 minutes de scènes de sexe à l'écran. La plus longue fait quand même sept minutes non-stop, et je peux dire que sept minutes de faux sexe lesbien tel qu'imaginé par un quinqua qui n'a aucune idée de la sexualité des lesbiennes, c'est long, très long. Ces scènes n'ont même pas un intérêt masturbatoire, ce n'est pas même excitant pour un mec, c'est juste du pur ennui. Alors la question pourquoi ces foutues scènes, comme si c'était le truc le plus important à mettre dans ce film ? Non, elles ne servent à rien, elles n'apportent rien aux personnages, à l'intrigue, à l'ambiance. Elles sont juste chiantes. Je suspecte qu'elles n'existent que pour faire parler du film, ce qui est réussi. Et encore, je m'estime heureux, car la plus longue scène fait sept minutes, mais il a fallut dix jours pour la tourner, et là je pense aux pauvres comédiennes obligées de refaire sans cesse cette scène pendant dix jours. Mais quelle horreur, sérieusement. On pourrait aussi parler longuement de comment elles sont filmées, c'est à dire mal, au point que même un porno est mieux foutu. Ensuite on est dans le fantasme masculin le plus total : alors qu'Adèle, personnage plutôt réservé, couche avec Emma pour la première fois, elle se comporte déjà comme une pornstar qui mangerait de la foufoune au petit déjeuner depuis quinze ans. Sérieusement.
Je pense que la sexualité du film (et la vision de la sexualité féminine par le réalisateur) est à l'image de l'intello à la con qui existe dans une scène du film et qui je pense est l'incarnation du réalisateur (quand je vous disais qu'il était mégalo) et qui raconte sans se démonter, avec tout le monde qui l'écoute religieusement : « moi à chaque fois que j'ai pu coucher avec une femme j'ai pu observer quelque chose qui (...) parlait dans un au-delà, en dehors de son corps (...) je suis persuadé que l'orgasme féminin est mystique (...) on le voit dans les yeux, vous [les femmes] avez des yeux qui regardent dans l'au-delà ». Oui, les femmes ces êtres mystiques, qui viennent de Vénus, incompréhensibles, si mystérieuses, et qui hurlent dans les bois les nuits de pleine lune. Voilà l'idée de la femme selon le film. Et ça se voit, et franchement c'est à pleurer pour un film qui parle de relations homosexuelles, c'est d'une pauvreté intellectuelle sans nom.
Et justement pourtant le film essaye de se targuer d'être intelligent, ou en tout cas intello. Et cela à travers un nombre de dialogues et scènes complètement chiantes où les personnages parlent de littérature, de philosophie, d'art et de choucroute alsacienne. Ah nan pas la choucroute pardon. Et à chaque fois, ces dialogues sont d'une pauvreté intellectuelle crasse, d'un ennui profond, d'une fausseté et d'un caricatural. Ça se voit tellement que Kechiche essaye de se la péter intello, mais ça tombe à plat comme une vieille crêpe recouverte de choucroute, parce que d'abord on s'en fout complètement, ensuite que ça n'a rien à voir avec le film et enfin que c'est n'importe quoi. Placer des références et citations de Marivaux, Sartre ou Klimt ne vous rend pas intelligent ou ne vous donne pas l'air intelligent, ils vous donne l'air d'un crétin qui veut se la péter. Je ne parle même pas de la visite d'Emma et Adèle au musée d'art où nous n'aurons droit qu'à des gros plans sur les culs des statues. Classe, on se croirait presque dans un Batman de Joel Schumacher : statues grecques et gros plans sur les fesses. Pas vraiment un film intello…
Et justement les pires scènes pseudo-intello sont ces horribles scènes de cours de français et de littérature. Qui sont tellement réalistes qu'on s'y ennuie autant qu'au vrai lycée. Ah donc un bon point pour le réalisme là ?
On en vient au réalisme et à la crédibilité du film. On vous le dira, pour que le public se passionne pour votre film, il faut qu'il soit un minimum crédible et cohérent dans son univers. Ce qui n'est pas le cas ici, et certains détails sont à pleurer. Au début du film Adèle est dans le bus avec son copain, et celui-ci lui dit « temps de merde aujourd'hui », et celle-ci répond « ouais t'as vu c'est fou ». Déjà bon le dialogue OK. Mais ensuite heu il ne pleut même pas, il ne fait pas moche, c'est n'importe quoi, au moins faites genre qu'il a plut, mettez de l'eau par terre ou des gouttes d'eau sur les vitres du bus ! Et je passe sur le fait que pendant tout le reste du film il fera soleil. À Lille. On y croit tous. Et aucun personnage n'a de téléphone portable dans ce film (sauf Emma), tout le monde s'appelle sur la ligne fixe de ses parents et laisse des messages sur des répondeurs à cassette. Ce qui est complètement anachronique avec le fait qu'Adèle chante et danse sur une musique de 2011 pour l'anniversaire des ses 18 ans.
Je mentionne au passage la musique mais rapidement car il n'y en a pas, seulement quelques fonds sonores (en boîte, dans les bars, etc.), rien de passionnant.
On en arrive enfin à l'horrible montage du film. Le film est long, lent, on a vraiment l'impression de jouer à un jeu vidéo bloqué à 0,5 FPS. C'est leeeennntt, on se fait chier sérieux. Il y a de nombreux plans qui ne servent à rien et durent juste pour faire durer. Mention spéciale sur les plans (fixes) sur Adèle (le plus souvent à poil, enfin sans poils) en train de dormir. Pendant 10 ou 20 secondes. Ah. Bon. Moi je vais pisser je reviens alors. Les plans fixes au passage ne sont jamais vraiment fixes, la caméra devait être tenue par un ancien opérateur de marteau-piqueur parce que ça tremble sec, c'est carrément désagréable à regarder. Peut-être que Kechiche ne sait pas ce qu'est un trépied ?
Tout cela est peut-être dû à un problème de budget ? Non parce que bon à deux reprises dans le film il y a des élipses temporelles de trois ans et personne n'a jugé utile de payer un sous-titre indiquant "trois ans plus tard". Bon on s'en aperçoit, parce que la scène d'avant Emma et Adèle couchent ensemble chez les parents d'Adèle après qu'elle ait eu 18 ans, et la scène suivante elle est devenue institutrice. Alors bon je sais bien qu'on embauche n'importe qui à l'éducation nationale (surtout comme ministre en fait), mais bon quand même.
Le film fait trois heures, et il y avait peut-être assez de matériel pour faire un film potable d'une heure et demie, le reste c'est du remplissage creux, vide, sans intérêt. Mais même si le film avait eu une version courte ça ne change rien au fait que la plupart des scènes sont filmées sans talent, sans recherche, sans intérêt pour le sujet, et sont d'un ennui total. Il ne se passe rien. Jamais. Même le « dénouement » final est creux. Creux et mauvais. Alors que la fin dans la BD de Julia vous fait pleurer, à on tombe sur une fin à la con qui vous fait vous demander pourquoi vous avez regardé ce putain de film en premier lieu. Mais rendez-moi ces trois heures de ma vie que vous m'avez volé pour les remplir avec du rien !
Et le pire ? C'est que Kechiche voudrait faire une nouvelle version plus longue de 40 minutes. Mais qu'est-ce que tu va bien pouvoir foutre dans 40 minutes de film en plus si tu n'avais déjà pas assez pour remplir un film de 90 minutes ? Des plans fixes tremblotants sur le cul d'Adèle ? L'intégrale d'un cours de philosophie de terminale ? Mais ce n'est pas fini, le film s'intitule « La vie d'Adèle chapitre 1 et 2 », ça veut dire qu'il prévoit de faire d'autres chapitres ? Mais comment ? Même une tarentule écrasée présente plus de suspense, de dialogues intéressants et d'intensité dramatique que tout ce film ! Au secours empêchez ce mec de faire des films.
Alors que dire de plus ? Un film long, ennuyeux, creux, mal écrit, mal filmé, pseudo-intello, carrément mégalo, avec du cul pour faire scandale et faire oublier l'abîme intellectuelle que représente le reste du film, des équipes mal ou pas payées, des conditions de tournage abominables mais c'est pas grave « c'est pour l'art et ça fera bien sur le CV ». Mais mais, mais oui, c'est bien un film français ! Un très bel exemple-type du pire que peut produire le cinéma hexagonal. Et on se demande encore pourquoi personne ne va voir des films français… Mais même Uwe Boll fait de meilleurs films, c'est dire !
Maintenant après avoir vu ce « truc » je vous invite à lire les critiques de la presse : 4,6 sur 5 sur Allociné. « C'est ça le grand cinéma » selon Télérama. Rassurez-moi ils parlaient de la taille de la salle de projection là ? « Intense, haletant, frappe par sa richesse et la subtilité des thèmes » mais mais mais même une grenouille sous un 38 tonnes est un thème plus subtile que n'importe lesquels du film ! Je ne vois qu'une possibilité : ces journalistes ont laissé leur cerveau d'huitre dans le repas des parents d'Emma.
";s:7:"dateiso";s:15:"20151210_212000";}s:15:"20150511_023503";a:7:{s:5:"title";s:112:"À propos de Village Wireless / OMA IMPS (Presence et XDC sur les téléphones Nokia, Sony Ericsson et Motorola)";s:4:"link";s:124:"//bohwaz.net/p/À-propos-de-Village-Wireless-OMA-IMPS-(Presence-et-XDC-sur-les-téléphones-Nokia-Sony-Ericsson-et-Motorola)";s:4:"guid";s:124:"//bohwaz.net/p/À-propos-de-Village-Wireless-OMA-IMPS-(Presence-et-XDC-sur-les-téléphones-Nokia-Sony-Ericsson-et-Motorola)";s:7:"pubDate";s:25:"2015-05-11T02:35:03+02:00";s:11:"description";s:0:"";s:7:"content";s:1472:"Si vous vous demandez ce que sont ces étranges "paramètres XDM" et paramètres de présence dans la configuration d'un téléphone Nokia (ou Sony Ericsson, Ericsson ou Motorola), et bien ça permet de se connecter aux serveurs de messagerie instantanée qui suivent le protocole IMPS de Open Mobile Alliance (ex-Wireless Village).
Ce protocole qui a bien 15 ans maintenant (!) fait exactement la même chose que Facebook Messenger, Whatsapp et autres Viber, avec en plus une interopérabilité avec XMPP/Jabber, AIM, ICQ, etc etc.
Ça permet de chatter avec ses contacts, de leur envoyer des images, sons, etc. et de voir quand ils sont en ligne. Le tout de manière unifiée avec le carnet d'adresses classique. Ça marche pas mal techniquement, et c'est présent sur des milliards (et oui !) de téléphones. Mais ça n'a quand même jamais vraiment bien marché.
Aujourd'hui le protocole n'est plus supporté par Android, Windows Phone ou iOS et je ne connais plus qu'un seul service encore en ligne, MobJab. Mais c'est un rappel que tout ce qu'on nous présente comme super-hype-top-nouveau n'a absolument rien de nouveau ou d'intéressant. La seule différence c'est que ce qui est populaire aujourd'hui ce sont des services centralisés, privateurs et espions.
";s:7:"dateiso";s:15:"20150511_023503";}s:15:"20150510_111500";a:7:{s:5:"title";s:66:"Configurer son compte SIP (et notamment OVH) sur Symbian^3 (Belle)";s:4:"link";s:81:"//bohwaz.net/p/Configurer-son-compte-SIP-(et-notamment-OVH)-sur-Symbian-3-(Belle)";s:4:"guid";s:81:"//bohwaz.net/p/Configurer-son-compte-SIP-(et-notamment-OVH)-sur-Symbian-3-(Belle)";s:7:"pubDate";s:25:"2015-05-10T11:15:00+02:00";s:11:"description";s:0:"";s:7:"content";s:4833:"(Première publication 9 janvier 2013)
Pour configurer un compte SIP sur Nokia Symbian^3 (Belle) c'est pas compliqué. Prenons l'exemple d'OVH.
En premier il va falloir télécharger et installer un petit utilitaire Nokia qui permet de configurer en profondeur les comptes SIP. Pourquoi ce n'est pas intégré par défaut dans Symbian^3 je ne sais pas, ça me dépasse : SIP_VoIP_3_1_Settings_Symbian_3_v1_0_en.sis
Si vous avez installé le firmware custom Delight (fortement conseillé) normalement c'est déjà intégré, pas besoin d'installer ce patch.
Ensuite il faut créer un compte SIP : dans Paramètres sélectionnez "Connectivité", puis tout en bas "Param. administrateur" et "Paramètres SIP". Dans le menu choisissez "Nouveau mode SIP" puis "Utiliser mode par déf." et remplissez comme suit :
Appuyez sur la flèche de retour, le téléphone devrait se connecter au compte, et passer de "Non inscrit" à "inscrit" en face de "OVH" dans la liste des profils SIP. Si ce n'est pas le cas c'est qu'il y a un souci de connexion.
Maintenant que vous avez vu que ça fonctionnait bien vous pouvez configurer le téléphone pour qu'il ne se connecte pas au service SIP tout le temps : revenez dans la configuration du profil et passez "Inscription" sur "si nécessaire". Ainsi la connexion ne sera faite que lorsque vous ferez un appel SIP ou quand vous connecterez le profil SIP à la main (voir plus bas).
Mais ce n'est pas terminé, il faut encore indiquer à la partie téléphonie du téléphone qu'elle peut utiliser le profil SIP (me demandez pas, oui c'est tarabiscoté) : Paramètres, Connectivité, Param. administrateur, et choisissez cette fois "Paramètres internet" (explicite n'est-ce pas) puis "Advanced VoIP settings" et maintenant cliquez "Create new service" et sélectionnez "OVH" dans la liste.
Vous devriez maintenant avoir un nouvel onglet dans la gestion des contacts, un globe terrestre avec un téléphone, cliquez dessus. De là vous pouvez voir le statut des services SIP, et vous connecter ou déconnecter (via le menu en bas à droite). Quand le profil SIP est connecté et prêt à recevoir des appels une icône de globe avec combiné téléphonique aparaît dans la zone de notification. Dans les contacts vous aurez aussi une nouvelle option "Appel OVH". Et dans l'écran de composition de numéro le menu en bas à droite dispose d'une nouvelle option "Appel OVH".
Oui c'est un cheminement très bizarre et peu logique, mais une fois que c'est fait ça marche très bien.
(Inspiré du guide OVH pour Nokia S60.)
Si ça ne marche toujours pas, il est possible d'installer Tivi, un client SIP pour Symbian gratuit. L'interface est moche mais ça marche. Je déconseille Fring qui fait passer obligatoirement par son serveur Proxy (rajoute de la latence).
PS : il existe aussi S60voip en libre, que je n'ai pas testé.
Au passage si vous vous demandez ce que sont ces étranges "paramètres XDM" et paramètres de présence, lisez mon petit article sur cet ancien protocole de messagerie instantanée.
";s:7:"dateiso";s:15:"20150510_111500";}s:15:"20150505_202000";a:7:{s:5:"title";s:101:"Quitter GMail, parce que c'est pourri, et synchroniser ses mails en local avec dovecot et OfflineIMAP";s:4:"link";s:114:"//bohwaz.net/p/Quitter-GMail-parce-que-c-est-pourri-et-synchroniser-ses-mails-en-local-avec-dovecot-et-OfflineIMAP";s:4:"guid";s:114:"//bohwaz.net/p/Quitter-GMail-parce-que-c-est-pourri-et-synchroniser-ses-mails-en-local-avec-dovecot-et-OfflineIMAP";s:7:"pubDate";s:25:"2015-05-05T20:20:00+02:00";s:11:"description";s:0:"";s:7:"content";s:5176:"Après avoir passé beaucoup de temps à utiliser mon propre serveur de mails, j'ai passé quelques années chez GMail. C'était pas trop mal. Le webmail est clairement le point faible : moche, lent, peu pratique. Mais qui utilise encore un webmail de nos jours hein ? Mais en plus du fait que filer tous mes mails perso à Google ne me plaisait pas du tout, le service a commencé à se dégrader rapidement : beaucoup de spam, mails qui ne sont jamais reçus par mes destinataires, ou l'inverse, sans jamais laisser aucune trace, etc.
Depuis je suis repassé sur mon propre serveur mail, à base d'Exim, dovecot et SpamAssassin. J'ai aussi mis roundcube comme webmail, mais ça ne me plaisait pas vraiment, j'ai donc développé mon propre webmail assez rapidement. Il ne passe pas par IMAP mais lit directement les dossiers Maildir. Du coup c'est plus rapide. Mais pas assez à mon goût, pour une utilisation intensive avec des milliers d'utilisateurs il fallait quelque chose d'autre, j'ai donc développé un serveur SMTP qui filtre directement les messages et les stocke en base de données et memcache. Puis un serveur IMAP pour voir tout ça. Et un webmail qui tape dans memcache et la base de données. C'est pas mal, c'est rapide, mais encore incomplet, je mettrais ça en open source quand ça sera plus avancé.
J'ai aussi développé un gestionnaire de liste de discussion/diffusion en PHP qui est appelé par EXIM, parce que bon mailman ça va bien 5 minutes mais c'est chiant et lourd.
Bref on n'est jamais mieux servi que par soi-même.
Mais là n'est pas le sujet, car aujourd'hui je vais vous parler de synchroniser ses mails en local pour pouvoir y accéder hors ligne. Oui je sais les clients mails ont souvent une option pour synchroniser les dossiers IMAP pour une utilisation hors ligne. Mais ils stockent souvent ces mails dans un format spécifique, ça prend de la place, c'est lent et peu pratique.
Alors que la bonne solution c'est d'utiliser OfflineIMAP pour synchroniser vos dossiers IMAP en local, ainsi vous disposez d'une copie exacte de votre compte IMAP, que vous pourrez donc restaurer en un rien de temps si le serveur perd vos mails, ou si vous décidez de changer de fournisseur de mails.
Je ne vais pas vous raconter ici comment configurer OfflineIMAP, d'autres l'ont déjà fait mieux que moi, genre saimon.org par exemple. Je peux juste dire que c'est super simple à faire et que ça marche au poil. N'oubliez juste pas de mettre "sep = /" dans le repository local, sinon vous allez avoir des problèmes. Mon ~/.offlineimaprc pour l'exemple :
[general] accounts = MyServer ui = Blinkenlights [Account MyServer] localrepository = Local remoterepository = Remote [Repository Local] type = Maildir localfolders = ~/Mail sep = / [Repository Remote] type = IMAP ssl = yes remotehost = ***** remoteuser = ***** remotepass = ***** spamfolder = Junk
Et ensuite pour accéder à vos mails depuis votre client mail il vous faut utiliser un serveur IMAP local, par exemple dovecot.
# apt-get install dovecot-imapd
Ensuite tout ce que vous avez à faire c'est d'indiquer à dovecot où sont stockés vos mails. Éditez la configuration locale de dovecot :
# nano /etc/dovecot/local.conf
Et inscrivez-y :
mail_location = maildir:%h/Mail:LAYOUT=fs
Évidemment il faut adapter "/Mail" à la localisation de vos mails dans votre home. Moi c'est dans ~/Mail donc.
Si vous voulez retrouver les répertoires "magiques" de GMail genre avec tous les mails ou tous les mails marqués, vous pouvez utiliser l'extension virtual en inscrivant dans la config ce qui suit :
mail_plugins = $mail_plugins virtual namespace { prefix = virtual/ location = virtual:%h/Mail/virtual }
Vous pouvez maintenant redémarrer dovecot :
# service dovecot restart
Et ensuite pour les dossiers virtuels il suffit de créer un répertoire dans votre dossier ~/Mail/virtual et d'y placer un fichier nommé dovecot-virtual contenant les règles. Par exemple si on veut tous les messages non lus sauf les spams, les listes et la corbeille on crée un dossier ~/Mail/virtual/new/ et on inscrit dans le fichier dovecot-virtual :
* -INBOX/Listes/* -Trash -Junk unseen
Pour les messages récents ça sera :
* -INBOX/Listes/* -Trash -Junk -Sent all younger 5184000
Et les messages marqués :
* -Trash -Junk flagged
Et voilà, vous pouvez maintenant faire pointer votre client mail sur localhost :)
";s:7:"dateiso";s:15:"20150505_202000";}s:15:"20150503_221400";a:7:{s:5:"title";s:74:"Mozilla pète les plombs et veut obliger tous les sites à passer en HTTPS";s:4:"link";s:89:"//bohwaz.net/p/Mozilla-pète-les-plombs-et-veut-obliger-tous-les-sites-à-passer-en-HTTPS";s:4:"guid";s:89:"//bohwaz.net/p/Mozilla-pète-les-plombs-et-veut-obliger-tous-les-sites-à-passer-en-HTTPS";s:7:"pubDate";s:25:"2015-05-03T22:14:00+02:00";s:11:"description";s:0:"";s:7:"content";s:5813:"Pourtant on n'est pas le 1er avril…
Tout est marqué sur le blog de Mozilla : ils veulent supprimer progressivement des fonctionnalités du navigateur Firefox pour les sites en HTTP (en clair), au profit des sites en HTTPS (chiffré). Par exemple ça sera la suppression du support Javascript, ou des images en SVG, puis des images tout court, avant de supprimer tout support pour le protocole HTTP. Si vous ne voulez pas vous voir bridé il faudra utiliser le protocole HTTP2 qui ne fonctionne qu'en HTTPS (chiffré). Une idée à l'évidence complètement stupide (déjà que HTTP2 est une horreur, mais c'est une autre histoire).
Évidemment, comme Mozilla ne fait que suivre Google, l'idée vient en fait de Chrome.
En 5 minutes je pense déjà à des tonnes d'arguments pour exprimer à quel point cette idée est profondément stupide :
Bref à mon avis Mozilla ne voit le web que comme un conglomérat de grosses boîtes et gros sites avec des budgets dédiés à tout et n'importe quoi, et n'en à rien à faire des millions de particuliers, assos, bénévoles et enthousiastes du monde entier qui font du web ce qu'il est : un gros bordel collaboratif, la plus belle invention de l'humanité.
Ce que veux Mozilla c'est un web propre et beau, et sécurisé (parce que bon c'est bien connu le SSL c'est la sécurité, ah ah), et tous ces gentils bidouilleurs ne sont qu'un obstacle à la productivité et à son objectif de marché. Donc il cherche à les éliminer. Si vous ne me croyez pas regardez un peu la modification du traitement des certificats auto-signés avec le temps… c'est devenu un enfer, et ce n'est pas pour "la sécurité".
Oui je suis énervé, mais même pas surpris, après avoir supprimé le "http://" de l'URL ce n'est qu'une étape logique, que j'avais déjà annoncée il y a quelques années. Ce qui m'énerve c'est d'avoir raison et de voir que Mozilla, le seul représentant du web non commercial (enfin logiquement) est en réalité un vendu et ne fait plus rien pour la communauté, mais ne travaille que pour son intérêt propre.
Bref encore une fois je répète mon refrain habituel : mais crève donc Mozilla, crève donc, tu fera de la place pour quelque chose d'autre. Et cette chose ne peut pas être pire que Mozilla.
Edit : un autre souci c'est OCSP, une techno qui permet au navigateur de demander au CA si le certificat est bon et encore valide. En théorie c'est super. En pratique ça veut dire que tout le monde qui visite un site fait une requête au CA, qui sait donc qui visite le site. Non seulement ça peut être un gros business, mais en plus c'est une sacré atteinte à la vie privée (et on peut risquer sa vie dans un pays non démocratique, si on va visiter un site interdit…). Dans HTTP, aucun mouchard n'envoie à un prestataire tiers le nom de tous les sites que vous visitez…
";s:7:"dateiso";s:15:"20150503_221400";}s:15:"20150424_113207";a:7:{s:5:"title";s:40:"Cartographie générale et de randonnée";s:4:"link";s:55:"//bohwaz.net/p/Cartographie-générale-et-de-randonnée";s:4:"guid";s:55:"//bohwaz.net/p/Cartographie-générale-et-de-randonnée";s:7:"pubDate";s:25:"2015-04-24T11:32:07+02:00";s:11:"description";s:0:"";s:7:"content";s:1461:"J'ai mis en ligne un outil de cartographie qui me manquait personnellement : map.kd2.org
Il permet de visualiser les cartes en ligne de pas mal de fournisseurs (Nokia Here, OSM, OpenCycleMap, LINZ en Nouvelle-Zélande, IGN, etc.), charger des traces GPX (gestion des tracés, routes et POI, avec couleur différente pour chaque tracé quand il y en a plusieurs dans le fichier), profil altimétrique, affichage des coordonnées d'un point sur la carte en notation "simple" (genre -37 44 6 N 144 55 50 E), recherche d'adresse et ajout de marqueurs sur la carte.
On peut ensuite exporter la carte sous forme de widget pour mettre sur son site web, elle contiendra les tracés GPX et les marqueurs qu'on a ajouté. Un exemple sur mon journal : Détour(s) d'Australie et d'ailleurs
Fonctionnalités prévues dans le futur : recherche d'itinéraire entre 2 points (vélo, voiture, piéton), édition et création de tracés GPX, export en GPX des données de la carte, impression de la carte et de l'itinéraire.
Le plus intéressant à mon avis est du côté technique : rien n'est stocké sur le serveur, donc aucune donnée personnelle n'est envoyée à travers internet, tout est fait depuis votre ordinateur en javascript.
";s:7:"dateiso";s:15:"20150424_113207";}s:15:"20150309_021510";a:7:{s:5:"title";s:94:"Sandisk Sansa Clip Sport : enlever la limitation du volume et corriger le tri des répertoires";s:4:"link";s:107:"//bohwaz.net/p/Sandisk-Sansa-Clip-Sport-enlever-la-limitation-du-volume-et-corriger-le-tri-des-répertoires";s:4:"guid";s:107:"//bohwaz.net/p/Sandisk-Sansa-Clip-Sport-enlever-la-limitation-du-volume-et-corriger-le-tri-des-répertoires";s:7:"pubDate";s:25:"2015-03-09T02:15:10+01:00";s:11:"description";s:0:"";s:7:"content";s:2206:"Le Sansa Clip Sport est un survivant d'une époque révolue (hélas) : un nouveau baladeur MP3 petit, léger et autonome dans un monde de smartphones inutiles, lourds, fragiles, encombrants et qui demandent à être constamment connectés à une prise électrique.
Ce nouveau baladeur de Sandisk gagne en autonomie par rapport aux précédents Clip Zip et Clip+, mais perd quelque chose de précieux : le support par Rockbox. C'est un firmware alternatif pour un grand nombre de baladeurs qui offre de nombreuses fonctionnalités, une plus grande autonomie, la lecture de tous les formats audio, et Doom !
Dommage du coup de perdre Rockbox, à cause d'une puce trop faible pour faire tourner autre chose que le firmware original, qui se retrouve d'ailleurs lui-même sérieusement handicapé, avec notamment une limite à 2000 fichiers indexés dans la base de données des tags (soit 8Go, alors que le baladeur peut utiliser des cartes microSD de 64 Go et plus), et des problèmes de tris dans les répertoires.
En effet comme un vulgaire baladeur de supermarché, le Clip Sport tri les fichiers dans l'ordre où ils sont déposés sur la partition FAT32, et non pas par ordre alphabétique. Les albums sont donc désordonnées, du genre la piste 15 suivie de la piste 3, suivie de la piste 22, etc. Une solution à ça :
$ sudo apt-get install fatsort $ fatsort /dev/sdX1
ou sdX1 est la partition du baladeur ou de la carte microSD. Et hop c'est réglé. C'est un peu gênant, mais au moins ça règle le souci.
Un autre souci sur les baladeurs Sansa c'est la limitation du volume de sortie à cause des lois européennes, du coup on n'entend rien (et non je ne suis pas encore sourd). Une solution simple : dans le baladeur aller dans réglages, réglages système et réinitialiser (pas formater), et quand il vous demande le pays indiquez "reste du monde". Et hop vous voilà avec le volume débridé et plus de message chiant sur l'écoute à plein volume bla bla bla.
";s:7:"dateiso";s:15:"20150309_021510";}s:15:"20150220_235800";a:7:{s:5:"title";s:32:"Remove DRM from Kindle AZW files";s:4:"link";s:47:"//bohwaz.net/p/Remove-DRM-from-Kindle-AZW-files";s:4:"guid";s:47:"//bohwaz.net/p/Remove-DRM-from-Kindle-AZW-files";s:7:"pubDate";s:25:"2015-02-20T23:58:00+01:00";s:11:"description";s:0:"";s:7:"content";s:1813:"When you buy a book for your Kindle on Amazon, it comes with a special surprise: DRM. Yes we are in 2015, every book ever published is already available everywhere to download for free, but you still get this stupid thing that basically pisses everybody and forbids to just use the stuff you paid for. Unbelievable. They will never learn.
So, what do you do when you accidentally bought a DRM e-book? First you swear you'll never do the same mistake again, and next time you'll just download the book from The Pirate Bay, it will be faster, easier and you will be able to read the book without wondering why the hell did you pay for a file that you can't read. When that is done, you will actually get rid of the DRM following this simple procedure:
$ unzip DeDRM_plugin.zip
$ python k4mobidedrm.py -s YOUR_KINDLE_SERIAL_NUMBER Stupid_encrypted_DRM_book.azw ./
That's it. A new file called Stupid_encrypted_DRM_book_nodrm.mobi will be in the directory. Delete the old one.
What was this DRM thingy for?
";s:7:"dateiso";s:15:"20150220_235800";}s:15:"20150124_041300";a:7:{s:5:"title";s:75:"HOWTO: Using a removable USB key or SD card as an encryption key with EncFS";s:4:"link";s:89:"//bohwaz.net/p/HOWTO-Using-a-removable-USB-key-or-SD-card-as-an-encryption-key-with-EncFS";s:4:"guid";s:89:"//bohwaz.net/p/HOWTO-Using-a-removable-USB-key-or-SD-card-as-an-encryption-key-with-EncFS";s:7:"pubDate";s:25:"2015-01-24T04:13:00+01:00";s:11:"description";s:0:"";s:7:"content";s:7842:"For this HOWTO you will need the encfs package installed (Debian and Ubuntu).
We still want to be able to use the key to store some documents, and that way it will just look like an ordinary USB key. So we have to create an empty filesystem on the removable USB key:
# USB_KEY=/dev/sdX # fdisk $USB_KEY Command (m for help): o Building a new DOS disklabel with disk identifier 0xXXXXXX. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): Using default response p Partition number (1-4, default 1): Using default value 1 First sector (2048-1974271, default 2048): Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-1974271, default 1974271): 1974270 Command (m for help): t Selected partition 1 Hex code (type L to list codes): b Changed system type of partition 1 to b (W95 FAT32)
Make sure that the last sector of the partition is minus one the last one of the disk. Here the last sector of the disk is 1974271, so (1974271-1) = 1974270.
Now write the partition table:
Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: If you have created or modified any DOS 6.x partitions, please see the fdisk manual page for additional information. Syncing disks.
Now format the new partition:
# mkfs.vfat -F 32 -n Documents ${USB_KEY}1
Now comes the part of the crypto stuff. Create a random passphrase:
# dd if=/dev/urandom bs=1 count=256 > passphrase.bin
Write it to the end of the USB key:
# USB_SEEK=$(($(blockdev --getsize64 $USB_KEY)-256)) # dd if=passphrase.bin of=$USB_KEY bs=1 seek=$USB_SEEK
This way the passphrase won't be stored in a filesystem but directly on the disk, where overwriting it by mistake will be a bit more difficult. It's also a bit harder for an attacker to know that the disk actually contains an encryption passphrase (but just a bit).
You can check that the passphrase was correctly written to the disk with:
# sha1sum passphrase.bin; dd if=/dev/sdg bs=1 skip=$USB_SEEK count=256 2> /dev/null | sha1sum
The two SHA1 sums should match.
At this step I advise you to backup your passphrase, maybe by encoding it using Bubble Babble, printing it and hiding it somewhere. Or just put it in a wallet manager like KeePassX. As you wish.
If you already have an encrypted EncFS directory, you can skip to the next step. If you don't have an encrypted EncFS directory already here is how you can create one:
$ encfs ~/encrypted ~/decrypted Creating new encrypted volume. Please choose from one of the following options: enter "x" for expert configuration mode, enter "p" for pre-configured paranoia mode, anything else, or an empty line will select standard mode. ?>
Press p and Enter.
Paranoia configuration selected. Configuration finished. The filesystem to be created has the following properties: Filesystem cipher: "ssl/aes", version 3:0:2 Filename encoding: "nameio/block", version 3:0:1 Key Size: 256 bits Block Size: 1024 bytes, including 8 byte MAC header Each file contains 8 byte header with unique IV data. Filenames encoded using IV chaining mode. File data IV is chained to filename IV. File holes passed through to ciphertext. -------------------------- WARNING -------------------------- The external initialization-vector chaining option has been enabled. This option disables the use of hard links on the filesystem. Without hard links, some programs may not work. The programs 'mutt' and 'procmail' are known to fail. For more information, please see the encfs mailing list. If you would like to choose another configuration setting, please press CTRL-C now to abort and start over. Now you will need to enter a password for your filesystem. You will need to remember this password, as there is absolutely no recovery mechanism. However, the password can be changed later using encfsctl. New Encfs Password:
Enter (twice) a temporary password as we are about to change it. So enter something like abcd or stuff.
Now we will to change the current password of the encrypted directory to the passphrase we generated and wrote to the USB key before.
$ echo -n "Enter current password: " && read -s PASSWORD && (echo $PASSWORD && base64 -w 0 passphrase.bin) | encfsctl autopasswd ~/decrypted
Type in your current password (the temporary one if you just created the encrypted directory at the previous step), hit Enter, and then EncFS will change the password to the one contained in the file passphrase.bin, encoded with Base64. This encoding is useful as EncFS expects a one-line password and
Now unmount the encrypted directory so that we can try if mounting it with our key works:
$ fusermount -u ~/decrypted
Let's try if we can mount our encrypted directory with our key:
$ base64 -w 0 passphrase.bin | encfs -S ~/encrypted ~/decrypted
And it should work.
And finally we are ready to mount our encrypted directory using our USB key and this simple script:
#!/bin/sh if [ "$1" = "" -o "$2" = "" ] then echo "Usage: $0 rootDir mountPoint" exit 0 fi mountpoint -q "$2" && echo "$1 is already mounted" && exit 1 echo "Trying to get the key from USB keychain ..." >&2 for SFS in /sys/block/sd*; do DEV=`basename $SFS` if [ 0`cat $SFS/removable` -eq 1 -a 0`cat $SFS/size` -gt 1 ] then SKIP=$((512*$(cat /sys/block/${DEV}/size)-256)) KEY=`dd if=/dev/${DEV} bs=1 skip=$SKIP 2> /dev/null` echo "> Trying device: $DEV ..." >&2 echo -n "${KEY}" | base64 -w 0 | encfs -S "$1" "$2" \ && echo "Encrypted directory mounted from keyfile" && exit 0 fi done echo "FAILED to find suitable USB keychain ..." exit 1
The script is simply trying to use all the removable devices as decryption key for encfs. To use it you just have to run:
$ mount_encfs_usb.sh ~/encrypted ~/decrypted Trying to get the key from USB keychain ... > Trying device: sdg ... Encrypted directory mounted from keyfile
And that's the end of this HOWTO :)
This was inspired by this StackOverflow thread and How to setup passwordless disk encryption.
";s:7:"dateiso";s:15:"20150124_041300";}s:15:"20150124_031600";a:7:{s:5:"title";s:35:"Bubble Babble CLI encoder / decoder";s:4:"link";s:48:"//bohwaz.net/p/Bubble-Babble-CLI-encoder-decoder";s:4:"guid";s:48:"//bohwaz.net/p/Bubble-Babble-CLI-encoder-decoder";s:7:"pubDate";s:25:"2015-01-24T03:16:00+01:00";s:11:"description";s:0:"";s:7:"content";s:841:"At my own surprise there is no CLI tool to encode or decode a string to and from the Bubble Babble binary encoding. That's a shame as this encoding would be much more useful than Base64 for exchanging binary data orally or on paper.
So here is one quick PHP script based on my own PHP5 BubbleBabble library to do that: bubblebabble.php
Usage is pretty simple:
$ bubblebabble.php hello.txt xifok-mirid-bodik-nemyg-temyl-dipyd-cedyx $ bubblebabble.php -d - <<< xifok-mirid-bodik-nemyg-temyl-dipyd-cedyx Oh, Hi Mark! $ fortune | bubblebabble - > encoded.txt $ bubblebabble -d encoded.txt Big book, big bore. -- Callimachus";s:7:"dateiso";s:15:"20150124_031600";}s:15:"20150123_013400";a:7:{s:5:"title";s:71:"Undocumented PHP/SQLite3 features: openBlob, readOnly, enableExceptions";s:4:"link";s:83:"//bohwaz.net/p/Undocumented-PHP-SQLite3-features-openBlob-readOnly-enableExceptions";s:4:"guid";s:83:"//bohwaz.net/p/Undocumented-PHP-SQLite3-features-openBlob-readOnly-enableExceptions";s:7:"pubDate";s:25:"2015-01-23T01:34:00+01:00";s:11:"description";s:0:"";s:7:"content";s:3824:"
The SQLite3 module of PHP has some undocumented features that you may discover when you are reading the source code (yes that's what I do when I get bored, nothing is more fascinating than reading source code, really, you should try it).
Available from PHP 5.3.5.
This method returns true if a statement doesn't change the database. This is useful sometimes, like to make sure that a template engine is only reading data and not altering the databse. Another use would be providing a way for the user to make queries on the database to select any data he wants (yes you wouldn't want this to be available to any user).
One example to check if there is no injection:
$_GET['id'] = 42; $statement = $db->prepare('SELECT * FROM cooking_recipes WHERE id = '.$_GET['id'].';'); var_dump($statement->readOnly()); // bool(true)
And if there was an injection:
$_GET['id'] = 'NULL; DROP TABLE nuclear_warheads_locations;'; $statement = $db->prepare('SELECT * FROM cooking_recipes WHERE id = '.$_GET['id'].';'); var_dump($statement->readOnly()); // bool(false)
Of course you NEVER should insert any PHP variables straight in a SQL query. Instead you should use bindValue:
$statement = $db->prepare('SELECT * FROM cooking_recipes WHERE id = :id;'); $statement->bindValue(':id', $_GET['id']);
Another undocumented feature of the PHP SQLite3 object, available since 2009, is openBlob. Basically it's a function that will return a stream pointer to a blob value in a table. Very very useful when you are dealing with files stored in a SQLite3 database.
Source code says:
proto resource SQLite3::openBlob(string table, string column, int rowid [, string dbname])
Open a blob as a stream which we can read / write to.
But despite that it's not possible to write to the blob, only reading is implemented. The blob are always opened as read-only by SQLite, so if you try to write to the stream, nothing will be saved to the database.
One example of use:
$db = new SQLite3('files.sqlite'); $db->exec('CREATE TABLE files (id INTEGER PRIMARY KEY, filename TEXT, content BLOB);'); $statement = $db->prepare('INSERT INTO files (filename, content) VALUES (?, ?);'); $statement->bindValue('filename', 'Archive.zip'); $statement->bindValue('content', file_get_contents('Archive.zip')); $statement->execute(); $fp = $db->openBlob('files', 'content', $id); while (!feof($fp)) { echo fgets($fp); } fclose($fp);
You can also seek in the stream. This is pretty useful for saving large files from the database too, this way you can use stream_copy_to_stream, it will be faster and more memory-efficient than dumping the file in memory before writing it to the disk.
Please note that openBlob() won't work on VIRTUAL FTS4 compressed tables (but no problem with non-compressed virtual tables).
Available since 2009 (PHP version ??).
If set to true, then errors will be returned as exceptions instead of errors.
";s:7:"dateiso";s:15:"20150123_013400";}s:15:"20150121_003700";a:7:{s:5:"title";s:51:"Ceci n'est pas une suite – Ginger Snaps Unleashed";s:4:"link";s:62:"//bohwaz.net/p/Ceci-n-est-pas-une-suite-Ginger-Snaps-Unleashed";s:4:"guid";s:62:"//bohwaz.net/p/Ceci-n-est-pas-une-suite-Ginger-Snaps-Unleashed";s:7:"pubDate";s:25:"2015-01-21T00:37:00+01:00";s:11:"description";s:0:"";s:7:"content";s:1345:"Il ne faut pas se méprendre en se limitant à la jaquette DVD de l'édition française qui repompe Underworld et qui change le titre du film de "Ginger Snaps Unleashed" à "Ginger Snaps Resurrection", cette suite n'en est pas réellement une car en restant dans le thème et avec Brigitte du premier opus, le ton est complètement différent. Il ne faut donc pas s'attendre à voir la même chose que Ginger Snaps mais en plus fort, plus vite, plus mieux, c'est simplement un film différent.
On retrouve ici la talentueuse Emily Perkins et l'excellente Tatiana Maslany qui livrent une prestation extraordinaire dans des registres très différents. Le scénario prend un tournant inattendu avec le rapport entre lycanthropie et addiction aux stupéfiants et envoie le personnage principal dans un hôpital étrange et surréaliste, à moitié abandonné, rempli d'infirmiers corrompus, où elle rencontrera Ghost (Tatiana Maslany), une gamine totalement déjantée.
L'ambiance est campée et nous emmène dans un film d'épouvante relativement dérangeant et bien ficelé, de la musique à la réalisation en passant par les effets spéciaux « old school » (pas de CGI) jusqu'à une fin complètement tarée.
";s:7:"dateiso";s:15:"20150121_003700";}s:15:"20150121_003500";a:7:{s:5:"title";s:43:"Critique de Loups solitaires en mode passif";s:4:"link";s:58:"//bohwaz.net/p/Critique-de-Loups-solitaires-en-mode-passif";s:4:"guid";s:58:"//bohwaz.net/p/Critique-de-Loups-solitaires-en-mode-passif";s:7:"pubDate";s:25:"2015-01-21T00:35:00+01:00";s:11:"description";s:0:"";s:7:"content";s:253:"Joli moyen métrage qui décrit très bien l'ennui mortel des quartiers résidentiels en France, et les troubles de l'adolescence. C'est particulièrement bien écrit, joué et réalisé. Super.
";s:7:"dateiso";s:15:"20150121_003500";}s:15:"20150121_003312";a:7:{s:5:"title";s:18:"Critiques de films";s:4:"link";s:33:"//bohwaz.net/p/Critiques-de-films";s:4:"guid";s:33:"//bohwaz.net/p/Critiques-de-films";s:7:"pubDate";s:25:"2015-01-21T00:33:12+01:00";s:11:"description";s:0:"";s:7:"content";s:54:"Critiques.
";s:7:"dateiso";s:15:"20150121_003312";}s:15:"20150121_000100";a:7:{s:5:"title";s:37:"Daft clones, aux chiottes !Un groupe de djeunz débarque sur une île au milieu d'un lac pour faire du camping. Au menu du groupe un blondinet à barbiche qui se la joue DiCaprio, sa copine blonde, et leur pote black qui va partir en Afghanistan jouer à boum-boum-pan-pan. En tant que quota ethnique, le black n'oubliera bien sûr pas de rajouter "man!" à la fin de chacune de ses répliques, et ne servira pas à grand chose pendant les trois quarts du film.
Une fois arrivés, la demoiselle du groupe, trouvant que déféquer en pleine nature n'est pas très glamour, se dirige en direction d'un riche manoir au milieu de l'île, qui s'avère vide, et devant la porte se saisit de la clé sous le paillasson, entre, se balade dans la maison, et va déféquer dans les toilettes tout en savourant un bouquin piqué dans la bibliothèque. Bon déjà ça donne le ton, venir chier chez vous pendant que vous êtes partis faire les courses, ça montre un certain respect de la jeunesse. Mais vous allez voir que le film n'a pas finit de vous parler de chiottes.
Le soir, le couple blond est en train de roucouler sous la tente (leur pote doit dormir à la belle étoile, après tout faut pas trop se mélanger, et puis c'est un militaire il peut bien vivre à la dure), quand Tracy (la fille blonde) joue le scénario du "pas ce soir chéri j'ai la migraine". Craig, un peu déçu, se retourne en gromelant, quand Derek (le black) débarque en criant "vite vite il faut sortir y'a de l'orage". Oui tout à fait, quand vous faites du camping, et qu'il pleut averse avec de gros éclairs, il faut sortir de la tente en courant avec son sac à dos. Il doit en faire un beau de militaire celui-là quand même. Bref, passons sur cette incohérence pour suivre nos héros se diriger en courant vers le manoir, où ils entrent. Ici encore Tracy se révèle être une garce qui non contente de chaparder de la bouffe dans le frigo, se prends une douche, où Craig la rejoint et celle-ci le rembarre derechef sur le mode "nan mais tu fait quoi là ho !". Suite à quoi, tout le monde va joyeusement utiliser les toilettes, parce que ho hein quitte à squatter illégalement une maison autant laisser la cuvette relevée en sortant, on n'est pas punk pour rien !
Après une nuit de sommeil, pendant que nos héros se réveillent dans un bon lit douillet, la tente de ces campeurs du dimanche flotte sur le lac, ce qui effectivement nous en dit long sur leur QI. Mais oh du bruit réveille Craig, il regarde par la fenêtre, ce sont les propriétaires du lieu qui reviennent des courses, mais en hors bord (notez que pour se garer sur le parking du Carrouf c'est pas super facile). Vite, c'est la panique, nos trois jeunes se précipitent récupérer leurs affaires et effacer les traces de leur visite, et se cachent à la cave. Là, ils voient deux cadavres empaquetés dans du plastique, ils veulent appeler du secours, mais pas de chance leur iPhone ne capte pas (ils doivent être chez Free mobile). Pendant ce temps-là les proprios se rendent compte que quelqu'un s'est aventuré dans leur maison ("oh oh oh quelqu'un a dormi dans mon lit") et tendent une embuscade géniale consistant à attendre à la porte de la cave avec un couteau. Nos héros sortent de la cave et Tracy se fait immédiatement capturer. Sous la menace de lui trancher la gorge, les deux garçons acceptent, sans avoir l'air plus bouleversés que ça, de transporter les cadavres sur la plage et de les enterrer.
Une fois le trou creusé, les trois jeunes sont invités à rejoindre le trou, et c'est là qu'ils se rendent compte que les cadavres ont le même visage et corps que les deux propriétaires-méchants. Enfer, ce sont des clones méchants qui ont tué les originaux ! Et là, retournement de situation, les deux méchants clones se font mettre à terre par trois gentils-clones des trois jeunes (qui se baladent à poil).
De là pas grand chose, la clone de Tracy va séduire le vrai Craig, et le clone de Craig va séduire la vraie Tracy, pendant que le vrai Derek se barre chercher du secours (il reviendra à la fin du film car de l'autre côté du lac il aura croisé une voiture avec deux jumeaux dedans, donc il a eu peur ce neuneu et est revenu... au point de départ). Forcément ça couche ensemble, pendant que quand même on se demande, autour d'un Scrabble (si si), si ces gentils-clones sont vraiment gentils et pas de méchants qui feintent leur gentillesse (non pas possible !). Le vrai Craig et la vraie Tracy découvrent que l'île était auparavant occupée par un chercheur en physique nucléaire et tombent sur son laboratoire secret, où ils découvrent que son projet était de cloner les gens, mais que ça a mal tourné bla bla bla. Mais au fait d'où sortent-ils ces clones ? Comment ont-ils eu accès à l'ADN et les souvenirs des originaux ? Et bien de la fosse septique ! Et oui c'est quand nos héros ont fait caca que leur ADN a été transportée jusqu'à la fosse septique qui avait été mélangée avec de la potion magique nucléaire. Donc en fait si on suit le raisonnement la fosse septique devrait être en train de créer des millions de clones de mouches, asticots et autres vers de terre mais non elle est intelligente elle ne clone que les humains. Pratique.
Du coup, après de nombreuses péripéties inutiles (le labo ne servira jamais à rien fait à part expliquer à moitié d'où sortent ces clones tous nus), Derek et Craig tuent leurs clones, pendant que Tracy soulève une rame sur son clone et... noir. Inutile de vous dire quel sera le clone survivant que les originaux emmèneront avec eux en croyant que c'est l'original... Et voilà c'est la fin.
Et merde, j'ai perdu 1h30 de ma vie à me faire chier devant ce navet, où les acteurs, en plus de chier dans le film, se font chier comme des rats morts. Au secours, tirez la chasse !
";s:7:"dateiso";s:15:"20150121_000100";}s:15:"20141219_041600";a:7:{s:5:"title";s:57:"Why you shouldn't rely on DKIM, SPF, and other whitelists";s:4:"link";s:70:"//bohwaz.net/p/Why-you-shouldn-t-rely-on-DKIM-SPF-and-other-whitelists";s:4:"guid";s:70:"//bohwaz.net/p/Why-you-shouldn-t-rely-on-DKIM-SPF-and-other-whitelists";s:7:"pubDate";s:25:"2014-12-19T04:16:00+01:00";s:11:"description";s:0:"";s:7:"content";s:3990:"On the mail servers I manage we get thousands of spams every day. It's the same for every email server out there I guess, but there is something really different in France compared to other countries. In France the spam is actually legal and backed by the government. Yes a spam company can actually buy a database containing e-mails for non-profit organizations and companies from the INSEE public institute and then sell it again to its customers. The customers can then send spams to those email addresses, as long as they provide an opt-out unsubscribe link in the mail.
You can try and click on any number of opt-out links you wish, it doesn't change anything. At best you won't receive new spams from this specific announcer, but the spam provider often sells its database to hundreds of other announcers and will continue to relay spam through to you. When I actually tried to click as many opt-out links I could in a month, I actually got a huge increase of spam afterwards. It may seem incredible, but you can not trust those spam providers to actually stop sending spams. Weird. (Irony.)
There is a non-profit organization called "Signal Spam" which is supposed to fight spam, but a vast majority of its partners are actually spam providers like MailChimp or eCircle. Even the president of Signal Spam is the CEO of an « emailing » company called ExactTarget. I discuss the matter in details in this post about Signal Spam (in french). To this day Signal Spam doesn't seem committed at all to bring spam providers to justice or to lobby for a more protective law against spam.
A few years ago when I heard about SPF, and then about DKIM, I thought that would be a great idea to help fight spam. Now I can truly say that they are both very bad ideas. Even if they were actually working with real emails, which they don't, as they break most mailing lists and forwardings. But the worst is that out of the two thirds of emails my SMTP servers received who were using DKIM or SPF, more than half of those emails were actually spams.
Yes, spammers do use SPF and DKIM, and they do use them well. For this means that if an email does actually have a valid DKIM or passes the SPF test, there is more than a 50% chance that it is not a real email.
So when you are writing your spam filtering rules you should never trust that a message that passes the DKIM or SPF test is a legit email as it is often not the case.
The default rules for SpamAssassin for example are too not too optimistic if the mail passes the DKIM or SPF test, which is the right thing to do.
One thing that SpamAssassin didn't get right is that it trusts the whitelists. For example a valid DKIM domain which is in the SpamHaus Whitelist will get its spam score decreased by 3.5 points. That's a lot actually, as many spammers do manage to get listed in whitelists. One example is MailChimp, one of the largest spam provider out there, which is listed in ISIPP IADB.
As a result spams coming from MailChimp will get through your spam filter. What a shame.
I suggest to use those rules in your SpamAssassin local.cf file:
score DKIMDOMAIN_IN_DWL 0 score __RCVD_IN_DNSWL 0 score __RCVD_IN_IADB 0 score RCVD_IN_RP_CERTIFIED 0 score RCVD_IN_RP_SAFE 0
This will disable the whitelists completely, so that no request is made to those servers. It will save you some bandwidth and CPU, as well as rejecting more spams.
To help block more spams I will soon release a new DNS blacklist server which will help to reject emails from MailChimp, eCircle, MailJet and other "legal" spam providers.
";s:7:"dateiso";s:15:"20141219_041600";}s:15:"20141219_023100";a:7:{s:5:"title";s:47:"Pourquoi Signal Spam ne sert à rien (au mieux)";s:4:"link";s:62:"//bohwaz.net/p/Pourquoi-Signal-Spam-ne-sert-à-rien-(au-mieux)";s:4:"guid";s:62:"//bohwaz.net/p/Pourquoi-Signal-Spam-ne-sert-à-rien-(au-mieux)";s:7:"pubDate";s:25:"2014-12-19T02:31:00+01:00";s:11:"description";s:0:"";s:7:"content";s:10613:"Question simple. Réponse simple : parce que rien de sérieux n'est fait au niveau législatif pour le combattre. C'est même plutôt le contraire.
Si la réglementation Européenne est plutôt favorable aux particuliers (seul l'opt-in est autorisé), en France elle est carrément défavorable aux professionnels où c'est l'opt-out qui règne. Ce qui signifie en clair qu'une fois votre adresse dans leurs fichiers, vous êtes cuit. Vous avez beau cliquer comme un malade sur les liens pour se désabonner, cela ne change rien. Au mieux vous ne recevrez plus de messages de cet expéditeur-là, mais l'entreprise de spam qui a envoyé ce spam continuera de vendre votre adresse à d'autres expéditeurs. Au pire, comme un test personnel l'a prouvé récemment, cela confirmera au spammeur la validité de l'adresse et multipliera le nombre de spams reçus.
Et où les entreprises de spam vont-elles pécher leurs adresses ? Dans le fichier SIRENE vendu par l'INSEE bien sûr ! Quand vous avez créé votre association, que vous vous êtes enregistré en auto-entrepreneur ou avez ouvert votre EURL vous pensiez bien faire en mentionnant votre adresse e-mail pour faciliter vos communications avec l'administration ? Et bien pleurez maintenant : une fois votre adresse e-mail dans le fichier SIRENE, celui-ci est revendu à des dizaines de spammeurs qui revendent les fichiers à d'autres spammeurs, et ainsi jusqu'à l'éternité. En bonus vous recevrez même des catalogues et autres publicités dans votre boîte aux lettres postale, on sait jamais si vous manquiez de papier pour allumer le poêle cet hiver.
Et ce en toute légalité, c'est beau la loi quand elle protège les intérêts d'une minorité au détriment de la majorité.
Pourtant il existe en France une structure censée lutter contre le spam : Signal Spam. Fondée en 2007, cette association promettait des lendemains qui chantent si vous vous inscriviez sur leur site et que vous leur envoyiez vos spams. L'initiative est la seule à être d'envergure en France et à recevoir un soutien des pouvoirs publics. La CNIL et l'ANSSI conseillent de transmettre nos spams à Signal Spam, c'est donc que ça doit être sérieux.
Mais à quoi servent ces signalements ensuite ? Écoutons parler Thomas Fontvielle, secrétaire général de Signal Spam (interview du 16 juillet 2013) :
On peut dresser une brève typologie des actions autorisées par les signalements :
- La désinscription des listes de diffusion qui comprennent les adresses de l’internaute auprès des membres de l’association ;
Je. Hein. Quoi ? Les membres de Signal Spam ont des listes de diffusion ? Et on pourrait être amené à signaler leurs messages ? Mais pourquoi donc ? Est-ce que ça voudrait dire que les membres d'une association destinée à lutter contre le spam pourraient être des spammeurs ? Je suis dubitatif. Allons voir la liste des partenaires de Signal Spam. Que voyons-nous comme noms ?
Experian Marketing Services, ExactTarget, MailChimp, NP6 MailPerformance, MailUp, Ividence, Email Stratégie, DoList, Expert Sender, RapidMail, INXMail, Smart Focus, MailJet, SPLIO, Return Path, eCircle, Cabestan, etc.
En visitant les sites de ces « partenaires » on retrouve souvent les même phrases et mots qui reviennent : « délivrabilité », « e-mail marketing », « newsletter », « campagne marketing », « emailing ». Vous voulez ce que ça veut dire ? Toutes ces entreprises sont des spammeurs professionnels. Quelque soit le nombre de mots à la con qu'elles peuvent mettre sur leurs sites, ces boîtes sont les machines de guerre du spam et représentent plus de 90% du spam qui circule sur mes serveurs. Du spam que je n'ai évidemment jamais sollicité.
Signal Spam est si directement et intrinsèquement lié aux entreprises de spam que ça se voit jusque dans sa direction. En 2008 l'APRIL quittait Signal Spam, mettant en cause le coût prohibitif de l'adhésion, mais aussi le fait que le président de l'époque, Dominique Roux, était également administrateur de la société 1000mercis. L'activité de cette entreprise ? Les « campagnes d'emailing » bien sûr. Le lien entre Signal Spam et cette société était si fort que le siège de l'association était le même que celui de la société.
Bien sûr, depuis Signal Spam a peut-être appris de cette erreur de communication pour élire un président un peu plus « neutre » ? Et bien non, le nouveau président de Signal Spam, Jean-Philippe Baert, est aussi vice-président d'ExactTarget, un autre expert de « l'email marketing ».
Mais on pourrait décemment se dire que malgré les apparences Signal Spam pourrait fournir un service de qualité et réellement lutter contre le spam. En 2010, Arobase.org relevait déjà que « de fait, Signal Spam s’avère un échec », soulignant le manque de bilan concret de son action.
Depuis Signal Spam n'a toujours pas montré de résultats probants. Et pour cause. Prenons des extraits des derniers spams reçus sur un serveur mail pour montrer d'où ils proviennent :
from o16.p4.mailjet.com
MailJet, une entreprise partenaire de Signal Spam.
from mail161.us4.mcsv.net X-Mailer: MailChimp Mailer
MailChimp, un autre partenaire.
from a8-59.smtp-out.amazonses.com
Amazon SES, partenaire classique des spammeurs.
from evo1mta1a97.emstechnology2.net
Le WHOIS du domaine emstechnology2.net nous apprend qu'il appartient à Experian, encore un partenaire Signal Spam.
from oxim15.net
Domaine appartenant à la société OXEMIS, partenaire de l'entreprise Return Path, elle-même membre de Signal Spam.
from pl1kcca.choice-easy.net
Domaine appartenant à la société PKY Services, membre du SNCD (Syndicat National de la Communication Directe), qui est membre-fondateur de Signal Spam.
from smtp584.vtrtyuiu.info
Domaine appartenant à Ediware, signataire d'un accord avec Signal Spam.
Et je pourrais continuer longtemps comme ça… Vous remarquerez que les domaines expéditeurs concernés varient d'un spam à l'autre histoire de contourner les blacklist, un comportement typique des spammeurs.
On constate donc que non seulement Signal Spam est au mieux inutile, ne générant aucune poursuite ou condamnation contre les spammeurs, mais pire elle pourrait servir à ses « partenaires » à apprendre comment déjouer les filtres antispam. En effet l'un des services de Signal Spam, en partenarait avec les fournisseurs de webmail (dont Orange et SFR) est de remonter les IP et domaines les plus signalés. Si on faisait du mauvais esprit on pourrait dire que cela sert aux fournisseurs de spam de changer d'IP quand celles-ci deviennent trop signalées, et ainsi continuer à spammer sans limite.
Je travaille actuellement à la mise en place d'un nouveau serveur de liste noire DNS qui permettra de bloquer les mails provenant de ces entreprises qui envoient du spam « légal ». Il sera assorti d'un répertoire de règles SpamAssassin permettant un filtrage plus fin.
En attendant je vous propose quelques règles pour SpamAssassin qui bloqueront la plupart de ces messages, à mettre dans votre /etc/spamassassin/local.cf.
header __LR_LEGALSPAM_1 exists:X-EMV-CampagneId header __LR_LEGALSPAM_2 exists:X-Mw-Campaign-Uid header __LR_LEGALSPAM_3 exists:X-campaign-id header __LR_LEGALSPAM_4 exists:X-campaign_id header __LR_LEGALSPAM_5 exists:X-uid-id-m header __LR_LEGALSPAM_6 exists:X-Mailin-Client header __LR_LEGALSPAM_7 exists:X-rpcampaign header __LR_LEGALSPAM_8 exists:X-Campaign header __LR_LEGALSPAM_9 exists:X-MC-User header __LR_LEGALSPAM_10 exists:X-eCircle-Complaints meta LR_LEGALSPAM_HEADER (__LR_LEGALSPAM_1 || __LR_LEGALSPAM_2 || __LR_LEGALSPAM_3 || __LR_LEGALSPAM_4 || __LR_LEGALSPAM_5 || __LR_LEGALSPAM_6 || __LR_LEGALSPAM_7 || __LR_LEGALSPAM_8 || __LR_LEGALSPAM_9 || __LR_LEGALSPAM_10) describe LR_LEGALSPAM_HEADER "Legal" spam (emailing) score LR_LEGALSPAM_HEADER 4.0 header LR_AMAZON exists:X-SES-Outgoing describe LR_AMAZON Sent from Amazon spam network score LR_AMAZON 0.5 header LR_SUSPECT_MAILER X-Mailer =~ /(PHPMailer|php|mailing)/i describe LR_SUSPECT_MAILER Suspect mailer agent score LR_SUSPECT_MAILER 0.5 header LR_LEGALSPAM_MAILER X-Mailer =~ /(delosmail|cabestan|ems|mp6|wamailer|eMailink|Accucast|Benchmail|ACEM|Sendinblue|Streamsend|Edatis|Mailchimp)/i describe LR_LEGALSPAM_MAILER Mailer agent often used by "legal" spammers. score LR_LEGALSPAM_MAILER 4.0 header LR_CSA_SENDER exists:X-CSA-Complaints describe LR_CSA_SENDER Certified Senders Alliance (mostly spam) score LR_CSA_SENDER 0.5
Je conseille de compléter également avec les règles fournies par SaphirTech qui bloquent aussi pas mal de spams français.
";s:7:"dateiso";s:15:"20141219_023100";}s:15:"20141218_152700";a:7:{s:5:"title";s:56:"Chinese sellers using fake tracking numbers and websites";s:4:"link";s:71:"//bohwaz.net/p/Chinese-sellers-using-fake-tracking-numbers-and-websites";s:4:"guid";s:71:"//bohwaz.net/p/Chinese-sellers-using-fake-tracking-numbers-and-websites";s:7:"pubDate";s:25:"2014-12-18T15:27:00+01:00";s:11:"description";s:0:"";s:7:"content";s:3470:"AliExpress and eBay are the largest online stores, and you can basically buy anything at a cheap price from the sellers registered on these websites. That's thanks to Chinese Post really (REALLY) cheap parcel prices for small items. You can just order some small gadget for less than €1, shipping costs included, when just sending a postcard to your grandma living 10 kms from you will cost you more in stamps.
There is a belief that buying on those websites is dangerous. Like maybe you pay and the product is of bad quality (well yes sometimes, for the price don't expect the top quality stuff), or you don't even get the product at all, or the warranty service is non-existent. In my experience the sellers on eBay and AliExpress are really helpful, and they will refund you if you don't get the package after some time, or if the product breaks, no questions asked and no need to send the product back (as it would cost more than the product price!). This is a much better experience than having to deal with a European customer service, which often requires to send back the product to another country, at your own cost (with Sandisk you have to send the product back to Czech Republic, it costs around €10, and after 4 to 8 weeks you get a new product, that's a shitty service).
But sometimes the Chinese sellers are trying to earn some more money (not that I would blame them). AliExpress require sellers to send their parcels with a tracking number. But sending an untracked parcel is a bit less expensive. So what some sellers do? They send an untracked parcel and provide you with a fake tracking number and a fake tracking website. The website will show some dates and events which may appear to be kind of realistic. This is one recent example:
Shipping To - DIJON Shipping From - SZ, China 2014-11-15, 2014-11-15, Acceptance, CHINA 2014-11-18, Export of international mail, China 2014-11-23, Processing, left China 2014-11-24, Import of international mail 2014-11-27, Handed to customs 2014-11-29, Customs clearance completed 2014-12-04, Processing,, BourgogneSorting
You might think at first "Oh, my home town is mentioned and the package actually is moving, fine I just have to wait some more."
Well yes but all of this is fake. The website (ws-shipping.com) is completely empty, except for a field to enter the tracking number, and was registered on march 2014. There is no privacy policy, no information on the company or anything else. The tracking history may seem to be legit, but if you come back often you will see that it is appearing at some pre-determined intervals depending on the destination country.
The website actually knows how long an untracked parcel may take to get to this country, and fills in the gap with fake tracking history. That's clever really, as is the idea to include the destination address in the history. But it still is a complete fake tracking history that does not provide any real information whatsoever.
It doesn't mean your order won't be arriving or that it wasn't sent, it just means it is untracked. So don't trust this website (but there are others), and if the parcel never arrives you'll have to open a dispute on AliExpress or eBay to get your money back.
";s:7:"dateiso";s:15:"20141218_152700";}s:15:"20141213_043200";a:7:{s:5:"title";s:32:"Convert comics to read on Kindle";s:4:"link";s:47:"//bohwaz.net/p/Convert-comics-to-read-on-Kindle";s:4:"guid";s:47:"//bohwaz.net/p/Convert-comics-to-read-on-Kindle";s:7:"pubDate";s:25:"2014-12-13T04:32:00+01:00";s:11:"description";s:0:"";s:7:"content";s:1395:"Kindles can actually read comic books, and it works with the alternative Duokan firmware too (awesome piece of software, you should use it). You just have to rename the CBZ files to ZIP. But sometimes the pictures might not be in the right orientation, as they would be easier to read in landscape instead of portrait, and files are heavy with high resolution images we don't actually need on the Kindle screen.
So here is a short and useful script to convert a CBZ, ZIP or CBR comic file to a Kindle-compliant ZIP file: cbz2kindle.sh
Usage is easy:
$ cbz2kindle.sh My_Comic.cbr Unraring... Resizing, trimming and converting images... ............................ OK Re-zipping to My_Comic.kindle.zip...
You will need imagemagick, unzip and rar (part of the Debian non-free archive) to make this work.
The script is actually converting JPEG files to PNG while rotating them to fit best, resizing to 800x600 and converting to a 16 levels grayscale image.
Its works quite well with some comics, and the size is small (around 25MB for a 300 pages comic book). But some comics are intended for a larger format and the text is hard to read sadly. We really need a 12"-something color e-ink e-reader really. Where is it?!
";s:7:"dateiso";s:15:"20141213_043200";}s:15:"20141211_045915";a:7:{s:5:"title";s:66:"What does 'E' and 'K' mean for a Shimano bottom bracket cartridge?";s:4:"link";s:81:"http://bohwaz.net/p/What-does-E-and-K-mean-for-a-Shimano-bottom-bracket-cartridge";s:4:"guid";s:81:"http://bohwaz.net/p/What-does-E-and-K-mean-for-a-Shimano-bottom-bracket-cartridge";s:7:"pubDate";s:25:"2014-12-11T04:59:15+01:00";s:11:"description";s:0:"";s:7:"content";s:1016:"It is for accessories that mounts on the bottom bracket:
"E" means you can install an "E-type" front derailleur which is an uncommon kind. Wikipedia explains it like this: "This type front derailleurs do not clamp around the frame's seat tube, but instead are attached to the frame by a plate mounted under the drive side bottom bracket cup and a screw threaded into a boss on the seat tube. These derailleurs are usually found on mountain bikes with rear suspension components that do not allow space for a normal derailleur's clamp to go around the seat tube."
"K" means you can install a chain case.
"EK" means you can have both "E-type" front derailleur and chain case.
That's all!
";s:7:"dateiso";s:15:"20141211_045915";}s:15:"20141211_045900";a:7:{s:5:"title";s:66:"What does 'E' and 'K' mean for a Shimano bottom bracket cartridge?";s:4:"link";s:76:"//bohwaz.net/p/What-does-E-and-K-mean-for-a-Shimano-bottom-bracket-cartridge";s:4:"guid";s:76:"//bohwaz.net/p/What-does-E-and-K-mean-for-a-Shimano-bottom-bracket-cartridge";s:7:"pubDate";s:25:"2014-12-11T04:59:00+01:00";s:11:"description";s:0:"";s:7:"content";s:1006:"It is for accessories that mounts on the bottom bracket:
"E" means you can install an "E-type" front derailleur which is an uncommon kind. Wikipedia explains it like this: "This type front derailleurs do not clamp around the frame's seat tube, but instead are attached to the frame by a plate mounted under the drive side bottom bracket cup and a screw threaded into a boss on the seat tube. These derailleurs are usually found on mountain bikes with rear suspension components that do not allow space for a normal derailleur's clamp to go around the seat tube."
"K" means you can install a chain case.
"EK" means you can have both "E-type" front derailleur and chain case.
That's all!
";s:7:"dateiso";s:15:"20141211_045900";}s:15:"20141211_044323";a:7:{s:5:"title";s:9:"Bicyvélo";s:4:"link";s:24:"//bohwaz.net/p/Bicyvélo";s:4:"guid";s:24:"//bohwaz.net/p/Bicyvélo";s:7:"pubDate";s:25:"2014-12-11T04:43:23+01:00";s:11:"description";s:0:"";s:7:"content";s:65:"Anything on bicycles.
";s:7:"dateiso";s:15:"20141211_044323";}s:15:"20141207_195700";a:7:{s:5:"title";s:91:"Partager une imprimante en réseau avec une BBox, une Livebox, ou Box B&You (Debian/Ubuntu)";s:4:"link";s:104:"//bohwaz.net/p/Partager-une-imprimante-en-réseau-avec-une-BBox-une-Livebox-ou-Box-B-You-(Debian-Ubuntu)";s:4:"guid";s:104:"//bohwaz.net/p/Partager-une-imprimante-en-réseau-avec-une-BBox-une-Livebox-ou-Box-B-You-(Debian-Ubuntu)";s:7:"pubDate";s:25:"2014-12-07T19:57:00+01:00";s:11:"description";s:0:"";s:7:"content";s:868:"Comme je l'ai mentionné précédemment, les claviers virtuels des banques ne servent à rien.
Voici à titre d'exemple un script très simple qui supprime le clavier virtuel du formulaire de connexion Hello Bank pour le remplacer par un simple champ de type mot de passe : hellobank.user.js
";s:7:"dateiso";s:15:"20141120_190739";}s:15:"20141119_041246";a:7:{s:5:"title";s:74:"L'illusion de la fausse sécurité : les banques françaises ont tout faux";s:4:"link";s:92:"http://bohwaz.net/p/L-illusion-de-la-fausse-sécurité-les-banques-françaises-ont-tout-faux";s:4:"guid";s:92:"http://bohwaz.net/p/L-illusion-de-la-fausse-sécurité-les-banques-françaises-ont-tout-faux";s:7:"pubDate";s:25:"2014-11-19T04:12:46+01:00";s:11:"description";s:0:"";s:7:"content";s:11331:"Quand on a une expérience dans la sécurité informatique, il ne passe pas un jour sans que l'on soit horrifié par le manque de sécurité de ce que l'on peut rencontrer au quotidien, et encore plus des éléments les plus importants. Un exemple criant sont les banques. Malgré ce qu'elles veulent vous faire penser, non seulement leurs sites sont parfois des passoires pleines de failles, mais plus grave ce sont les procédures de sécurité qu'elles conçoivent qui sont dépourvues de la moindre réflexion. Ces entreprises ont-elles un jour consulté un expert en sécurité, ou même ne serait-ce qu'une personne un peu intelligente ? On peut en douter, et on va voir qu'elles feraient mieux d'embaucher des gens compétents le plus vite possible.
La plupart des banques de nos jours sécurisent l'accès aux comptes de leurs clients à l'aide de plusieurs techniques.
Déjà il y a le paiement par carte bleue, qui a maintenant une procédure dite « sécurisée ». En réalité dans le meilleur des cas la banque vous enverra un SMS avec un code à usage unique qu'il vous faudra retaper sur le site. Au pire des cas le site de paiement vous demandera… votre date de naissance. Inutile de dire que si vous vous faites voler votre portefeuille, celui-ci contiendra sans aucun doute une carte d'identité, passeport ou carte Vitale qui fournira ladite date de naissance. Et même sans se faire voler son portefeuille, on ne peut pas dire que ce soit une information particulièrement secrète : elle figure sur votre compte facebook, sur votre CV, sur les dizaines de formulaires que vous remplissez chaque année, etc. Bref il n'y a aucune raison valable d'utiliser la date de naissance pour valider une transaction, cela ne prouve en rien que c'est bien vous, et c'est ridicule. Et même si la banque vous demande de confirmer la transaction par SMS, je vous laisse imaginer l'utilité de la manœuvre si vous vous faites voler portefeuille et téléphone en même temps. Sans même mentionner les risques qu'une application installée sur votre smartphone transmette tous vos SMS à un attaquant (vous savez le fameux jeu que vous avez utilisé 2 minutes qui demande à lire vos SMS ? Et bien il transmet tous vos SMS à un serveur distant.).
La seconde sécurité est la confirmation des opérations effectuées sur le site de la banque. Par exemple pour réaliser un virement ou ajouter un bénéficiaire de virement. C'est la même méthode que précédemment, avec un SMS contenant un code unique à retaper sur le site web. Et donc avec les même risques. Certaines banques ne demandent d'ailleurs que de ré-entrer son mot de passe, ce qui n'est pas non plus beaucoup mieux. Mais rassurez-vous, certaines banques exigent encore de leur envoyer un courrier papier pour ajouter un bénéficiaire. Et si, c'est possible, même en 2014. Visiblement ces banques pensent que falsifier une signature est plus difficile qu'intercepter un SMS. Laissez-moi rire. Si au moins ces banques vérifiaient les signatures d'ailleurs. Je vous laisse tenter l'expérience, la prochaine fois que votre banque requiert votre signature, de griffonner n'importe quoi. Vous serez surpris de constater que ça passe toujours. La logique est simple : vérifier ça prend du temps, donc ça coûte cher, donc ce n'est pas fait. Ça coûte moins cher de traiter les réclamations avec les clients qui se font abuser.
Enfin, certaines banques sont tellement incompétentes qu'après avoir mis en place l'ajout de bénéficiaire de virement par Internet, elles font marche arrière au prétexte pour revenir au papier, en prétextant que cela a occasionné des tentatives de fraudes. Sérieusement. « OK les gars on n'est pas doués pour sécuriser nos opérations en ligne, on va revenir aux opérations physiques, c'est la même merde mais au moins on a l'habitude. » Ah, ça bosse dur là-bas dites donc.
On pourrait se dire que logiquement que quand même c'est mieux dans le cas des virements d'avoir une confirmation par e-mail, car si on peut se faire voler son téléphone, on ne peut pas nous voler notre code client et mot de passe, donc pas d'accès aux comptes. Mais non, c'est la même chose, car l'accès aux comptes est lui-même complètement déficient à tous les points de vue. Et pour combler leur incompétence crasse, les banques essayent de vous faire croire qu'elles maîtrisent en vous montrant de jolies choses, et par exemple les claviers virtuels.
Commençons par le plus gros problème des banques françaises : la quasi-totalité d'entre elles donnent un mot de passe qui n'en est pas un. Ce n'est pas un mot, c'est un code. Le plus souvent à 6 chiffres seulement. Quand ce n'est pas 4 chiffres ! C'est ridicule, cela ne permet pas de choisir un mot de passe de qualité, et la plupart des gens utilisent leur date de naissance ou de mariage. L'identifiant ne vaut pas mieux, c'est souvent simplement le numéro du compte ou du client.
Il y a eu à une époque une psychose sur les keyloggers sous Windows qui enregistreraient les identifiants bancaires. Depuis cette époque toutes les banques ont réalisé que leur système d'authentification n'était pas sécurisé du tout. Mais au lieu de passer à quelque chose d'un peu plus sérieux comme du two-factor par exemple, elles ont simplement rajouté une horrible rustine sur le tout. Cette rustine c'est le clavier virtuel. Mais si vous en avez déjà vu : ce sont ces fameux claviers numériques où il faut cliquer sur les chiffres plutôt que de les taper au clavier. Les keyloggers ne peuvent donc plus enregistrer les touches tapées au clavier.
Niveau expérience utilisateur c'est une catastrophe : non seulement ces claviers sont inutilisables par les non-voyants ou mal-voyants, mais ils sont une véritable plaie à utiliser sur mobile où il est quasiment impossible de rentrer le code d'accès correctement dès le premier essai. Enfin on ne peut plus utiliser le gestionnaire de mots de passe de son navigateur ou OS, qui est probablement bien plus sécurisé que le site de la banque, et on doit donc perdre du temps à retaper son code d'accès à chaque connexion.
Enfin niveau sécurité, si le keylogger ne peut plus enregistrer votre frappe au clavier, n'importe qui jetant un œil sur votre écran (dans un cybercafé, au travail, sur son mobile dans les transports en commun) saura non seulement votre identifiant qui est affiché en clair, mais aussi votre code d'accès en regardant les mouvements de votre curseur de souris.
Et vous ne savez pas le pire ? En à peine quelques semaines, de nouveaux keyloggers sont apparus. Ceux-ci enregistrent donc maintenant également les clics de souris. Certains font de la reconnaissance de caractère pour décoder le chiffre que vous cliquez, mais d'autres vont au plus simple : ils enregistrent une capture d'écran de la zone de l'écran qui entoure le curseur au moment du clic.
Autrement dit, le gain en sécurité de ces claviers est simplement nul. Les seuls qui sont emmerdés sont les clients. Leur seule utilité est marketing : elle veut montrer aux clients que leur sécurité est en de bonnes mains. Tout comme au siècle précédent les banques devaient avoir de beaux bâtiments imposants, avec du marbre et de grands espaces. Tout cela pour que les clients aient confiance et mettent leur argent dans les banques, en ayant l'impression que la banque était riche et pouvait rembourser les avoirs déposés. Mais tout cela n'est que du bluff. Tout comme les banques ne sauraient rembourser les avoirs qui leur ont été confiées, elles sont incapable de garantir la sécurité de vos comptes.
Par curiosité j'ai analysé le code des claviers virtuels de plusieurs banques françaises, et je dois dire que c'est encore pire que ce que je pensais. Dans une très large majorité des cas le principe est très simple : une image contenant le clavier (le tableau avec les chiffres) est affichée, et quand on envoie le formulaire on envoie en réalité la position du clic. Parfois la position est de type coordonnées X/Y dans l'image, parfois c'est un chiffre qui reprend l'affichage des chiffres du clavier.
Dans tous les cas j'ai réussi à créer un court script qui détermine le chiffre cliqué et permet de retrouver le code d'accès entré. En quelques dizaines de minutes seulement. Et comme toutes les banques fonctionnent de façon similaire, il est très rapide de faire un script qui permettrait de décoder directement les chiffres cliqués. Pas besoin de keylogger, il suffirait d'une extension Firefox ou Chrome compromise… Et quand on sait l'absence de vérification sérieuse des actions et du code des extensions publiées sur les magasins d'extension de ces deux navigateurs, il y a de quoi sérieusement s'inquiéter.
Et si seulement le tableau s'arrêtait là… Mais en réalité il n'y a pas une procédure pour rattraper l'autre. Car si un attaquant ne s'attaque pas à votre machine pour récupérer votre code, il peut souvent générer un nouveau code d'accès via la procédure de « code perdu » qui n'est pas plus sécurisée. Souvent il suffit de la date de naissance, du numéro de téléphone, et éventuellement d'une autre information personnelle disponible sur votre carte d'identité comme le lieu de naissance ou l'adresse postale, et après un SMS de confirmation vous pourrez changer le code d'accès aux comptes du client. Certaines banques renvoient le code secret par courrier seulement, car comme on l'a vu, le courrier papier est la forme de communication la plus sécurisée qui soit…
Mention spéciale à certaines banques qui à cette occasion vous proposent (case pré-cochée) de recevoir du spam par email et SMS. Normal.
En conclusion je recommande de ne pas utiliser les claviers virtuels quand c'est possible (certaines banques permettent de le désactiver, mais parfois il faut utiliser un script GreaseMonkey) : ils n'apportent aucune amélioration notable de sécurité et emmerdent plus qu'autre chose. Si vous êtes réellement concerné par la sécurité de vos comptes en ligne, je vous invite à contacter votre banque afin de lui suggérer de mettre en place un système d'authentification réellement sécurisé. Il est incroyable que de nos jours l'accès au compte bancaire soit moins sécurisé que l'accès au compte Gmail !
";s:7:"dateiso";s:15:"20141119_041246";}s:15:"20141028_180200";a:7:{s:5:"title";s:47:"Cartes topographiques OpenStreetMap sur Android";s:4:"link";s:67:"http://bohwaz.net/p/Cartes-topographiques-OpenStreetMap-sur-Android";s:4:"guid";s:67:"http://bohwaz.net/p/Cartes-topographiques-OpenStreetMap-sur-Android";s:7:"pubDate";s:25:"2014-10-28T18:02:00+01:00";s:11:"description";s:0:"";s:7:"content";s:5145:"Si la Nouvelle-Zélande propose l'intégralité de sa cartographie en licence Creative Commons, dans les autres pays du monde on en est bien loin encore. Et notamment en France où l'IGN passe son temps à dilapider l'argent public en envoyant ses salariés faire la morale sur les forums de randonnée et vélo quand quelques utilisateurs donnent des astuces pour pouvoir récupérer les cartes du site GéoPortail sur son smartphone ou GPS. Tout ça pour des cartes de mauvaise qualité, souvent fausses depuis des années. Bon c'est un choix. Un choix stupide.
Donc en attendant que la France et les autres pays du monde réalisent qu'on est au XXIe siècle on peut toujours compter sur l'extraordinaire projet OpenStreetMap et ses merveilleux contributeurs (dont votre serviteur).
Mobile Atlas Creator (MOBAC pour les intimes, paquet mobile-atlas-creator dans Debian depuis Wheezy) est un petit logiciel (en Java hélas) qui permet de sélectionner une zone depuis une carte « en tuiles » en ligne et l'exporter en de multiples formats pour des nombreux logiciels, et même en PDF pour l'imprimer sur du papier. Il est fourni par défaut avec la configuration pour les différentes couches OSM et il est possible de le configurer pour qu'il gère aussi les cartes GéoPortail.
Sur Android le meilleur logiciel libre pour faire de la navigation avec OSM est le bien-nommé OsmAnd, ça marche pas mal, même si comme la plupart des logiciels Android (je vous reparlerais à l'occasion de l'horreur que représentent 99% des applications Android) il semble envoyer des données sur des serveurs distants sans vous en demander l'autorisation. Je vous conseille de l'installer en utilisant le magasin d'applications libres F-Droid, une bonne alternative à ce mouchard de Google Play Store.
OsmAnd permet de télécharger directement depuis l'application la cartographie vectorielle du monde entier (par pays ou région), ainsi que les courbes de niveau, des voix pour la navigation, etc. La navigation fonctionne correctement, même si c'est moins fiable que Nokia HERE. L'interface est par contre assez obscure, rien que rechercher une adresse est compliqué, il n'y a pas vraiment de champ texte libre où on peut rentrer ce qu'on veut. Pour la rando on peut visualiser la carte, mais ce n'est pas vraiment le plus adapté.
Poursuivons avec un logiciel qui n'est pas libre, mais qui est gratuit et qui ne contient pas de publicité. Il s'agit du véritable couteau-suisse de la cartographie sur Android : OruxMaps. Non content de permettre de visualiser des cartes à tuile en ligne depuis OSM et autres Google Maps (et de les télécharger directement pour un usage hors-ligne) il sait aussi lire de nombreux formats de fichiers cartographiques pour une utilisation hors ligne. Ça va du format OZF2 (utilisé par OziExplorer sous Windows), aux cartes fournies avec les GPS de marque Garmin jusqu'aux cartes vectorielles au format MapsForge. Ce dernier est particulièrement utilisé pour les cartes OpenStreetMap.
On peut ainsi télécharger des cartes OSM du monde entier au format vectoriel depuis le site OpenAndroMaps. Ces cartes incluent les courbes de niveaux sans rien avoir à faire de plus. Je conseille d'utiliser avec ces cartes le thème Elevate proposé sur le même site. Cela donne des cartes très claires et agréables à lire, sans compter l'utilité des sous-thèmes. Par exemple le sous-thème "Cycling" va afficher de manière plus visible les pistes cyclables et les itinéraires VTT (en orange). C'est franchement excellent.
Mais OruxMaps ne s'arrête pas là, il permet aussi de voir les cartes en 3D, de créer et afficher des itinéraires (GPX, KML et KMZ), mesurer la distance à vol d'oiseau entre deux points sur la carte, enregistrer et voir des POI, et encore des tonnes d'autres fonctions sans compter la possibilité de personnaliser l'intégralité de l'interface. Bref c'est à mon sens le meilleur logiciel pour visualiser et exploiter des cartes à pied, en vélo ou autre. L'interface est un peu austère et tarabiscotée au premier abord mais une fois qu'on a suivi un tuto c'est tout de suite plus simple.
";s:7:"dateiso";s:15:"20141028_180200";}s:15:"20141021_152113";a:7:{s:5:"title";s:8:"Rando-do";s:4:"link";s:28:"http://bohwaz.net/p/Rando-do";s:4:"guid";s:28:"http://bohwaz.net/p/Rando-do";s:7:"pubDate";s:25:"2014-10-21T15:21:13+02:00";s:11:"description";s:0:"";s:7:"content";s:55:"Randonnée.
";s:7:"dateiso";s:15:"20141021_152113";}s:15:"20141021_152100";a:7:{s:5:"title";s:23:"Lampe LED USB 3 grammes";s:4:"link";s:43:"http://bohwaz.net/p/Lampe-LED-USB-3-grammes";s:4:"guid";s:43:"http://bohwaz.net/p/Lampe-LED-USB-3-grammes";s:7:"pubDate";s:25:"2014-10-21T15:21:00+02:00";s:11:"description";s:0:"";s:7:"content";s:3096:"Si vous vous baladez déjà avec un panneau solaire et une batterie rechargeable USB, ou un smartphone qui permet l'USB OTG, voici une petite lampe à LED qui se branche en USB.
Poids : 3 grammes. Dispo sur ebay pour ~1,50 € l'unité.
Ça se présente sous la forme d'une petite clé USB nue (pas de plastique protecteur, juste une carte avec les composants). D'un côté les composants et les LED, de l'autre une surface plate qui sert de bouton tactile. Il y a un trou pour attacher une lanière / porte-clé. La clé peut être inséré dans les deux sens dans une prise USB (mais pourquoi est-ce que c'est pas pareil avec toutes les prises USB ?!).
Une fois branchée elle ne s'allume pas, il faut appuyer une fois sur le bouton tactile pour qu'elle s'allume. Un nouvel appui court sur le bouton et la lumière s'éteint progressivement. Quand les LED sont allumées un appui long permet de réduire l'intensité, puis un nouvel appui long permet d'augmenter. Ainsi on choisit assez finement l'intensité de la lumière. L'intensité maximale est très puissante, je déconseille de regarder directement les LED. Le faisceau est large, un peu comme le flash de l'appareil photo d'un téléphone portable (forcément y'a pas de lentille). Tant que la clé reste branchée elle mémorise le dernier réglage d'intensité, donc quand on la rallume c'est à la dernière intensité qu'on a utilisé. Si on débranche la clé elle oublie l'intensité choisie et se remet au max au prochain rallumage.
L'électronique semble de bonne qualité à première vue, ça semble assez solide, les LED chauffent légèrement à puissance maximale mais rien de bien méchant, aucun risque de se brûler en touchant directement les LED. Enfin si on veut un peu protéger le circuit des projections d'eau on peut entourer la clé de scotch : le bouton tactile fonctionne toujours avec plusieurs épaisseurs de scotch.
Au maximum la clé consomme environ 150 mA et à l'intensité minimale (suffisante pour lire de nuit) moins de 10 mA, donc entre 14 heures et 220 heures d'autonomie sur une batterie-tampon 2200 mAh en théorie. Entre 70 et plus de 1000 heures sur une batterie-tampon de 10400 mAh !
La clé fonctionne même avec un faible voltage : sur un panneau solaire sous les nuages, qui ne génère que 3 volts, les LED s'allument à l'intensité minimale. Du coup ça fonctionne aussi avec un smartphone en USB OTG.
";s:7:"dateiso";s:15:"20141021_152100";}s:15:"20141019_233700";a:7:{s:5:"title";s:21:"Shall we fork Debian?";s:4:"link";s:40:"http://bohwaz.net/p/Shall-we-fork-Debian";s:4:"guid";s:40:"http://bohwaz.net/p/Shall-we-fork-Debian";s:7:"pubDate";s:25:"2014-10-19T23:37:00+02:00";s:11:"description";s:0:"";s:7:"content";s:648:"I have to totally agree with the Shall we fork Debian? initiative. I don't like Systemd and I won't use it unless I'm forced to, but I would really like to keep something simple like sysvinit, or something better but still that simple and KISS. I can't understand why everybody is trying to push something like systemd which is quite controversial and disliked by many users, what's the use in creating yet another flamewar between the pro-systemd and the anti-systemd when you could just let both live side by side? I just don't get it.
";s:7:"dateiso";s:15:"20141019_233700";}s:15:"20141017_040500";a:7:{s:5:"title";s:76:"Qalc, la calculatrice en ligne de commande qui tue des licornes unijambistes";s:4:"link";s:95:"http://bohwaz.net/p/Qalc-la-calculatrice-en-ligne-de-commande-qui-tue-des-licornes-unijambistes";s:4:"guid";s:95:"http://bohwaz.net/p/Qalc-la-calculatrice-en-ligne-de-commande-qui-tue-des-licornes-unijambistes";s:7:"pubDate";s:25:"2014-10-17T04:05:00+02:00";s:11:"description";s:0:"";s:7:"content";s:3299:"Oui tout à fait, Qalc est si bien que ça. Qalc est la version CLI de Qalculate, une calculatrice de bureau bourrée de fonctions très utiles. Et en CLI c'est encore mieux. Un exemple pour calculer le prix TTC d'un produit à 42 € mais en dollars australiens :
> 0x2A*120% € = x AUD (42 * (120 * procent) * euro) = (x * AUD) = x = 72.21816
Et oui, qalc ne fait pas que des calculs mathématiques, il sait aussi convertir les devises (ne pas oublier de mettre à jour les taux de change en tapant taux d'échange dans son invite de commande), les unités (poids, taille, et même par exemple km/h etc.), l'hexadécimal, le binaire, et peut aussi utiliser des fonctions (if, for, matrix, vector, sin(), etc.), faire des stats, des tableaux, des graphiques, etc.
Une utilisation courante pour convertir les unités anglaises à la con :
> 5.8 oz = x g (5.8 * ounce) = (x * gram) = approx. x = 164.42723 > 60 mi/h = x km/h ((60 * mile) / hour) = ((x * kilometer) / hour) = x = 96.56064 > 5 ft + 2 in = x cm ((5 * foot) + (2 * inch)) = (x * centimeter) = x = 157.48
On peut même jouer avec les dates et durées, par exemple le nombre de semaines en 28 jours et le nombre de jours entre deux dates :
> 28 days = x weeks (28 * day) = (x * week) = x = 4 > days(2014-08-01, 2015-01-01) days("2014-08-01", "2015-01-01", 1, 0) = 153
Ou faire un peu de géométrie, comme calculer la circonférence d'une roue de vélo de 28 pouces, mais en centimètres :
> circumference(28/2 in) = x cm circumference((28 / 2) * inch) = (x * centimeter) = approx. x = 223.43007
(La division par deux vient du fait que 28 pouces est le diamètre, mais la circonférence se calcule avec le rayon.)
Un peu de stats en trouvant la valeur médiane d'une suite de prix de diverses devises ? Rien de plus simple !
> median(43 €, 27 €, 4 $, 124 SEK, 43 AUD) median([43 * euro, 27 * euro, 4 * dollar, 124 * SEK, 43 * AUD]) = EUR 27
Une dernière pour la route, votre indice de masse corporelle (IMC, ou BMI en anglais pour Body-Mass Index) :
> bmi(58 kg, 170 cm) bmi(58 * kilogram, 170 * centimeter) = approx. 20.069204
Et si je vous dis qu'il sait aussi comprendre les ampères, volts, calories, joules, newtons, octets, lux et autres centaines d'unités diverses et variées ? Franchement c'est pas magique ce petit programme ? N'attendez plus et faites tout de suite un beau apt-get install qalc !
Si vous voulez la doc il faut hélas installer le paquet GTK qalculate-gtk
et lancer qalculate et aller dans le menu aide, il n'existe pas de doc complète des fonctions pour la version ligne de commande, hélas, mais ça ne doit pas vous freiner à utiliser qalc qui est très simple à utiliser, la plupart du temps il suffit quasiment de lui parler en langage courant et il comprend !
Préparation : ~25 minutes
Repos : ~2 heures
Cuisson : 10-11 minutes
Pour 4 à 8 personnes :
Casser le chocolat (aucune différence entre du chocolat de ménage ou du chocolat pâtissier) en carrés dans un bol, ajouter le beurre et faire fondre au micro-onde (ou au bain-marie). Bien mélanger pour obtenir une pâte homogène.
Dans un saladier mélanger les œufs, le sucre en poudre et le sucre vanillé.
Verser le mélange chocolat/beurre dans le saladier, bien mélanger.
Ajouter la farine, la levure et le seul et mélanger pour obtenir une pâte homogène.
Placer le saladier au réfrigérateur au moins 2 heures. Cela permet à la pâte de se refroidir et durcir. Si vous sautez cette étape vous ne pourrez pas former les petites boules de pâte ensuite. Si vous êtes à la bourre vous pouvez tenter le congélateur ou le freezer en surveillant bien la consistance de la pâte, faudrait pas qu'elle se transforme en bloc de glace non plus.
Deux heures plus tard : préchauffez le four à 180°C. Sortez la pâte du frigo, formez des boules de pâte de la taille d'une noix (approximativement).
Versez le sucre glace dans un bol et roulez-y les boules pour qu'elles soient recouvertes de sucre glace.
Placez les boules sur une plaque recouverte de papier sulfurisé (attention à ne pas trop les coller, elles gonflent un peu lors de la cuisson), enfournez à mi-hauteur dans le four pendant 10 à 11 minutes mais pas plus.
À la sortie du four placez les crinkles sur du papier absorbant (sopalin), surtout si vous les mettez dans une boîte pour emmener, sinon ils vont se ramollir avec l'humidité qu'ils relâchent en se refroidissant.
";s:7:"dateiso";s:15:"20141014_161800";}s:15:"20141014_160417";a:7:{s:5:"title";s:39:"Kangourou dans sa sauce aux champignons";s:4:"link";s:59:"http://bohwaz.net/p/Kangourou-dans-sa-sauce-aux-champignons";s:4:"guid";s:59:"http://bohwaz.net/p/Kangourou-dans-sa-sauce-aux-champignons";s:7:"pubDate";s:25:"2014-10-14T16:04:17+02:00";s:11:"description";s:0:"";s:7:"content";s:1676:"Ingrédients pour 2 :
Découper le filet de kangourou en petits morceaux, hacher l’oignon et émincer les champignons.
Faire revenir l’oignon doucement dans une poêle jusqu’à ce qu’il brunisse légèrement. Mettre l’oignon de côté et faire revenir les champignons de la même manière.
Une fois oignon et champignons cuits, nettoyer la poêle ou la remplacer et la mettre sur feu fort. Verser quelques gouttes d’huile — le kangourou étant très peu gras il risquerait d’accrocher — et attendre que poêle soit bien chaude pour déposer les morceaux de kangourou. Baisser légèrement le feu et retourner régulièrement.
Juste avant que la viande ne finisse de cuire (environ une minute), ajouter de la crème fraîche, les champignons et l’oignon.
Servir avec du riz, des pâtes ou des légumes.
Attention, contrairement à d’autres viandes le kangourou se consomme mieux saignant, si vous tentez de le faire à point il vous paraîtra trop sec et difficile à mâcher, alors que saignant il sera fondant en bouche.
Le Kangourou est une viande délicieuse, très répandue en Australie et très bon marché. En France il est possible d’en trouver pour les fêtes ou chez certains bouchers spécialisés. C’est une viande de gibier très riche en protéines et très faible en matières grasses.
";s:7:"dateiso";s:15:"20141014_160417";}s:15:"20141014_160145";a:7:{s:5:"title";s:17:"Gâteau au yaourt";s:4:"link";s:37:"http://bohwaz.net/p/Gâteau-au-yaourt";s:4:"guid";s:37:"http://bohwaz.net/p/Gâteau-au-yaourt";s:7:"pubDate";s:25:"2014-10-14T16:01:45+02:00";s:11:"description";s:0:"";s:7:"content";s:1483:"Ingrédients pour 4 à 8 personnes :
Dans un saladier mélanger tous les ingrédients, dans n’importe quel ordre.
Verser la pâte ainsi obtenue dans un moule à gâteau (si non silicone, n’oubliez pas de le beurrer et fariner légèrement pour que le gâteau se détache facilement).
Enfourner à 180°C pendant 25-30 minutes, vérifiez régulièrement où en est la cuisson à l’aide de la pointe d’un couteau, si elle est sèche (et non couverte de pâte non cuite) c’est que c’est bon !
Conseil du chef
C’est une recette très simple et rapide à réaliser qu’il est possible d’agrémenter à tous les goûts.
Ce gâteau est une excellente base qui peut être adaptée à n’importe quel goût, ajouter simplement fruits ou autres éléments à la pâte. Variantes testées avec succès : bananes, banane et morceaux de chocolat, cacao en poudre et cerises, remplacer le sucre par du miel pour un goût « pain d’épice », banane et kiwi, abricot, etc.
";s:7:"dateiso";s:15:"20141014_160145";}s:15:"20141014_155929";a:7:{s:5:"title";s:6:"Miam !";s:4:"link";s:24:"http://bohwaz.net/p/Miam";s:4:"guid";s:24:"http://bohwaz.net/p/Miam";s:7:"pubDate";s:25:"2014-10-14T15:59:29+02:00";s:11:"description";s:0:"";s:7:"content";s:67:"Des recettes à miamer.
";s:7:"dateiso";s:15:"20141014_155929";}s:15:"20141009_041548";a:7:{s:5:"title";s:37:"Navigation GPS sur Android en voiture";s:4:"link";s:57:"http://bohwaz.net/p/Navigation-GPS-sur-Android-en-voiture";s:4:"guid";s:57:"http://bohwaz.net/p/Navigation-GPS-sur-Android-en-voiture";s:7:"pubDate";s:25:"2014-10-09T04:15:48+02:00";s:11:"description";s:0:"";s:7:"content";s:1755:"Petit résumé de mon test des différents logiciels de navigation GPS pour Android en voiture :
- Google Maps : ne fonctionne pas hors ligne, une grosse blague inutile. Pas de cartes.
- Sygic : cher, lent, moche, inefficace et compliqué à utiliser et télécharge de la pub quand on a la data activée sans nous demander notre avis. Cartes chères. Et pourtant c'est souvent celui qu'on retrouve recommandé comme étant le meilleur GPS Android. C'est dire le niveau.
- OSMAnd : assez compliqué à utiliser, mais très complet, le problème c'est les cartes parfois un peu incomplètes (OpenStreetMap oblige) mais bon rien de terrible non plus. Cartes gratuites.
- Mappy Free : application correcte avec cartes hors ligne, mais le fonctionnement est complètement pas fiable, il vous montre parfois des routes qui n'ont rien à voir avec celle sur laquelle vous êtes, et ce pendant des kilomètres, prudence donc. Cartes gratuites et correctes.
- Here Maps : pour le moment en beta. Rien à redire, Nokia font ici ce qu'ils savent faire de mieux : de l'excellente navigation, de super cartes, avec tout ce qu'il faut hors ligne (commerces, facilités, etc.). Ça marche bien, même si c'est moins complet que sur Symbian. Cartes gratuites.
Bref avant Here y'avait rien de potable, mais Here est sensé être réservé aux appareils Samsung pour le moment, même si en pratique ça marche bien ailleurs. Attendons de voir comment réagissent les autres concurrents qui sont à des millénaires derrière…
";s:7:"dateiso";s:15:"20141009_041548";}s:15:"20140927_132159";a:7:{s:5:"title";s:40:"L'amour nomade — La ruelle en chantier";s:4:"link";s:56:"http://bohwaz.net/p/L-amour-nomade-La-ruelle-en-chantier";s:4:"guid";s:56:"http://bohwaz.net/p/L-amour-nomade-La-ruelle-en-chantier";s:7:"pubDate";s:25:"2014-09-27T13:21:59+02:00";s:11:"description";s:0:"";s:7:"content";s:1174:"
J'ai l'amour facile
Le mot doux qui peut glisser
D'un battement de cil
De la main jusqu'au baiser
J'ai le cœur voyageur
Qui se laisse alpaguer
Par un moment, une humeur
Un sourire familier
J'ai l'amour nomade
Qu'ont les jeunes filles en fleur
Qui reviennent malades
De leurs histoires de cœur
J'ai besoin de naufrages
De perdre mes repères
De rentrer à la nage
Me jeter à la mer
À quoi bon jeter l'ancre
Sur une plage sans dune
Décorer ma phalange
Me perdre dans la brume
Moi qui n'ai rien à perdre
Qui ai tout à gagner
J'ai l'amour suicidaire
Au bord de la jetée
(Refrain)
Et le cœur en déroute
Je ne sais plus quoi faire
Je reprends la route
Remballe mes affaires
Qu'importent les départs
Où me mènent mes pas
Je vivrais au hasard
De cartes en immensités
Après le journal photographique j'ai terminé en juin la mise en format livre du récit de voyage en Australie et Nouvelle-Zélande issu du blog oz.journalintime.com. Ce livre de 400 pages (quand même) est disponible à la vente sur Amazon.fr pour 13 €, port compris, toujours via CreateSpace.
Si vous ne souhaitez pas payer (ou en tout cas pas à Amazon) il est aussi possible de le télécharger en PDF taille A5 : Et plus si affinités : un an en Océanie — Journal de voyage (PDF, 7 Mo).
[EDIT] Et aussi au format ebook, par exemple pour votre Kindle : Et plus si affinités : un an en Océanie — Journal de voyage (PDF pour Kindle, 4,5 Mo)
Le livre contient une quinzaine de photos noir et blanc en pleine page, ainsi qu'une carte de chaque région traversée minutieusement dessinée à la main par mes soins. Enfin il contient quelques nouveaux textes qui n'avaient pas été publiés sur le blog au début.
Comme le journal photographique, ce livre est principalement destiné à garder un souvenir et à être offert aux amis et à la famille, ce qui explique le manque de relecture. De ce fait il contient encore de nombreuses fautes, et je tiens à remercier celles et ceux qui malgré cela en ont acheté un exemplaire pour nous soutenir dans nos projets de voyage. Promis dès qu'on a le temps et le courage on s'attaque à une relecture et correction !
Sur le côté publication je reste très satisfait de mon expérience avec CreateSpace et Amazon, qui me permet de recevoir le livre à prix quasiment coûtant pour offrir aux proches, et à pouvoir le vendre sur Amazon de manière simple en choisissant le prix et la marge. Je touche 2 € par exemplaire environ, pour info, soit près de 15%, alors que les auteurs édités en librairie ne touchent que 8%. Et je pourrais évidemment augmenter cette marge en augmentant le prix mais bon le but est d'abord de partager le récit. La qualité est toujours très bonne, et avoir son récit de voyage en vrai livre dans les mains est une expérience très agréable. Je ne pensais pas par contre arriver à 400 pages de texte, pour moi c'est énorme !
La prochaine étape maintenant est citée pas très discrètement en spoiler dans le livre sur la dernière page… je vous en reparle dès que possible.
[EDIT novembre 2014] Le livre a été corrigé (problèmes d'hyphénation et quelques fautes qui restaient), désolé pour les erreurs précédentes.
";s:7:"dateiso";s:15:"20140914_223400";}s:15:"20140909_215600";a:7:{s:5:"title";s:40:"Comparatif des sacs de couchage en duvet";s:4:"link";s:60:"http://bohwaz.net/p/Comparatif-des-sacs-de-couchage-en-duvet";s:4:"guid";s:60:"http://bohwaz.net/p/Comparatif-des-sacs-de-couchage-en-duvet";s:7:"pubDate";s:25:"2014-09-09T21:56:00+02:00";s:11:"description";s:0:"";s:7:"content";s:4336:"Voici maintenant près de 6 mois que j'ai mis en ligne un tableau comparatif des sacs de couchage en duvet à cette adresse : http://bohwaz.net/misc/rando/sacs-de-couchage/
Je suis parti du constat qu'il était très compliqué de s'y retrouver dans la jungle des fabricants, des modèles et des températures, et cela alors que la plupart des sacs de couchage sont vendus à des prix exhorbitants (compter 200-300 € pour un sac dont la température de confort est de 0 à 5°C chez les fabricants les moins chers). En effet si on ne fait que lire les forums qui parlent de randonnée, on devrait tous s'acheter le plus cher et le plus léger. On peut lire notamment que le gonflant du duvet (donné en pouces au cube, ou cuin) est l'élément le plus important. Mais la réalité est plus nuancée.
En observant les données collectées on se rend compte qu'un duvet au gonflant considéré comme médiocre sera tout aussi efficace qu'un duvet d'un meilleur gonflant. On peut par exemple comparer deux sacs, l'un vendu à « bas prix » (200 € tout de même) dans une chaîne de magasins de sport (Intersport), et l'un vendu par un « petit fabricant français » :
Modèle | Prix | Poids | Poids du duvet | Qualité du duvet | Répartition duvet/plumettes | Température confort/limite |
---|---|---|---|---|---|---|
McKinley Kodiak 13 | 200€ | 1,4⋅kg | 800⋅g | 600 cuin | 90/10 | -6°C / -13°C |
Valandré Shocking Blue | 509€ | 1,38⋅kg | 785⋅g | 800 cuin | 95/5 | -5°C / -12°C |
On peut voir qu'un duvet plus de deux fois plus cher (son nom devrait d'ailleurs être « shocking expensive » !), avec le même poids de duvet d'un meilleur gonflant, ne parvient pas à égaler le résultat d'un duvet au gonflant « médiocre ». Je rappelle que la température indiquée provient d'un test réalisé selon la norme EN 13537 pour les deux sacs, et que donc en théorie les conditions du test sont suffisamment similaires pour ne pas voir le résultat varier de plus de 2 ou 3°C.
Les exemples comme celui-ci foisonnent dans le tableau et permettent de se rendre compte qu'investir 200 ou 300 € de plus dans un duvet ne fait gagner que 100 ou 200 grammes sur le poids du duvet, pour un résultat rarement garanti car la plupart des fabricants ne font pas tester leur sac de couchage par un labo indépendant : les températures indiquées peuvent donc être parfaitement fantaisistes.
Pour ma part après mûre réflexion, et un achat un peu précipité avec les soldes, j'en ai conclu qu'acheter un sac de couchage qui vaut plus de 150 € (et déjà à ce prix-là on a du mal à le sortir, avec la peur de le perdre ou de l'abimer) est parfaitement inutile si on ne part pas plusieurs semaines ou mois d'affilée en bivouac chaque année. Et même dans ce cas-là je crois qu'il serait plus juste d'acheter un sac synthétique : beaucoup moins cher et bien plus résistant dans le temps.
De toutes ces recherches et comparaisons je crois qu'au final je ne suis pas convaincu de l'utilité du sac de couchage en duvet, à moins de devenir d'un coup incroyablement riche ou insouciant sur la destinée du matériel que j'achète.
";s:7:"dateiso";s:15:"20140909_215600";}s:15:"20140909_013200";a:7:{s:5:"title";s:59:"First Crossings, série historique sur la Nouvelle-Zélande";s:4:"link";s:78:"http://bohwaz.net/p/First-Crossings-série-historique-sur-la-Nouvelle-Zélande";s:4:"guid";s:78:"http://bohwaz.net/p/First-Crossings-série-historique-sur-la-Nouvelle-Zélande";s:7:"pubDate";s:25:"2014-09-09T01:32:00+02:00";s:11:"description";s:0:"";s:7:"content";s:3249:"First Crossings est une série néo-zélandaise très intéressante où Kevin Biggar et Jamie Fitzgerald retracent les pas des premiers explorateurs et première conquêtes de Nouvelle-Zélande.
Les deux présentateurs ont l'habitude des expéditions : Kevin Biggar, alors qu'il était obèse et passait son temps à regarder la télé à décidé un jour de traverser l'atlantique à la rame. Un an plus tard avec son nouveau camarade James Fitzgerald il gagne la course en rames à travers l'atlantique (4.700 kilomètres). Plus tard ils ont fait une expédition en autonomie pour atteindre le pôle sud à pied (et en revenant en kite ski). Bref c'est pas des randonneurs du dimanche.
À chaque épisode la série aborde l'histoire d'une expédition, et les deux camarades la retracent en utilisant le matériel d'époque, des chaussures à la tente en passant par la nourriture. Ils sont assistés en général d'un cameraman et d'un preneur de son, qu'on voit parfois à l'écran. Contrairement à des séries sensationnalistes comme Man vs. Wild ils ne prennent pas de risques inconsidérés (genre "je suis perdu en haut d'une montagne : vite je vais sauter par dessus cette gorge de 30 mètres de haut pour savoir où je suis"), et on voit souvent qu'ils en chient pas mal.
Les épisodes varient pas mal, ça va de la première ascension d'Edmund Hillary (forcément vu qu'il est néo-zélandais), à de la plongée sous-marine avec du matériel des années 50, ou encore de la spéléo, ou traverser les alpes en suivant l'itinéraire pris par les chercheurs d'or (les premiers à passer par là avant les alpinistes), ou même descendre des rivières sur des coquilles de noix comme l'avaient fait des détenus qui se sont évadés il y a maintenant deux siècles. Il y a également un épisode sur un cartographe (je vous laisse imaginer le matos qu'il fallait embarquer il y a 100 ans pour faire des photos en montagne) et un photographe (idem).
La série est très divertissante, car on voit bien les difficultés rencontrées dans des régions très reculées (avec souvent une météo peu clémente), et le matos très limité de l'époque (genre gravir un sommet enneigé sans crampons…).
Si j'ai réussi à vous intéresser, la mauvaise nouvelle c'est qu'il n'est pas possible de voir cette série en France : les DVD ne sont pas distribués, et le site de la chaîne néo-zélandaise ne permet pas de voir les épisodes. Il ne vous reste donc qu'à chercher une solution moins légale comme BitTorrent, ou à vous rendre en NZ !
Pour vous consoler il y a quelques commentaires et bande-annonces des épisodes sur Youtube.
Il existe aussi un livre du même nom qui reprend en détails les épopées décrites dans les épisodes, mais encore une fois impossible à trouver en dehors de la NZ.
";s:7:"dateiso";s:15:"20140909_013200";}s:15:"20140715_215800";a:7:{s:5:"title";s:67:"Installer un clavier bluetooth en ligne de commande (Debian Wheezy)";s:4:"link";s:87:"http://bohwaz.net/p/Installer-un-clavier-bluetooth-en-ligne-de-commande-(Debian-Wheezy)";s:4:"guid";s:87:"http://bohwaz.net/p/Installer-un-clavier-bluetooth-en-ligne-de-commande-(Debian-Wheezy)";s:7:"pubDate";s:25:"2014-07-15T21:58:00+02:00";s:11:"description";s:0:"";s:7:"content";s:2588:"La procédure que je décris est pour installer un clavier Bluetooth en ligne de commande (CLI) sous Linux, et plus spécifiquement avec Debian Wheezy.
Première étape installer le bluetooth :
$ sudo apt-get install --no-install-recommends bluetooth python-gobject
Le paramètre --no-install-recommends sert surtout pour empêcher apt-get d'installer n'importe quoi comme CUPS par exemple. Et python-gobject est requis par les utilitaires bluetooth (si le paquet n'est pas installé cela produit un message d'erreur : "ImportError: No module named gobject").
Ensuite on va trouver l'adresse MAC de notre clavier. Appuyez sur le bouton "Connect" du clavier et sur le PC entrez :
$ hcitool scan
Le résultat donne :
Scanning ... 6C:5D:63:50:3F:E8 Bluetooth Keyboard
Si rien n'apparaît peut-être que votre dongle Bluetooth est caché, pour corriger vous pouvez lancer :
$ sudo hciconfig hci0 piscan
Maintenant il faut appairer le clavier avec le PC, pour cela tapez :
$ sudo bluez-simple-agent hci0 6C:5D:63:50:3F:E8
Remplacez évidemment l'adresse MAC par celle de votre clavier. L'utilitaire va vous demander d'entrer un code PIN :
RequestPinCode (/org/bluez/14688/hci0/dev_6C_5D_63_50_3F_E8) Enter PIN Code:
Tapez un code (moi j'ai choisi 0000), puis Entrée. Normalement à ce moment-là il ne se passe rien, c'est normal il faut maintenant taper le même code sur le clavier bluetooth, puis Entrée toujours sur le clavier BT. Le terminal devrait maintenant afficher :
Release New device (/org/bluez/14688/hci0/dev_6C_5D_63_50_3F_E8)
C'est bon signe. Maintenant on va indiquer qu'on fait confiance au périphérique pour qu'il se connecte sans autorisation :
$ sudo bluez-test-device trusted 6C:5D:63:50:3F:E8 yes
Enfin on va connecter le clavier comme périphérique d'entrée :
$ sudo bluez-test-input connect 6C:5D:63:50:3F:E8
Et voilà, le clavier devrait fonctionner. Maintenant il devrait être reconnu et actif lors du démarrage du PC.
Source : Wiki Debian
";s:7:"dateiso";s:15:"20140715_215800";}s:15:"20140713_195500";a:7:{s:5:"title";s:48:"Problème de durabilité des produits Sennheiser";s:4:"link";s:68:"http://bohwaz.net/p/Problème-de-durabilité-des-produits-Sennheiser";s:4:"guid";s:68:"http://bohwaz.net/p/Problème-de-durabilité-des-produits-Sennheiser";s:7:"pubDate";s:25:"2014-07-13T19:55:00+02:00";s:11:"description";s:0:"";s:7:"content";s:1319:"J'avais racheté des PX-100 II après le décès des membranes (crachotements) de mes PX-100 premiers du nom. Les PX-100 avaient déjà subi le problème de l'arrachement du mini-jack, j'avais réparé en soudant une nouvelle prise. Sur les PX-100 II j'avais prévu le souci, j'ai protégé le mini-jack avec plusieurs épaisseurs de gaine thermo-rétractable (cf. ici) : ça a bien marché, en 1 an et 10 mois aucun souci à ce niveau. Mais là 2 mois avant la fin de la garantie c'est une des membranes qui est morte : plus de graves du côté gauche, c'est venu progressivement sur la même journée, et ça ne vient pas du câble.
Entre ça et de nombreux autres problèmes de câbles qui s'arrachent et de mousses qui se délitent sur un Sennheiser HD212 Pro, je pense que cela confirme l'extrême fragilité et le manque de sérieux de Sennheiser : aucun casque n'a duré au moins 2 ans sans avoir à bricoler ou renvoyer en garantie. C'est du jetable.
Alors certes la qualité du son vu le prix est bonne, mais s'il faut en racheter un tous les 1 ou 2 ans c'est beaucoup moins rentable... Dommage pour Sennheiser.
";s:7:"dateiso";s:15:"20140713_195500";}s:15:"20140523_151700";a:7:{s:5:"title";s:50:"SkrivLite, a lightweight implementation of SkrivML";s:4:"link";s:69:"http://bohwaz.net/p/SkrivLite-a-lightweight-implementation-of-SkrivML";s:4:"guid";s:69:"http://bohwaz.net/p/SkrivLite-a-lightweight-implementation-of-SkrivML";s:7:"pubDate";s:25:"2014-05-23T15:17:00+02:00";s:11:"description";s:0:"";s:7:"content";s:1929:"SkrivML is a markup language inspired by other ASCII markup languages like MediaWiki, Creole, MarkDown, reST, txt2tags, AsciiDoc et d'autres. I think it is the most intuitive markup, and it is powerful and easy to use. It's much better than the terrible Markdown for writing. The only problem I had was its implementation which was quite bloated with more than 350 KB of code and more than 60 files.
That's not exactly how I like programming. I like it small, easy to read and maintain, with very few dependencies. So I began to work on my own implementation of this markup.
So here is SkrivLite: a lightweight PHP library. Only one file and 25KB of code, without any other dependency whatsoever. It is two to three times faster and takes up to three times less memory. It is fully compatible with the Skriv Markup Language, except for the symbols and smileys.
SkrivLite also adds some features like:
SkrivLite is available under a 2-clause BSD license: download the source code.
";s:7:"dateiso";s:15:"20140523_151700";}s:15:"20140523_150600";a:7:{s:5:"title";s:50:"SkrivLite, une implémentation légère de SkrivML";s:4:"link";s:69:"http://bohwaz.net/p/SkrivLite-une-implémentation-légère-de-SkrivML";s:4:"guid";s:69:"http://bohwaz.net/p/SkrivLite-une-implémentation-légère-de-SkrivML";s:7:"pubDate";s:25:"2014-05-23T15:06:00+02:00";s:11:"description";s:0:"";s:7:"content";s:2275:"SkrivML est un langage de markup inspiré des syntaxes de MediaWiki, Creole, MarkDown, reST, txt2tags, AsciiDoc et d'autres. C'est à mon sens une syntaxe plus intuitive et simple que l'horreur qu'est MarkDown par exemple. Je n'ai donc pas hésité longtemps avant de l'adopter. Le seul problème était son implémentation relativement complexe et éparpillée, avec 350 Ko de code réparti en plus de 60 fichiers.
Comme j'ai l'habitude de faire des petits outils intégrés en un seul fichier à recopier, et de manière générale je trouve cela inélégant d'avoir plus de code pour une bibliothèque externe que pour le projet principal, donc je me suis attelé à réaliser une nouvelle implémentation de SkrivML.
Voici donc SkrivLite : une implémentation légère, en un seul fichier et 25 Ko de code, sans aucune autre dépendance. Elle est deux à trois fois plus économe en mémoire et plus rapide que l'implémentation officielle. Elle est intégralement compatible avec la syntaxe SkrivML, sauf qu'elle ne gère pas les transformations de smileys et symboles (fonctionnalité que je trouve relativement inutile).
Elle ajoute également quelques fonctionnalités :
SkrivLite est disponible sous licence BSD 2 clauses : télécharger le code source.
";s:7:"dateiso";s:15:"20140523_150600";}s:15:"20140330_184500";a:7:{s:5:"title";s:65:"Debian and Ubuntu: /tmp doesn't get cleaned at boot-time anymore?";s:4:"link";s:82:"http://bohwaz.net/p/Debian-and-Ubuntu-tmp-doesn-t-get-cleaned-at-boot-time-anymore";s:4:"guid";s:82:"http://bohwaz.net/p/Debian-and-Ubuntu-tmp-doesn-t-get-cleaned-at-boot-time-anymore";s:7:"pubDate";s:25:"2014-03-30T18:45:00+02:00";s:11:"description";s:0:"";s:7:"content";s:1271:"Sometimes after some magic happening, maybe an upgrade or a custom software setup, I can't remenber, the /tmp directory doesn't get cleaned anymore at boot-time.
The result is that when you are booting your computer you'll find files in /tmp from the previous time when your computer was on. Too bad.
The cause of this can be found in the /lib/init/bootclean.sh
file. The clean_tmp() function uses some checks before emptying the directory. And one of those is checking whether the /tmp directory is actually world-writable, using this command:
$ find /tmp -maxdepth 0 -perm -002
If this command returns nothing then you've got the same problem as me: your /tmp directory is not world-writable anymore. Just type in this command:
# chmod a+rwX /tmp
And voilà it's done! You can now check that it works using:
# service checkroot-bootclean.sh start
If your /tmp directory is not empty then you should read on the /lib/init/bootclean.sh
script and find which check is avoiding the function to clean your /tmp directory at boot.
It’s the same in every form of art: nobody ever creates something really new, he or she just makes the same thing someone already did, just a bit differently. It happened to me as I one time heard the exact same music I composed a couple of years ago. This music was never even published, but I was still listening to it from time to time. So how could someone just copy my music? He didn’t, he just created it, he just have created the exact same music I had composed. How strange but still it makes it clear that photography is even worse from this point of view. Every scene is the same, and often the angle is the same, but the day is different, the landscape has changed, and most importantly the photographer is not the same and doesn’t feel the same as you at the time he’s taking the picture. That’s what’s the most important to me: it’s not to create something new, it’s just to create something at all, with your mind and with your heart. That’s not copycat, that’s copyheart.
";s:7:"dateiso";s:15:"20140206_025100";}s:15:"20140109_140500";a:7:{s:5:"title";s:44:"Un an en Océanie ‑ Journal photographique";s:4:"link";s:60:"http://bohwaz.net/p/Un-an-en-Océanie-Journal-photographique";s:4:"guid";s:60:"http://bohwaz.net/p/Un-an-en-Océanie-Journal-photographique";s:7:"pubDate";s:25:"2014-01-09T14:05:00+01:00";s:11:"description";s:0:"";s:7:"content";s:10650:"Alors que je n'ai toujours pas terminé de publier la fin du récit du voyage d'un an en Océanie qui s'est terminé en novembre dernier, je me suis lancé dans le projet de le publier, pour l'offrir aux proches et pour en garder une jolie trace papier pour moi.
J'ai cherché les solutions de publication, en sachant que je n'allais pas en tirer des centaines d'exemplaires, mais probablement seulement une dizaine. J'ai abandonné l'idée des albums photos imprimés par des sites comme Photobox et compagnie : c'est assez cher et la qualité d'impression est passable. J'ai finit par tomber sur les solutions de publication de livre à la demande. Il en existe pas mal, notamment Lulu qui est le plus connu je pense.
Seulement aucun ne semble permettre une impression noir et blanc avec quelques encarts couleur pour les photo : c'est soi tout en couleur, soit tout en noir et blanc. Donc j'ai décidé d'imprimer à part les photos et le carnet de voyage, ce qui tombe bien car le carnet n'est pas prêt, mais j'ai déjà pu imprimer le livre-photo pour offrir à noël. J'ai regardé du côté des imprimeurs à la demande qui sont connus pour les livre photo mais j'ai été assez déçu : les tarifs sont exhorbitants. Par exemple Blurb coûte 17 € par livre pour 48 pages couleur, ça fait cher. Lightning Source était aussi intéressant mais il faut payer à chaque fois qu'on fait une modification au fichier source, et une fois par nouveau projet, genre 100 € pour chaque livre. Ça peut être intéressant si on compte vendre des milliers de livres mais bon c'est pas mon cas. Restait donc CreateSpace, la solution d'Amazon, qui est la moins chère et la plus flexible : tout est fait en ligne, et leur site procède automatiquement aux vérifications de format, de marges et de débords du PDF. En plus il n'y a pas de frais fixes, et le livre peut être vendu sur Amazon en un clic.
L'inconvénient c'est que CreateSpace a des options limitées pour les types de papier disponibles. En impression couleur seul du papier mat est disponible, donc pas possible de faire un « beau » livre photo sur papier glacé. C'est dommage mais bon on fait avec. J'avais un peu d'appréhension sur la qualité de l'impression mais j'ai au contraire été agréablement surpris. La couverture (souple) est un peu trop saturée, ce qui est probablement dû à un problème de conversion CMYK de mon PDF, et donc ma faute, mais j'ai pas encore compris pourquoi mais je vais continuer à explorer. L'intérieur est sur du papier mat et les photos y rendent pas mal du tout, j'avais peur que ça fasse trop délavé, mais ça se tient.
En mettant le nez sur le papier on distingue les points d'impression mais c'est plutôt discret et je suis vraiment content du résultat.
Côté finances, ce livre de 48 pages revient à 4,21 $ l'exemplaire en coût d'impression, auquel il faut rajouter les frais de ports qui sont en fonction de la quantité commandée. Pour 10 exemplaires ça donne 17,99 $ pour la livraison lente (un mois et demi, le livre est imprimé aux USA) jusqu'à 33,49 $ pour la livraison rapide en une semaine par DHL. Ce qui donne un coût de 6,00 à 7,60 $ l'exemplaire pour 10 exemplaires selon la livraison. En euros ça donne 4,40 € à 5,60 €. Ce qui à mon sens est correct. J'ai donc commandé 10 livres je les ai reçus rapidement par DHL, bien emballés, aucun problème. Je suis donc en présence mon premier livre auto-édité, c'est le moment de sabrer le champagne !
Ensuite il est possible de mettre en vente le livre directement sur Amazon depuis CreateSpace, en choisissant le prix de vente final, en sachant que c'est sur notre marge qu'on joue en faisant varier le prix, Amazon se prenant une part fixe. Par exemple j'ai décidé de mettre l'édition anglaise « Landscapes & Wildlife of Australia and New Zealand: A photographic diary » en vente pour 9,80 $. Cela me fait une marge de 1,67 $ par exemplaire vendu. On peut donc en déduire que la marge d'Amazon est de 3,92 $ par exemplaire vendu. Ce prix comprenant les frais de port étant donné qu'Amazon pratique les frais de port gratuits sur les livres (enfin plus pour longtemps en France, grâce à nos députés…). Ma marge est donc de 17%, ce qui peut paraître peu mais c'est plus du double de ce que je toucherais si j'étais édité chez un éditeur « classique » dont les contrats prévoient une marge de 8% pour l'auteur jusqu'à 10.000 livres vendus, 10% au delà. En plus sur les « beaux livres » la marge de l'auteur est réduite à 5% en général… Bref la solution d'Amazon est bien plus avantageuse que de passer par un éditeur. On peut donc supposer qu'un jour les députés feront une loi contre ça aussi ;-)
Pour l'acheteur c'est transparent : une fois commandé le livre est imprimé et expédié dans les 48 heures, en général le jour suivant l'achat. Contrairement à la commande d'exemplaires par l'auteur il n'est pas forcément imprimé aux USA. Si vous commandez sur Amazon.fr il sera imprimé en France par exemple. Je ne peux donc pas garantir que le résultat sera identique au mien mais à priori selon les témoignages la qualité est constante entre les différents imprimeurs.
J'ai noté qu'Amazon réduit ou augmente sa marge et fait ainsi fluctuer le prix de vente. Par exemple j'ai choisi 9,80 $ mais au moment où j'écris cet article il est à 8,97 $ sur Amazon.com, alors que sur Amazon.fr j'ai choisi 9,80 € et qu'il est à 9,97 €. Donc il est difficile de garantir précisément le prix de vente final.
Un inconvénient que je vois au système d'Amazon c'est que je peux difficilement vendre moi-même les livres
La France est un pays bureaucratique jusqu'à l'excès et ça s'applique aussi aux livres. Déjà il y a l'obligation pour tous les livres du monde entier d'avoir un ISBN. En France ça se passe auprès de l'AFNIL à qui il faut envoyer un formulaire papier de plusieurs pages. Heureusement c'est gratuit, mais ça prend quelques semaines et de toutes façons il est bien plus simple de passer par CreateSpace qui crée alors un ISBN gratuitement lors de la création du livre.
Ensuite en France normalement il est obligatoire de mettre plein de mentions légales dans le livre : votre nom, votre adresse, la date de publication, la date de dépôt légal, le nom et l'adresse de l'imprimeur, etc. Bon vu qu'avec CreateSpace on ne sait même pas où est imprimé le livre ça commence mal. Ensuite il faut indiquer le prix du livre sur le quatrième de couverture, car en France le prix du livre est unique. Comme on peut le voir avec CreateSpace on peut changer le prix du livre d'un jour sur l'autre si on le souhaite, et avoir des prix différents entre les pays : on ne va pas changer de couverture à chaque fois. En plus ça n'a pas de sens d'appliquer un prix unique à un livre imprimé à la demande, chaque livre est unique et peut donc avoir un tarif différent en fonction de la fluctuation des marges et frais d'Amazon.
Enfin en France normalement il est obligatoire (sous peine d'amende) d'effectuer le dépôt légal de son livre auprès de la BnF. Il faut donc envoyer un livre par courrier (heureusement dispensé de frais de port) avec un formulaire papier à remplir. Encore des paperasses quoi.
Heureusement il existe une exception à cette obligation qui nous concerne : « les documents importés à moins de cent exemplaires » sont exemptés de dépôt légal. Vu que l'ISBN est américain, le livre est donc publié aux USA officiellement, et chaque exemplaire est donc importé. Donc toutes ces obligations ne s'appliquent pas à mon livre, ouf.
Si vous êtes intéressé il est possible d'acheter le livre, publié sous licence Art Libre :
Sans acheter il est aussi possible de consulter le livre gratuitement sur son ordi : Et plus si affinités… Un an en Océanie — Journal photographique (PDF, 11 Mo).
Sinon si vous pensez qu'on va se croiser un de ces jours je peut aussi vous en apporter un ce jour-là si ça vous intéresse. Je peux même le dédicacer si vous voulez ;-) En tout cas un grand merci d'avance à celles et ceux qui achèteraient le livre, n'hésitez pas à me dire ce que vous en pensez.
Et la prochaine étape ? Et bien c'est l'autre partie du journal de voyage : le texte. Plus de 400 pages de récit de voyage, des cartes, des anecdotes… Et il faut relire et corriger tout ça, c'est du boulot !
";s:7:"dateiso";s:15:"20140109_140500";}s:15:"20140106_144000";a:7:{s:5:"title";s:53:"Positionner des coordonnées GPS sur un fond de carte";s:4:"link";s:73:"http://bohwaz.net/p/Positionner-des-coordonnées-GPS-sur-un-fond-de-carte";s:4:"guid";s:73:"http://bohwaz.net/p/Positionner-des-coordonnées-GPS-sur-un-fond-de-carte";s:7:"pubDate";s:25:"2014-01-06T14:40:00+01:00";s:11:"description";s:0:"";s:7:"content";s:4688:"Souvent on utilise directement une carte en JavaScript, comme celles d'OpenStreetMap ou de Google, pour y positionner des points ou des tracés. Mais on est alors dépendants d'un service externe sur son site, c'est lent à charger pour une utilisation assez complexe. Enfin parfois on veut utiliser ses propres fonds de cartes, qu'on les ait dessinés à la main, produits avec TileMill, avec Mobile Atlas Creator ou simplement en recopiant les images produites par Google Maps ou autre outil du genre.
Il est possible de positionner des coordonnées GPS sur ces fonds de cartes, c'est même assez simple en fait. La seule contrainte est de connaître les coordonnées GPS de deux points sur la carte. En effet avec ces deux points on peut déduire l'échelle de la carte et quelle portion de la carte du monde elle recouvre.
On va donc demander à l'utilisateur de cliquer sur deux points sur le fond de carte, qui correspondent à des coordonnées connues. Cela va nous donner les coordonnées X et Y de ces points sur le fond de carte. Avec cela on va savoir l'échelle horizontale et verticale de la carte : on sait que l'écart entre la coordonnée X du point A et la coordonnée X du point B correspond à l'écart entre la longitude du point A et la longitude du point B. Et voilà on a l'échelle horizontale. Il reste à faire de même pour l'échelle verticale avec les coordonnées Y et les latitudes.
Il nous reste ensuite à calculer les coordonnées du point en haut à gauche de la carte et du point en bas à droite pour connaître l'étendue de la carte. C'est assez simple, il suffit d'appliquer l'échelle déduite ci-dessus à la distance du point A du coin haut gauche et à la distance du point B avec le coin bas droit.
Maintenant que nous avons l'échelle de notre carte et sa couverture géographique on peut facilement savoir où sont situées d'autres coordonnées GPS sur cette carte : on peut y ajouter des marqueurs, des tracés, y importer des fichiers KML/LMX, etc. Bref vous pouvez créer une vraie carte dynamique à partir d'un fond de carte statique. Cela fonctionne avec n'importe quelle taille ou échelle de carte à partir du moment où elle utilise la projection de Mercator.
Par contre comme le clic de l'utilisateur n'est pas forcément des plus précis, plus l'échelle de la carte est petite, plus un écart de clic de quelques pixels donnera une mauvaise échelle et fera que les points placés par la suite seront faussés. Un exemple de ce problème peut être vu sur la démo de la carte de Cobb Valley.
Pour montrer un peu cela je vous propose d'essayer cette démo interactive qui permet de tester cela sur 4 cartes. Pour info ça ne marche pas sur la carte IGN car la projection est différente.
Le code de la bibliothèque en JS est disponible sur le repository Fossil de KD2FW, mais le même code existe aussi en PHP il est donc possible de dessiner des cartes statiques en PHP de la même manière. À terme le but de Karto est de proposer une API unifiée entre JS et PHP sur le sujet de la cartographie, mais j'y travaille encore, c'est pas terminé.
Bon et sinon maintenant qu'on connaît l'échelle et les limites géographiques de notre fond de carte, que faire ? Et bien nous verrons une prochaine fois comment dessiner un tracé sur cette carte, l'exporter en KML et en SVG, ou importer directement un calque dessiné en SVG par dessus, ou encore importer un tracé LMX sur ce fond de carte. Bref de quoi s'amuser un peu plus. En sachant que l'objectif premier de cet outil est de travailler directement sur des fonds de carte en SVG afin d'avoir des cartes qui puissent être zoomées, mais aussi imprimées en haute résolution sans se soucier des limitations des services de carto comme Google ou OSM. Et oui y'a encore du boulot !
";s:7:"dateiso";s:15:"20140106_144000";}s:15:"20140106_020000";a:7:{s:5:"title";s:80:"Espionnage généralisé de la NSA (et des autres) — et quelques idées contre";s:4:"link";s:96:"http://bohwaz.net/p/Espionnage-généralisé-de-la-NSA-(et-des-autres)-et-quelques-idées-contre";s:4:"guid";s:96:"http://bohwaz.net/p/Espionnage-généralisé-de-la-NSA-(et-des-autres)-et-quelques-idées-contre";s:7:"pubDate";s:25:"2014-01-06T02:00:00+01:00";s:11:"description";s:0:"";s:7:"content";s:29600:"Cela fait six mois maintenant que les documents d'Edward Snowden inondent la presse de révélations sur l'étendue d'un espionnage global et généralisé à l'ensemble de la population mondiale effectué par les services de renseignements mondiaux, et plus particulièrement la NSA américaine.
Alors je ne vais pas non plus reprendre l'intégralité des révélations faites, parce qu'il y en a des tas, et qu'en plus elles continuent à débouler régulièrement. Si vous avez vécu sur la lune ces six derniers mois Wikipédia est très complet sur le sujet (en anglais) : Global surveillance disclosure (et en français : révélations d'Edward Snowden). Mais bon je vais quand même faire un résumer plus bas.
En réalité le fait de révéler les documents au goutte à goutte pourrait se révéler être une stratégie afin de diluer l'intérêt de tous ces documents, qui seraient potentiellement plusieurs centaines de milliers ou plusieurs millions. Seulement quelques centaines ont été révélés. Ça transformerait le tout en opération de comm' pour la NSA et les USA qui indiqueraient par là au monde entier leur puissance et leur domination dans le domaine.
Pour expliquer un peu : la seule personne en possession des documents semble être le journaliste Glenn Greenwald, qui a récemment quitté son poste pour rejoindre une société créée avec Pierre Omidyar, le fondateur d'eBay. Il semble donc que Greenwald compte exploiter ces documents à son profit personnel, et on peut se poser des questions sur l'intérêt du fondateur d'eBay, qui pourrait avoir des liens avec la NSA... C'est une théorie exposée dans cet article par exemple. Alors oui on se dit que ça ressemble à une théorie de conspirateurs paranos… mais rappelez-vous il y a quelques mois on pensait que mettre un bout de scotch opaque sur sa webcam était aussi être parano, de même que chiffrer les communications, ou déconnecter la batterie de son téléphone. Aujourd'hui ce sont simplement des faits qui exposent que nous n'étions pas suffisamment paranos !
Je referme la parenthèse sur les problèmes générés par la mainmise de Greenwald sur les documents pour revenir au sujet principal. Pour donner l'étendue des problèmes je vais prendre quelques exemples de techniques et autres attaques que vous pouvez subir, d'après ce qu'on sait des révélations. C'est un peu un gros mix des révélations et techniques récentes. On sait que ces techniques ont été appliquées à des opposants politiques, des journalistes, des informaticiens, des artistes, des commerciaux, des élus, etc. que ce soit par des sociétés privées, des outils vendus par ces sociétés à des états, ou directement par des services d'espionnage comme la NSA. Donc tout le monde est concerné, pas seulement certaines personnes.
... Oui ça fait beaucoup et encore je n'ai pas tout mis !
Il faut bien comprendre que même si beaucoup de ces révélations concernent des actions menées par la NSA il est très clair que la plupart des services nationaux (européens au moins) collaborent au plus près avec la NSA et transmettent souvent directement les informations. Donc tout cela n'est pas qu'un problème avec les États-Unis, mais un problème mondial. Et quand ce ne sont pas les services de renseignement ce sont des entreprises privées qui s'y mettent ! Tous les pays sont impliqués : la France, l'Australie, le Royaume-Uni, l'Allemagne, l'Italie, l'Espagne, la Nouvelle-Zélande, la Norvège ou même la Suède, considérée pourtant comme un paradis de la liberté d'expression.
Si vous pensez que tout cela n'est que pour surveiller les terroristes, détrompez-vous : comme je l'ai montré plus haut ce sont des milliards d'ordinateurs et téléphones qui sont suivis. Donc soit tout le monde est terroriste, soit il y a un « léger » problème d'espionnage massif et généralisé de la population mondiale… Et même si pour vous cela ressemble à de la science fiction soyez sûr que comme le souligne Bruce Schneier si certaines de ces techniques sont encore réservées aux gouvernements et agences d'espionnage, elles seront à n'en pas douter devenues publiques (et le sujets de thèses d'étudiants en informatique, ou de conférences au congrès du CCC allemand) dans les prochains mois ou années et exploitées par des entreprises ou des hackers.
Cette surveillance généralisée révèle en plein lumière l'état des pays dans lesquels nous vivons, qui se prétendent être des démocraties, mais qui sont en réalité des régimes totalitaires qui n'ont rien à envier à des pays comme la Chine ou la Corée du Nord. Nous sommes donc en territoire conquis, en territoire surveillé, dans un contexte hostile où nous sommes suspects en permanence. Il est donc plus que temps de s'armer et de combattre ce régime totalitaire.
On peut commencer par des idées évidentes :
OK bon c'est cool comme idées mais un peu limité. On pourrait chercher des solutions un peu plus pratiques…
En premier il me semble utile de lire et appliquer les conseils indiqués dans ces guides qui vous donneront plein de conseils utiles :
De là on peut déduire quelques règles comme celles-ci (liste non exhaustive et en bordel) :
Je vous recommande de visionner les conférences du 30ème congrès du CCC, qui a été particulièrement passionnant, pour se rendre compte de l'étendue du problème :
Et en bonus pour en rajouter sur la parano vous pouvez regarder cette conférence rigolote et intéressante où un artiste-photographe prend en photo les installations secrètes, les satellites espions et les drones américains. Vous serez rassurés quand vous verrez que les USA ont des satellites positionnés à côté des satellites étrangers pour espionner les communications qui y passent… Seeing the secret states : six landscapes.
Et est-ce que tout ça va changer quelque chose ? Je serais bien incapable de le dire. Est-ce que tout cela n'est pas inéluctable ? Ne sommes-nous pas à l'orée d'une période de totalitarisme mondial dont il soit impossible de s'extraire ? Je suis peut-être pessimiste mais cela me semble être un risque réel.
";s:7:"dateiso";s:15:"20140106_020000";}s:15:"20140105_220700";a:7:{s:5:"title";s:123:"Comment installer et configurer Firefox de manière sécurisée (en désactivant les espions et mises à jour automatiques)";s:4:"link";s:143:"http://bohwaz.net/p/Comment-installer-et-configurer-Firefox-de-manière-sécurisée-(en-désactivant-les-espions-et-mises-à-jour-automatiques)";s:4:"guid";s:143:"http://bohwaz.net/p/Comment-installer-et-configurer-Firefox-de-manière-sécurisée-(en-désactivant-les-espions-et-mises-à-jour-automatiques)";s:7:"pubDate";s:25:"2014-01-05T22:07:00+01:00";s:11:"description";s:0:"";s:7:"content";s:7816:"Firefox à l'installation active par défaut pas mal de fonctionnalités de mise à jour et d'espionnage qui font que le navigateur et ses extensions peuvent être mises à jour à n'importe quel moment sans vous demander votre avis, supprimant des fonctionnalités du navigateur ou dans le cas des extensions pouvant apporter des malwares (le code des extensions n'étant pas toujours vérifié), comme j'ai pu le voir récemment.
En effet une de mes extensions a été compromises et une mise à jour a été envoyée qui contenait un keylogger et supprimait les onglets de mon Firefox. Normalement ça ne devrait pas se produire car le magasin d'extensions Firefox est censé être sécurisé, mais pas pour les extensions notées comme « expérimentales ». Je ne me souviens pas que celle-ci était notée comme expérimentale quand je l'ai installée mais bon je peux très bien avoir oublié. Mais de toutes façons ce n'est pas la première fois ni la dernière fois qu'une extension Firefox distribuée par Mozilla se révèle néfaste.
Bref, il est dangereux que Firefox fasse des mises à jour intempestives des extensions et pire, il fait parfois des mises à jour de lui-même qui suppriment des fonctionnalités qui étaient utilisées au quotidien. Ces mises à jour automatiques sont censées améliorer votre sécurité en cas de faille dans Firefox, mais sous Debian/Ubuntu ces mises à jour de sécurité (sans suppression de fonctionnalité) sont déjà fournies par le gestionnaire de paquets. Sous Windows utilisez un gestionnaire de paquet comme Chocolatey pour obtenir la même fonctionnalité.
Enfin par défaut Firefox envoie pas mal d'informations personnelles à des serveurs distants, ce qui en fait un véritable espion.
On va donc voir comment l'empêcher de faire cela. Les captures d'écran sont pour Windows, mais c'est la même chose pour Linux/Debian/Ubuntu.
À l'installation de Firefox cliquer sur le bouton « Options » :
Puis décocher les deux cases « Envoyer des informations de cette installation à Mozilla » et « Installer le service de mise à jour en arrière-plan de Firefox » :
Se rendre dans les options : dans le menu « Outils », cliquer « Options ». Si la barre de menu n'apparaît pas, cliquer sur le bouton « Firefox » et dans le menu déroulant « Options » cliquer sur « Options » (oui, deux fois « Options »).
Ici d'abord désactiver tous les espions Mozilla qui envoient des informations sur votre navigation dans l'onglet « Avancé » et le sous-onglet « Données collectées » (vous remarquerez que Mozilla a choisi de ne pas placer ces options qui transmettent des informations dans l'onglet « Vie privée » mais de les cacher ici…). Décocher donc toutes les cases :
Puis se rendre dans le sous-onglet « Mises à jour » et cocher « Ne jamais vérifier les mises à jour », ou si vous souhaitez quand même que Firefox vous propose des mises à jour sans les installer automatiquement cochez « Vérifier l'existence de mises à jour mais me laisser décider de leur installation ». À noter que cela fera que Firefox enverra des requêtes aux serveurs de Mozilla. Je conseille de désactiver également la mise à jour des moteurs de recherche qui vous évitera de voir sans cesse réapparaître Google comme moteur de recherche même quand vous le supprimez.
Ce n'est pas terminé car ceci ne désactive pas la mise à jour des extensions, dont l'option est cachée ailleurs. Cliquez donc « OK » pour enregistrer les modifications.
Ensuite cliquez sur le menu « Outils » (ou le bouton « Firefox ») puis sur l'option « Modules complémentaires ». Là il faut cliquer sur le bouton avec une roue dentée et une flèche et cliquer sur « Mettre à jour les modules automatiquement » pour désactiver leur mise à jour.
Est-ce que c'est terminé ? Non ! Car cela n'a désactivé les mises à jour que des modules que vous installerez dans le futur, il faut maintenant désactiver les mises à jour de tous les modules déjà installés. Et oui.
Ouvrez donc un nouvel onglet et dans l'adresse tapez « about:config » puis appuyez sur la touche Entrée. Cliquez sur le bouton pour indiquer que vous savez ce que vous faites, et cherchez « update.enabled ». Ensuite pour chaque ligne de la liste double cliquez pour qu'elle soit en gras avec « false » de marqué :
Ouf ça y est c'est fait.
Firefox intègre un tas d'autres espions par défaut, qu'il convient de désactiver si vous ne voulez pas envoyer de traces des sites visités à n'importe qui.
Ce service de Google est appelé régulièrement pour télécharger une base de données de sites censés contenir des malwares ou virus. Si c'était le cas au début cela ne semble plus faire que Firefox envoie chaque adresse de site visité à Google, ouf. Mais c'est toujours la possibilité pour Google de vous empêcher de voir les sites que vous voulez voir en les indiquant comme contenant des virus ou malwares. Je ne vois pas de raison de le laisser activé.
Pour le désactiver : Menu « Outils » → Choisir « Options » → Onglet « Sécurité » → Décocher « Bloquer les sites indiqués comme malveillants » et « Bloquer les sites indiqués comme étant des contrefaçons »
Cette option cachée de Firefox va télécharger à partir de la page que vous lisez une ou plusieurs autres pages que vous « pourriez » consulter ensuite. En pratique cela vous fait faire des requêtes inutiles et utiliser de la bande passante pour rien, surtout quand vous payez votre Internet au méga-octet comme sur une connexion 3G/4G.
Pour désactiver : ouvrir un nouvel onglet → Aller à « about:config » → Chercher « network.prefetch-next » → Double-cliquer pour positionner à « false »
Pour terminer une autre option qu'il est souvent utile de désactiver est « browser.urlbar.trimURLs » (dans about:config) qui cache la vraie URL de la page que vous visitez, ce qui pose un certain nombre de problèmes mais là n'est pas le sujet.
";s:7:"dateiso";s:15:"20140105_220700";}s:15:"20140104_032000";a:7:{s:5:"title";s:98:"Tour d'horizon des navigateurs et moteurs web : une grave absence de diversité et d'indépendance";s:4:"link";s:116:"http://bohwaz.net/p/Tour-d-horizon-des-navigateurs-et-moteurs-web-une-grave-absence-de-diversité-et-d-indépendance";s:4:"guid";s:116:"http://bohwaz.net/p/Tour-d-horizon-des-navigateurs-et-moteurs-web-une-grave-absence-de-diversité-et-d-indépendance";s:7:"pubDate";s:25:"2014-01-04T03:20:00+01:00";s:11:"description";s:0:"";s:7:"content";s:7818:"Il n'existe pas de navigateur réellement indépendant.
Tous les navigateurs, enfin en tout cas les plus utilisés et connus, sont produits par des entreprises à but lucratif. Des grosses multinationales dont on peut douter de la bonne volonté à ne pas utiliser leur produit pour faciliter le travail des gouvernement et services d'espionnage, et plus particulièrement de la NSA et du gouvernement américain. Car toutes ces entreprises sont américaines.
Faisons donc une petite liste des navigateurs les plus connus :
Maintenant reprenons de là les principaux moteurs de rendu et leurs principaux contributeurs :
On peut voir que tous les gros navigateurs et tous les principaux moteurs de rendu sont financés par de grosses entreprises américaines. Ce qui pose un grave problème dans le contexte actuel d'espionnages par la NSA et scandales où l'organisation d'espionnage a introduit des failles dans des algos ou des logiciels contre de l'argent ou par ruse.
Que nous reste-t-il donc comme navigateurs qui seraient majoritairement indépendants d'une entreprise américaine ?
Oh c'est tout ? Et oui c'est tout. Ces navigateurs sont les seuls qui ne dépendent pas d'un des moteurs listés ci-dessus, qui sont encore activement développés et qui ne sont pas en mode texte. Ça fait peur niveau diversité hein. Tous les autres navigateurs que vous verrez. Tous tous tous se basent sur Webkit, Blink, Trident ou Gecko.
On peut donc dire que le seul navigateur web indépendant et réellement utilisable est Konqueror. Si demain il vient à abandonner KHTML pour WebKit on aura un sacré problème. Non seulement pour une question de confiance et d'indépendance mais aussi une question de diversité du web, car si on résume WebKit et Blink à un seul moteur, on peut dire qu'il n'y a plus que trois moteurs de rendu différents, dont l'un écrase les deux autres en parts de marché.
Mais donc si vous ne voulez quand même pas utiliser Konqueror, il est possible d'utiliser un autre navigateur utilisant l'un des moteurs « non-indépendants ». Le problème c'est que la plupart ne sont que des forks des navigateurs principaux sans changer grand chose. Par exemple pour Gecko : GNUzilla et IceApe sont des forks de Mozilla Suite (par GNU et Debian respectivement), IceCat et IceWeasel des forks de Firefox. Les autres ports sont arrêtés depuis que Mozilla a cessé de fournir Gecko comme une bibliothèque indépendante. Du bon côté IceCat et IceWeasel vous permettront d'utiliser les plugins Firefox, enfin tant que leurs développeurs arrivent à contourner les obstacles mis en place par Mozilla à chaque nouvelle version.
Pour WebKit il existe principalement l'excellent QupZilla, le petit Midori et les spécialisés comme uzbl, surf et compagnie. Pour Blink il n'y a qu'Opera qui se démarque un peu de Chrome.
Pour Trident ce ne sont que des habillages qui n'ont pas d'influence ou de contrôle possible sur le moteur de rendu.
On peut donc dire que l'état des choses n'est pas fameux, et qu'il y a du boulot pour soutenir et collaborer aux projets qui comptent : ceux qui ne font pas partie des « quatre géants » !
";s:7:"dateiso";s:15:"20140104_032000";}s:15:"20131202_191800";a:7:{s:5:"title";s:41:"Replace a dying hard drive when using LVM";s:4:"link";s:61:"http://bohwaz.net/p/Replace-a-dying-hard-drive-when-using-LVM";s:4:"guid";s:61:"http://bohwaz.net/p/Replace-a-dying-hard-drive-when-using-LVM";s:7:"pubDate";s:25:"2013-12-02T19:18:00+01:00";s:11:"description";s:0:"";s:7:"content";s:2461:"I'm a bad sysadmin. Not because I'm bad at managing servers (I am too, but that's not the point), but because I don't like and don't use "sysadmin" stuff. One example of this is RAID. In my experience RAID has always been bad at what it's supposed to do. I've had many bad experiences with hardware RAID cards dying and leaving you with a bunch of hard drives containing data that you can't recover because the RAID card has a data format that is actually different from the other cards (I didn't even know that was possible). That's the worst case: losing the data it's supposed to protect. But more commonly it will just fail and you'll have to spend countless hours rebuilding the RAID. Software RAID might have been a good idea, if kernel updates wouldn't be able to break things, like last time when after a security upgrade I hit a nasty bug. I was unable to boot on the RAID partition and had to move all data to a new server to extract the root partition from the RAID. Every time it's like this.
Maybe I'm just unlucky and RAID is the best solution everyone should stick to. But well, I just don't want to spend time with this.
But one awesome software that I used over the years without hitting any bug or losing any data ever is LVM. And one awesome example of this is actually now: the server hard drive is dying, sending a lot of SMART errors. So I have to change it. For this I just plug the new drive using a USB interface and sending a few commands in console. First copy the partition table (if the drives are of the same size):
# sfdisk -d /dev/sda > /tmp/table.txt # sfdisk /dev/sdb < /tmp/table.txt
Then add the new drive to the volume group, and move data into it:
# pvcreate /dev/sdb # vgextend vg01 /dev/sdb # pvmove /dev/sda /dev/sdb
LVM now moves all the data from one drive to the other. At the end just remove the old drive:
# vgreduce vg01 /dev/sda
All of this without unmounting any partition, and while applications and users are still writing to the disk. Then tonight I'll just have to shutdown the server to replace the old drive with the new one, with a downtime of only 2 minutes.
How awesome is that? Thanks LVM!
";s:7:"dateiso";s:15:"20131202_191800";}s:15:"20131125_181100";a:7:{s:5:"title";s:51:"Carnet de voyage en Océanie : c'est pas terminé !";s:4:"link";s:67:"http://bohwaz.net/p/Carnet-de-voyage-en-Océanie-c-est-pas-terminé";s:4:"guid";s:67:"http://bohwaz.net/p/Carnet-de-voyage-en-Océanie-c-est-pas-terminé";s:7:"pubDate";s:25:"2013-11-25T18:11:00+01:00";s:11:"description";s:0:"";s:7:"content";s:1415:"Je suis revenu d'Océanie depuis maintenant 20 jours, mais dû au retard conséquent dans la rédaction du journal de voyage, il n'est pas terminé et je/on continue de publier régulièrement, pendant probablement encore deux ou trois mois.
Pour suivre les aventures c'est donc là : Journal de voyage en Australie et Nouvelle-Zélande.
Pour ceux qui préfèrent les vidéos d'animaux mignons, voici le résumé en vidéo d'un an en Australie et d'un mois en Nouvelle-Zélande :
";s:7:"dateiso";s:15:"20131125_181100";}s:15:"20130906_110200";a:7:{s:5:"title";s:23:"Timezone Widget Creator";s:4:"link";s:43:"http://bohwaz.net/p/Timezone-Widget-Creator";s:4:"guid";s:43:"http://bohwaz.net/p/Timezone-Widget-Creator";s:7:"pubDate";s:25:"2013-09-06T11:02:00+02:00";s:11:"description";s:0:"";s:7:"content";s:1938:"
Four years ago I released a small and simple tool who creates widgets containing multiple clocks displaying multiple timezones.
The widget was static HTML and CSS code generated in PHP on my webserver and called from an object/iframe. It was functional but a bit slow to load those few elements from an external host so I rewrote the application to generate an independent javascript code that you can copy on your website without having to request any external resource. And the best thing is that it will continue to display the right time on your website as it's including the transitions (like when the daylight saving is changing) of the next five years. So now it's fast and lightweight. And I also added some animation on the "matrix" theme!
The best way to use it is generate the widget with the theme "none" and include some styling (like this one) in the CSS of your website, that way it will be the lightest. But if you don't want to do that you can just choose any theme and its style will be embedded to the widget code, you'll just have to copy/paste that to make it work.
If your hosting service doesn't allow you to embed javascript, you can just check the "embed" setting to get a classic object/iframe that will call my webserver.
Oh and by the way it's here to experiment and try it: http://bohwaz.net/misc/tz-widget/
Have fun!
";s:7:"dateiso";s:15:"20130906_110200";}s:15:"20130902_135100";a:7:{s:5:"title";s:82:"De PalmOS à Android en musique et en visuel avec SunVox, PixiTracker et PixiVisor";s:4:"link";s:101:"http://bohwaz.net/p/De-PalmOS-à-Android-en-musique-et-en-visuel-avec-SunVox-PixiTracker-et-PixiVisor";s:4:"guid";s:101:"http://bohwaz.net/p/De-PalmOS-à-Android-en-musique-et-en-visuel-avec-SunVox-PixiTracker-et-PixiVisor";s:7:"pubDate";s:25:"2013-09-02T13:51:00+02:00";s:11:"description";s:0:"";s:7:"content";s:4322:"Alexander Zolotov est un de ces génies dont on se dit qu'il ne doit pas beaucoup dormir. D'abord il est à l'origine de l'un des logiciels de musique électronique les plus complets au monde : SunVox. À l'origine disponible sur PalmOS, il tourne maintenant aussi sur Windows, OSX, Linux, Maemo, Windows Mobile, iOS, Android et MeeGo (ouf !). Si ça c'est pas un logiciel multiplateforme !
Il fonctionne évidemment au top et même sur de vieux Palms il encaisse parfaitement des morceaux complexes. Bref ce logiciel est une petite merveille. Pour vous en rendre compte il y a bien sûr le groupe SunVOX sur SoundCloud mais aussi surtout les albums d'Alexander, sortis sous le pseudo de NightRadio. Le premier, Back To The Source est disponible sous la forme peu commune d'un binaire Windows/Linux qui en plus de vous faire écouter la musique telle qu'elle a été composée vous affiche les instruments virtuels qui jouent en live, c'est un peu un mode "visualisation" de SunVox si on veut, bref un album multimédia. Le second, Soul Resonance part du même principe mais en plus joli et cette fois-ci créé avec le langage de programmation du même Alexander : PixiLang.
Ce langage a donné vie à un nouveau projet dénommé PixiTracker, un tracker simplissime pour iOS/OSX/Android/Windows/Linux qui permet de créer très simplement et ludiquement de la musique 8-bits. L'interface est d'ailleurs superbe et un véritable exemple d'ergonomie.
Il existe en version 16-bits et 1-bit ce qui varie la qualité des samples et donc de la musique résultante. Un player autonome et open source vous permet de réutiliser le moteur de lecture pour un projet d'album visuel par exemple. Là encore un groupe sur SoundCloud vous donnera quelques idées de ce qui est possible.
Mais le logiciel le plus incroyable est probablement PixiVisor. Alexander avait déjà sorti il y a quelques années Virtual ANS un petit logiciel permettant de transformer une image JPEG en fichier audio et vice-versa. Le résultat était étrange mais bizarrement légèrement musical quand même.
Ici c'est un cran au dessus. Le principe est simple : un appareil émetteur crée une image animée et la diffuse par le son en temps réel, un appareil récepteur retranscrit alors ce son (reçu via une prise jack ou via un microphone) en temps réel en une image. Évidemment c'est pas comme ça qu'on va transmettre de la HD en temps réel, c'est limité à du 64x64 pixels en 10 fps mais tout de même c'est exceptionnel ! Évidemment on pense tout de suite à tout ce que ça peut permettre notamment dans le domaine du VJ-ing (création vidéo en temps réel pour accompagner de la musique électronique), où la musique deviendrait une vraie composante de la vidéo et vice-versa. Mais aussi aux possibilités infinies que cela permet à ceux plus habitués à travailler le son, par exemple il est possible de mélanger plusieurs vidéos via une table de mixage sonore ! Il suffit de regarder les vidéos montrant le logiciel pour voir le potentiel.
Bref cet artiste/programmeur russe me surprend à chaque projet avec quelque chose de génial, j'ai hâte de voir et entendre la suite !
";s:7:"dateiso";s:15:"20130902_135100";}s:15:"20130802_133438";a:7:{s:5:"title";s:51:"Mozilla ne souhaite pas respecter le "Do Not Track"";s:4:"link";s:69:"http://bohwaz.net/p/Mozilla-ne-souhaite-pas-respecter-le-Do-Not-Track";s:4:"guid";s:69:"http://bohwaz.net/p/Mozilla-ne-souhaite-pas-respecter-le-Do-Not-Track";s:7:"pubDate";s:25:"2013-08-02T13:34:38+02:00";s:11:"description";s:0:"";s:7:"content";s:1153:"Le Do Not Track est un dispositif permettant d'indiquer aux sites web que vous ne souhaitez pas être "traqué" (à des fins publicitaires, statistiques, etc.). Mozilla a participé à ce standard et a été le premier navigateur à l'implémenter.
Pourtant visiblement ça les dérange pas d'activer du tracking sur les sites mozilla.org et autres, au détriment du respect de ce souhait de l'utilisateur. Et ce en incluant un script de suivi des statistiques de Google Analytics. Google qui est aussi le principal et investisseur quasi unique de la Mozilla Foundation. Et quand on soulève le problème sur leur gestionnaire de bug la réponse est : ce n'est pas du tracking parce que Google a promis de ne pas recouper les données des utilisateurs. Circulez y'a rien à voir...
(via LinuxFR.org)
";s:7:"dateiso";s:15:"20130802_133438";}s:15:"20130802_122400";a:7:{s:5:"title";s:51:"Le web est une poubelle, et tout le monde s'en fout";s:4:"link";s:70:"http://bohwaz.net/p/Le-web-est-une-poubelle-et-tout-le-monde-s-en-fout";s:4:"guid";s:70:"http://bohwaz.net/p/Le-web-est-une-poubelle-et-tout-le-monde-s-en-fout";s:7:"pubDate";s:25:"2013-08-02T12:24:00+02:00";s:11:"description";s:0:"";s:7:"content";s:8472:"Depuis maintenant neuf mois que je voyage en Australie sur les routes, mon seul accès au net est via les accès WiFi publics (bibliothèques, centre villes, etc.) ou via une clé 3G-WiFi. Il faut savoir qu'en Australie tous les accès à Internet sont limités. Pour la 3G il n'y a quasiment pas de fair-use, et je paye 20 dollars (15 €) pour 5 Go de données. Les WiFi publics sont limités aussi, souvent à 50 Mo par session. Pour l'ADSL c'est la même chose : pour 60 dollars par mois (45 €, engagement de 24 mois) vous aurez droit à 50 Go de quota chez la plupart des opéraDepuis maintenant neuf mois que je voyage en Australie sur les routes, mon seul accès au net est via les accès WiFi publics (bibliothèques, centre villes, etc.) ou via une clé 3G-WiFi. Il faut savoir qu'en Australie tous les accès à Internet sont limités. Pour la 3G il n'y a quasiment pas de fair-use, et je paye 20 dollars (15 €) pour 5 Go de données. Les WiFi publics sont limités aussi, souvent à 50 Mo par session. Pour l'ADSL c'est la même chose : pour 60 dollars par mois (45 €, engagement de 24 mois) vous aurez droit à 50 Go de quota chez la plupart des opérateurs. Bref vous faites gaffe à ce que vous faites pour garder votre quota...
Et s'il n'y avait que ça, mais la 3G est poussive, et dans les villes les réseaux sont saturés dès 17-18h jusqu'à 22-23h, avec des débits à pleurer, parfois de l'ordre de 1Ko/s. Le reste de la journée ça va mieux, mais reste le problème du quota. Je pensais qu'avec 5 Go je ferais pas mal de choses, je pourrais même télécharger un peu de musique, genre le dernier Lacrymosa sur Altermusique.org, mais je me suis vite rendu compte que mes sessions web bouffaient le quota à vitesse grand V.
Du coup surfer sur le web me fait souvent m'arracher les cheveux. Car les sites web de nos jours sont conçus par des gens qui sont connectés 24h/24 à la fibre, ou à de l'ADSL illimité comme en France. Des gens qui n'en ont rien à foutre de vous faire charger des centaines d'éléments inutiles sur chaque page. Bref des incompétents qui n'ont aucune idée des usages des vrais gens.
Prenons un exemple : Twitter. Ce service propose de relayer des messages de 140 caractères. Déjà passons sur le fait qu'il est impossible de se retrouver dans l'historique des messages de sa timeline : aucune pagination, aucune mémorisation de ce que vous avez lu. Donc quand on n'a pas que ça à foutre de rester connecté 24/24 à suivre des prouts et des images de chatons, bon courage pour retrouver les messages que vous n'avez pas pu lire. Il faut aller sur la timeline et cliquer sur « More Tweets » des dizaines de fois, charger plein de conneries. Ou alors si vous avez activé Javascript il faut faire défiler la page et attendre que le Javascript veuille bien charger l'historique. Rappelez-moi quel est le crétin qui a décrété que le « défilement sans fin » devait remplacer la pagination ? C'est encore pire !
Mais sans même parler de l'ergonomie déplorable de ce site (qui possède des centaines de développeurs, des ergonomes, des designers, etc. et sans parler du chiffre d'affaire colossal), il suffit de vouloir aller voir un tweet en particulier pour constater qu'ils sont nuls à chier leurs dévs. Prenons un exemple : le message de Sam Hocevar de ce 2 août 2013 qui dit « Tapie : c’est par terre ? ». Il fait 25 caractères. 25 octets. Je veux aller le lire, combien va faire la page ? 100, 200, 300 Ko ? Et non c'est pire : 528 Ko. Et encore c'est compressé.
Je veux bien être gentil et dire que la présentation, les menus, tout ça, une page de 100 Ko serait correcte vu que la page ne contient quasiment rien. Mais là franchement, quel foutage de gueule.
Alors, à quoi ça sert tout ça hein ? Déjà il y a 15 Ko de HTML compressé. Une fois décompressé ça donne plus de 100Ko. Y'a déjà un petit souci à ce niveau. Surtout qu'en regardant de près, on y voit plein de CSS/JS imbriqué pour faire trois fois rien (8Ko de CSS pour définir 4 couleurs et 2 images de fond, chapeau), et des tas d'éléments vides qui ne servent qu'à la présentation et au javascript. Je pense que le web sémantique ils doivent pas connaître chez Twitter, surtout quand on voit des perles comme ça :
<li class="dropdown-divider"></li>
ou encore :
<li class="dropdown-caret"> <span class="caret-outer"></span> <span class="caret-inner"></span> </li>
Vous vous souvenez du design avec des tables ? Twitter lui fait du design avec des listes. Y'a pas à dire, on a grandement évolué...
Vous dites oui mais y'a le cache des éléments statiques. Oui bien sûr, sauf que pas mal d'éléments ont un cache qui ne dure qu'une demie-heure et évidemment mon disque dur n'est pas extensible à merci (sans compter la gestion chaotique des fichiers de cache par Firefox), et je me retrouve à télécharger toutes ces merdes à chaque session...
Twitter est un exemple criant de disproportion, mais je pourrais aussi vous parler de Facebook, dont les pages sont tellements lourdes à charger que si j'en charge une ça bloque le chargement des autres pages. C'est à dire que le chargement d'une page Facebook arrive à saturer une connexion 3G à 2 Mbps pendant plusieurs secondes.
On pourrait penser que des développeurs plus sensibilisés feraient mieux. Oui, mais non. Par exemple le Shaarli de Sebsauvage.net fait 100 Ko, dont 80 de jQuery, tout ça pour... cacher des boutons.
<script> $(document).ready(function() { $('a.qrcode').click(function(){ hide_qrcode(); var link = $(this).attr('href'); $(this).after('<div class="qrcode" onclick="hide_qrcode();return false;"><img src="'+link+'" width="200" height="200"><br>click to close</div>'); }); }); function hide_qrcode() { $('div.qrcode').remove(); } </script>
Alors que ça serait bien plus efficace et léger en Javascript natif (arrêtez de faire du jQuery bordel, si vous mettez du javascript dans votre page faites du javascript) :
<script> (function () { document.addEventListener('DOMContentLoaded', function () { document.querySelectorAll('a.qrcode').forEach(function () this.onclick = show_qrcode; }); }); var show_qrcode = function () { hide_qrcode(); var link = this.getAttribute('href'); this.innerHtml += '<div class="qrcode" onclick="hide_qrcode();return false;"><img src="'+link+'" width="200" height="200"><br>click to close</div>'; }; var hide_qrcode = function () {} var div = document.querySelector('div.qrcode'); div.parentNode.removeChild(div); }; } ()); </script>
Un autre exemple : cet article sur le blog de m0le. La page fait 313 Ko. Y'a plein de JS pour faire des trucs rigolos, je sais pas si ça sert mais admettons qu'on veuille les garder. Rien qu'en activant Adblock Edge (remplaçant communautaire d'Adblock), Ghostery et en bloquant cette merdasse inutile qu'est WOT (qui bloque d'ailleurs certains de mes sites sans raison), on descends à 200 Ko. Sérieusement, 113 Ko de tracking, pub et autres gadgets dont je n'ai que foutre comme 99% des visiteurs.
Aller s'il vous plaît un petit effort, pensez au tiers-monde numérique, arrêtez de surcharger vos pages !
";s:7:"dateiso";s:15:"20130802_122400";}s:15:"20130409_133700";a:7:{s:5:"title";s:26:"Joyeux anniv' sebsauvage !";s:4:"link";s:43:"http://bohwaz.net/p/Joyeux-anniv-sebsauvage";s:4:"guid";s:43:"http://bohwaz.net/p/Joyeux-anniv-sebsauvage";s:7:"pubDate";s:25:"2013-04-09T13:37:00+02:00";s:11:"description";s:0:"";s:7:"content";s:3174:"
Timo m'a fait part d'une initiative collective visant à souhaiter l'anniversaire de sebsauvage ensemble, au même moment, pour lui faire une jolie et belle surprise.
J'avoue que je me sens obligé et heureux d'y participer.
En effet seb (on peut se tutoyer hein depuis le temps), je te connais depuis longtemps. Depuis 1999 en réalité. D'une époque où je n'avais que 14 ans et où je surfais sur le web en mode texte sur mon minitel avec le 3615 INTERNET d'AlternB (Valentin Lacambre), où je checkais mes mails sur le 3614 FREE et où je visitais des sites web sur CD-ROM qui étaient fournis avec des revues que j'allais acheter chez le marchand de journaux. Bref une époque où je n'avais pas Internet chez moi. Une époque où pour avoir accès à Internet en France il fallait payer un abonnement mensuel de l'ordre de 15 € et les communications téléphoniques à la minute de l'ordre de 0,50 €. Bref un sacré luxe que je ne pouvais pas me payer.
C'est à cette époque que je suis tombé sur ton site (si mes souvenirs sont bons) distribué sur le CD-ROM de l'Écho du Village, où tu avais également écrit des articles très didactiques sur le fonctionnement du MP3 (j'ai encore le magazine chez moi !). J'ai adoré les explications sur l'informatique, j'ai apprécié les coups de gueule et les liens vers des logiciels de qualité. Bref j'ai appris plein de trucs qui m'ont beaucoup servi par la suite. Plus tard j'ai utilisé Le Grand Manitou pour tricher aux jeux vidéos. J'ai utilisé webGobbler pour faire des fonds d'écran au boulot. Et plus récemment j'ai même forké ton projet AutoBlog. Et évidemment il y aussi Shaarli et ZeroBin, que je n'utilise pas mais que je trouve simplement géniaux dans l'idée et la réalisation (bon sauf dans le code).
Bref, en presque quinze ans, on a partagé un bout de chemin et quelques trucs, et le plus beau peut-être c'est que jamais on ne s'est serré la pince, jamais nous ne sommes croisés dans la rue, mais tu as apporté pourtant des éléments importants à ma vie et c'est grâce à des gens comme toi que mon métier est développeur, et que l'informatique me plaît autant, par tout ce que ça apporte et tout ce qu'on partage, simplement avec des bits qui transitent dans des câbles.
Alors merci, et joyeux anniversaire. Et à bientôt !
";s:7:"dateiso";s:15:"20130409_133700";}s:15:"20130120_154200";a:7:{s:5:"title";s:39:"Dicky - Skyrock.com compression library";s:4:"link";s:57:"http://bohwaz.net/p/Dicky-Skyrock-com-compression-library";s:4:"guid";s:57:"http://bohwaz.net/p/Dicky-Skyrock-com-compression-library";s:7:"pubDate";s:25:"2013-01-20T15:42:00+01:00";s:11:"description";s:0:"";s:7:"content";s:1958:"Dicky is a compression/decompression library from jedisct1 which was developed for the Skyrock.com social network. I don't know if it's still in use nor if it was really used one day. It's main purpose was to compress the text written on blogs by users, who happen to be using a very personal way of using Unicode characters. Just to know what are we talking about here is an example:
ღ...ღ V0us ne pensez pas qu'un bl0g sans déc0 est beauc0up m0ins j0li ღ?ღ Il est tant d'habiller votre skybl0g et v0ici un j0li magazin ღ!ღ ღp0ur skybl0g f0nd blancღ 0u p0ur t0us les autres, suffit de demanderღ Enfin bref, b0n sh0pping et b0nne visite ღTu seras t0uj0urs le ou la bienvenueღ
Well maybe that's not the best example but the basic idea is that they're replacing usual vowels with diacritics or Unicode characters that look the same, eg. 'Voir' is replaced by 'Wôÿr'. Dicky is a solution to help compress efficiently this content, and more important, compress it fast, because it is very high load website. Before Dicky, Skyrock.com was using zlib to compress content. Dicky only handles ISO-8859-1 encoding, not UTF-8.
To use Dicky you have to download its source code from its GitHub page and then you'll need to append this line to the 'dicky_p.h' file:
#define SIZE_T_MAX 102400
Because it's missing from the released package. Then just compile the small test program using:
$ gcc -Wall -o dicky dicky.c test.c
Using Dicky in a program should be easy, just read the test.c program source code or the small API doc from the GitHub page.
";s:7:"dateiso";s:15:"20130120_154200";}s:15:"20130109_111500";a:7:{s:5:"title";s:66:"Configurer son compte SIP (et notamment OVH) sur Symbian^3 (Belle)";s:4:"link";s:86:"http://bohwaz.net/p/Configurer-son-compte-SIP-(et-notamment-OVH)-sur-Symbian-3-(Belle)";s:4:"guid";s:86:"http://bohwaz.net/p/Configurer-son-compte-SIP-(et-notamment-OVH)-sur-Symbian-3-(Belle)";s:7:"pubDate";s:25:"2013-01-09T11:15:00+01:00";s:11:"description";s:0:"";s:7:"content";s:1315:"Par défaut il semble que ça ne fonctionne pas (registration failed), il faut donc installer ce petit utilitaire de Nokia : SIP VoIP settings.
Perso après avoir supprimé le profil créé, puis installé l'appli et recréé le profil à l'identique ça marchait (pour OVH suivre le guide de Nokia).
L'utilitaire permet d'exposer d'autres paramètres égalements : codecs, activation du STUN, etc.
Aucune idée de pourquoi ce n'est pas intégré de base dans Symbian, ni pourquoi cette p***** d'interface de configuration est si bizarre et mal fichue. Enfin bref ça marche c'est déjà ça.
Si ça ne marche toujours pas, il est possible d'installer Tivi, un client SIP pour Symbian gratuit. L'interface est moche mais ça marche. Je déconseille Fring qui fait passer obligatoirement par son serveur Proxy (rajoute de la latence).
Edit : il existe aussi S60voip en libre, que je n'ai pas testé.
";s:7:"dateiso";s:15:"20130109_111500";}s:15:"20130103_184600";a:7:{s:5:"title";s:37:"VroumVroumBlog 0.2.11 et nouveau site";s:4:"link";s:57:"http://bohwaz.net/p/VroumVroumBlog-0-2-11-et-nouveau-site";s:4:"guid";s:57:"http://bohwaz.net/p/VroumVroumBlog-0-2-11-et-nouveau-site";s:7:"pubDate";s:25:"2013-01-03T18:46:00+01:00";s:11:"description";s:0:"";s:7:"content";s:247:"Pour fêter la sortie de VroumVroumBlog 0.2.11 qui corrige une faille de sécurité dans la libxml, voici le nouveau site de VVB : http://dev.kd2.org/autoblog/.
";s:7:"dateiso";s:15:"20130103_184600";}s:15:"20121026_043130";a:7:{s:5:"title";s:20:"Un an en australie !";s:4:"link";s:38:"http://bohwaz.net/p/Un-an-en-australie";s:4:"guid";s:38:"http://bohwaz.net/p/Un-an-en-australie";s:7:"pubDate";s:25:"2012-10-26T04:31:30+02:00";s:11:"description";s:0:"";s:7:"content";s:493:"Dans maintenant moins de deux semaines je retournerais en Australie, cette fois-ci pour une période d'un an.
Comme lors de mon précédent voyage, vous pourrez suivre mes aventures sur mon journal de voyage en ligne : Oz. Un an en Australie (et plus si affinités).
Ce blog sera donc un peu délaissé mais je continuerais à y poster quelques actus quand cela sera justifié.
";s:7:"dateiso";s:15:"20121026_043130";}s:15:"20121004_020400";a:7:{s:5:"title";s:56:"Fotoo Hosting upgrade: now with HTML5 client-side resize";s:4:"link";s:75:"http://bohwaz.net/p/Fotoo-Hosting-upgrade-now-with-HTML5-client-side-resize";s:4:"guid";s:75:"http://bohwaz.net/p/Fotoo-Hosting-upgrade-now-with-HTML5-client-side-resize";s:7:"pubDate";s:25:"2012-10-04T02:04:00+02:00";s:11:"description";s:0:"";s:7:"content";s:1105:"I already told you about my little Fotoo Hosting project but now it's time to make the announcement of the first revamp of this software.
So this new 2.0.0 version has a new design, an easier admin-mode (just click on login), and a big improvement on picture upload as I got rid of the Flash applet which was used to resize picture before upload, so your bandwidth stays low. Now there is a HTML5 (Javascript + Canvas) client-side resize before upload, it works better than the Flash applet, and it's easier to use.
And another big news is that you can now upload a complete album of multiple pictures at one time, all the pictures will get listed under the same page.
So what are you waiting for?
";s:7:"dateiso";s:15:"20121004_020400";}s:15:"20120926_082500";a:7:{s:5:"title";s:28:"Lightweight PHP SMTP library";s:4:"link";s:48:"http://bohwaz.net/p/Lightweight-PHP-SMTP-library";s:4:"guid";s:48:"http://bohwaz.net/p/Lightweight-PHP-SMTP-library";s:7:"pubDate";s:25:"2012-09-26T08:25:00+02:00";s:11:"description";s:0:"";s:7:"content";s:1860:"
As always, I like to keep things simple and light in my code so one day I was looking for a PHP library able to send mails directly via SMTP. I still find it amazing that PHP doesn't have this feature in its standard package but hey why not. So I looked and I found some libraries from bigger frameworks like PEAR and Zend. They are good, but the PEAR Mail package depends on Net_SMTP, which depends on Socket, which depends on... You get the idea.
I like things that interact directly with standard PHP features, things that don't make a new interface for everything. For example PHP has a fairly good socket API so why bother adding an abstraction layer here?
So in a couple of hours, including some RFC reading (did you know that you can include comments in email addresses, like for example bohwaz@(oh that seems nice ! (but not as nice as emails addresses like "oh, look !"@example.tld))other.example.tld, what a nightmare that would be to parse with a regexp¹), and here it is: just a light and simple PHP SMTP library: lib.smtp.php
It's licensed under the LGPL and it can handle SSL, TLS, and SMTP-AUTH. It only sends text/plain emails in UTF-8 but <troll>who cares about HTML emails anyway?</troll>
¹ Even if I'm really supportive of the fight Stéphane Bortzmeyer is leading against the badly written email validation checks, I have to admit that it's sometimes tricky to do things right. Like here I had to extract multiple addresses from one string, and it's not easy if you don't want to use a very big and slow regexp.
";s:7:"dateiso";s:15:"20120926_082500";}s:15:"20120724_160100";a:7:{s:5:"title";s:18:"Chalon dans la rue";s:4:"link";s:38:"http://bohwaz.net/p/Chalon-dans-la-rue";s:4:"guid";s:38:"http://bohwaz.net/p/Chalon-dans-la-rue";s:7:"pubDate";s:25:"2012-07-24T16:01:00+02:00";s:11:"description";s:0:"";s:7:"content";s:324:" ";s:7:"dateiso";s:15:"20120724_160100";}s:15:"20120718_020100";a:7:{s:5:"title";s:59:"Sauvegarder et jouer à des jeux Wii sur disque ou clé USB";s:4:"link";s:79:"http://bohwaz.net/p/Sauvegarder-et-jouer-à-des-jeux-Wii-sur-disque-ou-clé-USB";s:4:"guid";s:79:"http://bohwaz.net/p/Sauvegarder-et-jouer-à-des-jeux-Wii-sur-disque-ou-clé-USB";s:7:"pubDate";s:25:"2012-07-18T02:01:00+02:00";s:11:"description";s:0:"";s:7:"content";s:7039:"Il est possible grâce aux outils développés par la communauté de lancer de multiples applications et jeux non-validés "officiellement" par Nintendo sur Wii : des lecteurs de vidéo, des émulateurs, des jeux libres, ou même une distribution Linux. Mais il existe aussi une possibilité qui devrait exister d'origine sur chaque console : la possibilité de sauvegarder et re-jouer les sauvegardes de ses jeux Wii. Car les supports DVD ne sont pas éternels, et vu le prix d'un jeu ça serait bête de le perdre. Voici donc un petit HOW-TO sur comment sauvegarder et jouer à des jeux stockés sur une clé ou un disque dur USB sur sa Wii.
Vous aurez besoin de :
Pour commencer, il faut que votre Wii soit en version 4.3, pour cela, à l'écran d'accueil, cliquer sur le bouton "Options Wii" en bas à gauche, puis choisir "Paramètres Wii" (bouton de droite), et là la version apparaît en haut à droite de l'écran. Si vous avez 4.3E c'est bon, le "E" indique juste que c'est la version européenne. Si vous êtes à une version inférieure, choisissez "Mise à jour de la Wii" dans ce menu, et re-vérifiez à la fin de la mise à jour que la version est la bonne.
Ensuite, toujours dans le menu "Paramètres Wii", choisir "Internet" puis "Informations générales". Là notez bien l'adresse MAC de la console.
Rendez-vous maintenant sur le site http://please.hackmii.com/ et rentrez l'adresse MAC de voter Wii, après avoir coché la case qui correspond à votre version de console (normalement 4.3E pour l'europe), et vérifié que la case "Bundle the HackMii Installer for me!" est bien cochée. Cliquez l'un des boutons "blue" ou "red" (aucune différence).
Le site vous propose de télécharger un fichier ZIP, décompressez-le et recopiez son contenu sur votre carte SD. N'oubliez pas d'éjecter correctement la carte SD.
Insérez la carte SD dans la Wii allumée, et rendez-vous dans la messagerie (icône enveloppe en bas à droite de l'écran d'accueil). Allez au jour précédent et cliquez sur l'enveloppe rouge. Suivez ensuite les instructions, choisissez "Install Homebrew Channel" puis "Install Bootmii".
Et voilà vous avez installé le HomeBrew Channel qui vous permet déjà de télécharger et installer des centaines d'applications et jeux homebrew !
Pour pouvoir sauvegarder et lancer des jeux sauvegardés via une clé USB
Pimp My Wii est un utilitaire bien pratique qui va se charger à votre place d'installer les IOS (versions spécifiques de l'OS de la Wii) qui sont patchées pour pouvoir lancer les jeux depuis un support qui n'est pas un DVD original.
Télécharger la dernière version, par exemple ici le 2.30. Dé-zipper le fichier, puis copier le répertoire apps sur la carte SD. Remettre la carte SD dans la Wii, et dans le Homebrew Channel choisir "Pimp My Wii" puis "Charger". Dans le menu de Pimp My Wii, choisir "Hacker sa Wii / Installation minimale", puis appuyer sur le bouton A pour valider les options proposées (ne rien modifier) jusqu'à ce que l'installation soit en cours. Cela va prendre un peu de temps pour télécharger et installer tout ça.
Ce petit utilitaire va permettre de créer et charger des sauvegardes de jeu, que ça soit depuis un disque ou une clé USB ou la carte SD.
D'abord télécharger le fichier .DOL sur le site officiel. Ensuite sur la carte SD, créer un répertoire nommé usbloader_gx dans le répertoire apps, y placer le fichier .DOL et le renommer en boot.dol.
Voilà c'est bon !
La Wii utilise un type de partition particulier pour stocker les jeux : WBFS. Il n'est pas reconnu par défaut sous Linux ou Windows, donc il faut des outils spécifiques.
Prenons le cas le plus simple, où vous voulez consacrer l'intégralité de l'espace de votre disque/clé USB aux jeux Wii, il va donc falloir procéder comme suit.
En premier il faut identifier le disque que vous voulez utiliser avec sudo fdisk -l en ligne de commande. Par exemple dans mon cas :
Disk /dev/sdc: 74.4 GB, 74355769344 bytes
Maintenant on va formater le disque en lançant sudo fdisk /dev/sdc (Attention, si vous vous trompez de lettre, et utilisez par exemple sda, vous risquez de perdre les données de votre disque principal), et dans fdisk taper o puis Entrée pour effacer toute partition existante, puis n et Entrée pour créer une nouvelle partition (choisir p pour primary puis le chiffre 1). Enfin, taper t puis Entrée et choisir le type de partition 0. Pour sauvegarder, taper w puis Entrée. Pour quitter q.
Maintenant on a une partition vierge, il faut la formater en WBFS. Pour cela installer qwbfsmanager, excellent logiciel libre de gestion de partition WBFS. Y sélectionner ensuite la partition (/dev/sdc1 dans mon cas) et la formater. Le logiciel permet aussi d'importer et exporter des ISOs des jeux dans la partition.
Pour ne pas avoir à passer par le HomeBrew Channel à chaque fois, on peut ajouter le USB Loader GX comme chaîne Wii. Pour cela télécharger la dernière version du Forwarder pour USB Loader GX, puis copier le fichier sur la carte SD. Mettre la carte SD dans la Wii, lancer Pimp My Wii, sélectionner "WAD" au menu, puis sélectionner "Wii SD Slot" et enfin sélectionner le fichier qu'on vient de mettre dans la carte SD, et choisir "Installer" puis quitter Pimp My Wii.
";s:7:"dateiso";s:15:"20120718_020100";}s:15:"20120629_232700";a:7:{s:5:"title";s:33:"Comment stocker les mots de passe";s:4:"link";s:53:"http://bohwaz.net/p/Comment-stocker-les-mots-de-passe";s:4:"guid";s:53:"http://bohwaz.net/p/Comment-stocker-les-mots-de-passe";s:7:"pubDate";s:25:"2012-06-29T23:27:00+02:00";s:11:"description";s:0:"";s:7:"content";s:2627:"Une seule réponse possible : avec bcrypt !
Pourquoi bcrypt ? Je ne m'étendrais pas sur le sujet, d'autres l'ont déjà fait avant moi, et mieux.
Comme dis et répété depuis longtemps par mes petits camarades (et notamment mat), c'est la seule méthode qu'on devrait utiliser. Et je suis également fautif, jusqu'à quelques années j'utilisais toujours une méthode perso à base de sha1($password . $salt)
mais c'est pas pareil ! Alors pourquoi ne pas déjà le faire ? Pourquoi ne pas l'avoir déjà fait depuis longtemps ? Et bien en partie car PHP ne donne pas d'accès simple à bcrypt, qu'il faut passer par la syntaxe un peu ésotérique de crypt pour y avoir accès. Mais pas de panique, c'est quand même simple à faire. Démonstration.
Premièrement nous allons hasher notre mot de passe. Pour cela nous devons générer le salt nous-même, PHP n'ayant pas de méthode native pour le faire, donc on va se baser sur un sha1 de uniqid() qui est nourri par rand(). rand() n'est pas réputé pour être un bon générateur de hasard, il vaudrait mieux utiliser directement /dev/urandom ou openssl, mais pour un cas simple rand() devrait suffire amplement, surtout avec Suhosin qui donne à rand() une vrai capacité de générer du vrai hasard.
$salt = substr(sha1(uniqid(mt_rand(), true)), 0, 22);
Ensuite nous allons hasher le mot de passe avec le salt :
$password = crypt($password, '$2a$08$' . $salt);
Nous avons donc désormais un mot de passe hashé, que nous pouvons stocker tel quel dans la base de données par exemple. Maintenant imaginons que nous voulions vérifier ce mot de passe, par exemple après que l'utilisateur l'ait entré dans un formulaire de connexion à un site ? Et bien c'est très simple, on reprends notre $password que nous avons stocké et on le donne à crypt en second argument, qui va se charger tout seul d'en extraire le salt et renvoyer un hash. Si le hash diffère du hash stocké, c'est que le mot de passe entré est erroné.
if ($password == crypt($_POST['password'], $password)) { echo "Connexion réussie !"; }
Et voilà, maintenant vous n'avez plus d'excuse !
";s:7:"dateiso";s:15:"20120629_232700";}s:15:"20120629_224600";a:7:{s:5:"title";s:51:"Passphrase - Générer des phrases secrètes en PHP";s:4:"link";s:69:"http://bohwaz.net/p/Passphrase-Générer-des-phrases-secrètes-en-PHP";s:4:"guid";s:69:"http://bohwaz.net/p/Passphrase-Générer-des-phrases-secrètes-en-PHP";s:7:"pubDate";s:25:"2012-06-29T22:46:00+02:00";s:11:"description";s:0:"";s:7:"content";s:3040:"Récemment, un comic de XKCD sur la résistance des mots de passe a fait parler de lui en faisant revenir au goût du jour l'idée de Diceware, c'est-à-dire que plutôt que d'utiliser un mot de passe comme Gl0ubiBoulg4, il est probablement plus simple de tirer au hasard plusieurs mots du dictionnaire. Dans le comic de XKCD l'exemple donné est corriger cheval batterie agrafe, et effectivement ça semble plus simple.
Mais d'un point de vue sécurité qu'en est-il ? Et bien c'est beaucoup mieux. Par exemple si on dit que notre premier mot de passe ne peut contenir que des lettres et des chiffres, ainsi que par exemple des points et des virgules, cela fait que chaque caractère peut avoir 64 possibilités différentes, et 64 possibilités, ça fait 6 bits (26 lettres majuscules + 26 lettres minuscules + 10 chiffres + 2 signes de ponctuation = 64). Si le mot de passe fait 8 caractères cela donne donc 6 x 8 = 48 donc 48 bits d'entropie.
Revenons à notre phrase secrète (passphrase en anglais), elle est composée de mots issus d'une liste de 3.725 mots du dictionnaire du français fondamental. Ce qui donne presque 12 bits pour chaque mot. Une phrase au hasard de quatre mots donnera ainsi 12 x 4 = 48 donc également 48 bits d'entropie. Alors pourquoi prétendre que c'est mieux ?
Et bien très simplement nous n'utilisons quasiment jamais des mots de passe qui correspondent aux 48 bits décrits précédemment (par exemple Znq3HvGD), mais des mots de passe lisibles, avec des voyelles qui suivent des consonnes, et souvent un ou plusieurs chiffres à la fin. Par exemple Bohwaz95 correspond à cette description, tout comme ChaCho32, et cela réduit l'entropie réelle d'autant, par exemple à 28 bits. Le passage aux phrases secrètes donne donc directement une entropie 20 bits supérieure, avec une simplicité de mémorisation sans commune mesure.
Passphrase est une simple implémentation de cette idée de phrase secrète, en PHP, en un seul fichier qui comprends le dictionnaire de 3.725 mots. La bibliothèque est très simple à utiliser et est sous licence WTFPL pour pouvoir être réutilisée n'importe où.
Exemple :
<?php require __DIR__ . '/lib.passphrase.french.php'; echo Passphrase::generate(4); // Nombre de mots à générer ?>
À télécharger ici : http://svn.kd2.org/svn/misc/libs/i18n/passphrase/
À noter que Passphrase est utilisé pour suggérer des mots de passe par défaut dans Garradin.
";s:7:"dateiso";s:15:"20120629_224600";}s:15:"20120629_021100";a:7:{s:5:"title";s:44:"De l'espace public et de l'abandon du débat";s:4:"link";s:38:"http://bohwaz.net/p/De-l-espace-public";s:4:"guid";s:38:"http://bohwaz.net/p/De-l-espace-public";s:7:"pubDate";s:25:"2012-06-29T02:11:00+02:00";s:11:"description";s:0:"";s:7:"content";s:2136:"« L’objet de cet espace public est évident : il est censé être le lieu de ces standards et de ces mesures qui n’appartiennent à personne mais s’appliquent à tout le monde. Il est censé être le lieu de l’universel. Le problème est qu’il n’y a pas d’universel – l’universel, la vérité absolue, existe, et je sais ce que c’est. Le problème, c’est que vous le savez aussi, et que nous connaissons des choses différents, ce qui nous place quelques phrases en arrière, armés de nos jugements universels irréconciliables, apprêtés mais sans nulle part où obtenir un jugement d’autorité. Que faire ? Eh bien, vous faites la seule chose que vous pouvez faire, la seule chose honnête : vous affirmez que votre universel est le seul véritable, même si vos adversaires ne l’acceptent clairement pas. Et vous n’attribuez pas leur esprit récalcitrant à la folie, ou à la pure criminalité – les catégories publiques de condamnation – mais au fait, bien que regrettable, qu’ils soient sous l’emprise d’une série d’opinions erronées. Et il vous faut abandonner, parce que la prochaine étape, celle qui tend à prouver l’inexactitude de leurs opinions au monde, même à ceux qui sont sous leur emprise, n’est pas une étape possible pour nous, humains finis et situés.
Il nous faut vivre en sachant deux choses : que nous sommes absolument dans le juste, et qu’il n’y a pas de mesure globalement acceptée par laquelle notre justesse peut être validée de façon indépendante. C’est comme ça, et on devrait simplement l’accepter, et agir en cohérence avec nos opinions profondes (que pourrait-on faire d’autre?) sans espérer qu’un quelconque Dieu descendra vers nous, comme le canard dans cette vieille émission de Groucho Marx, et nous dire que nous avons prononcé le mot juste. »
— Stanley Fish, Postmodern warfare: the ignorance of our warrior intellectuals, Harper’s Magazine, Juillet 2002 (via Owni)
";s:7:"dateiso";s:15:"20120629_021100";}s:15:"20120615_034000";a:7:{s:5:"title";s:45:"Garradin, gestionnaire d'association en ligne";s:4:"link";s:64:"http://bohwaz.net/p/Garradin-gestionnaire-d-association-en-ligne";s:4:"guid";s:64:"http://bohwaz.net/p/Garradin-gestionnaire-d-association-en-ligne";s:7:"pubDate";s:25:"2012-06-15T03:40:00+02:00";s:11:"description";s:0:"";s:7:"content";s:4293:"(Également publié sur LinuxFR.)
Cher journal, si je prends le clavier en ce jour c'est pour t'annoncer, de manière discrète, la création de Garradin, un gestionnaire d'association en ligne.
Il existait déjà Piwam, mais qui est abandonné, et Galette, qui était aussi abandonné au moment de la création de Garradin, mais qui a repris du service depuis (bonne nouvelle !), et maintenant il y a aussi Garradin.
Garradin, écrit en PHP (non ne fuyez pas), s'installe en une décompression et 1 clic (utilisation de SQLite comme base de données), est relativement léger (250Ko compressé, moins de 1,5Mo décompressé), et se veut être une solution complète de gestion de petite et moyenne association. Il est prévu de pouvoir :
Vous l'avez vu, ça va un peu plus loin que Piwam ou Galette, le but étant qu'une association ait avec Garradin tout ce dont elle ait besoin de base pour son fonctionnement, et que tout soit abordable de manière simple, mais qu'en même temps rien ne bloque pour évoluer (export des membres et de la compta dans des formats usuels, API, être proche de SPIP sur le wiki permet de remplacer le site public par SPIP sans tout chambouler les habitudes, etc.).
La licence choisie est l'AGPLv3.
Pour le moment ce qui est fonctionnel dans la version courante (0.3.3) :
- ajout, gestion, modification d'adhérents ;
- échange de message entre adhérents ;
- envoi de message collectif aux adhérents ;
- newsletter ;
- wiki complet avec historique des pages, recherche, etc. ;
- site web public (qui se repose sur le wiki et utilise des squelettes similaires à SPIP) ;
- catégories de membres ;
- etc.
Par contre Garradin ne fera pas :
- de l'impression d'étiquettes ou de cartes de membres ;
- de la gestion ERP : pas de génération de facture, de gestion des salaires, etc. ;
- du CMS complet, pas d'intérêt à refaire un second SPIP.
La prochaine version de Garradin, la 0.4.0, se concentrera sur l'ajout de la comptabilité, par un journal comptable complet (ajout, édition, suppression, liste, et recherche d'opérations dans le journal), relié au plan comptable associatif français, mais pas encore l'établissement d'exercices comptables par exemple.
Si je poste aujourd'hui c'est pour vous inciter à essayer ce petit logiciel, à faire des retours, et si certain-e-s sont intéressé-e-s, à participer au développement. À ce sujet, le développement est assuré avec Fossil, de manière ouverte, et j'accueillerais avec plaisir tout contributeur au sein du projet, que ça soit pour rédiger la documentation ou participer au code.
La page du projet : http://dev.kd2.org/garradin/
Des images de l'interface web : Liste des membres - Édition de page dans le wiki
";s:7:"dateiso";s:15:"20120615_034000";}s:15:"20120512_233800";a:7:{s:5:"title";s:30:"10 ans de Journal Intime.com !";s:4:"link";s:48:"http://bohwaz.net/p/10-ans-de-Journal-Intime-com";s:4:"guid";s:48:"http://bohwaz.net/p/10-ans-de-Journal-Intime-com";s:7:"pubDate";s:25:"2012-05-12T23:38:00+02:00";s:11:"description";s:0:"";s:7:"content";s:3891:"Bon je me suis retapé un beau blog tout joli et au final c'est le dernier endroit où j'annonce des trucs. C'était bien la peine. Donc voilà avec une semaine de retard : Bon anniversaire Journal Intime.com !
JI.com (pour les intimes) est mon plus ancien site encore actif, et un des plus visités avec plus de 2 millions de pages vues et 200.000 visiteurs mensuels. Le domaine a été déposé le 6 mai 2002, et même si le site n'a ouvert que le 1er septembre 2002, je retient cette date du 6 mai 2002 pour fêter les 10 ans. Depuis tout ce temps beaucoup de choses ont changé. La folie médiatique où il ne passait pas une semaine sans avoir un article de presse mentionnant le site s'est assez vite tassée, avec l'arrivée de la mode des blogs. Mais je suis quand même fier que 10 ans plus tard la fréquentation du site soit toujours la même, le nombre de contributeurs régulier ne bouge pas trop non plus, même si ce ne sont pas toujours les même. Car quasiment tous les autres sites vers lesquels un lien avait été fait ont fermé, la plupart ayant été racheté, puis fait faillite ou fermé par leur nouveau propriétaire. Comme quoi le choix de faire et rester dans le non-commercial ne s'avère pas si mauvais que ça avec le temps.
Pour ces 10 ans j'aimerais remercier le nombre incroyable de personnes qui ont soutenu le projet. Des gens qui m'ont envoyé des cartes postales et un peu d'argent pour m'aider à payer l'hébergement alors que j'étais encore lycéen, à tous ceux qui ont participé au graphisme, ceux et celles qui ont écrit, qui y ont raconté un pan entier de leur vie, ceux également qui sont aujourd'hui des auteurs connus, et même celle qui a eu le courage de faire un mémoire et un doctorat sur les journaux en ligne, et aussi tous et toutes les autres que j'oublie :)
Pour fêter dignement ce bel anniversaire, j'ai dévoilé le fruit de plus de 4 ans de travail, de recherche, de tâtonnement, de découragement, de reprise et finalement de réussite, c'est à dire une réécriture complète du moteur technique, dénommé L'encrier, dont le code datait quand même principalement de 2003. Cette réécriture voit l'apparition d'une fonctionnalité qui permet de personnaliser le design en trois clics (1. la police, 2. la couleur, 3. l'image), accessible à tout le monde donc, et donnant normalement des résultats relativement lisibles et pas trop moches (sauf si l'image vient perturber ça). Tout l'aspect graphique a également été revu et est adapté aux mobiles (il faut bien vivre avec son temps). Quelques images pour la forme :
Le site en lui-même a eu droit à une refonte graphique avec l'aide précieuse de Karine.
Une refonte également adaptée au mobile :
Il ne me reste plus qu'à vous donner rendez-vous sur Journal Intime.com dès maintenant, en espérant qu'on pourra aussi fêter les 20 ans ;-)
P.S. : Si vous souhaitez tester le site sans créer de compte vous pouvez utiliser demo@journalintime.com comme login et demo comme mot de passe.
";s:7:"dateiso";s:15:"20120512_233800";}s:15:"20120430_051300";a:7:{s:5:"title";s:55:"Carnet de voyage en Australie 2009 - version imprimable";s:4:"link";s:73:"http://bohwaz.net/p/Carnet-de-voyage-en-Australie-2009-version-imprimable";s:4:"guid";s:73:"http://bohwaz.net/p/Carnet-de-voyage-en-Australie-2009-version-imprimable";s:7:"pubDate";s:25:"2012-04-30T05:13:00+02:00";s:11:"description";s:0:"";s:7:"content";s:815:"
Lors de mon voyage en Australie en 2009 j'avais tenu un carnet de route, aujourd'hui archivé ici : http://bohwaz.net/blog/australie-2009/
De ce carnet web j'avais créé et imprimé en quelques exemplaires un carnet papier, relié à la main. Cette version imprimable est aujourd'hui en ligne également, même si la compression des images ne lui rends pas vraiment justice (la faute à Scribus qui ne sait pas gérer les images en SVG).
Voici donc : Carnet de voyage en Australie - 2009 (PDF, 10Mo)
";s:7:"dateiso";s:15:"20120430_051300";}s:15:"20120429_193500";a:7:{s:5:"title";s:21:"Zoom H-1 2.00 upgrade";s:4:"link";s:41:"http://bohwaz.net/p/Zoom-H-1-2-00-upgrade";s:4:"guid";s:41:"http://bohwaz.net/p/Zoom-H-1-2-00-upgrade";s:7:"pubDate";s:25:"2012-04-29T19:35:00+02:00";s:11:"description";s:0:"";s:7:"content";s:1493:"The Zoom H-1 is a very interesting pocket digital recorder priced at ~95 €. It features two good quality microphones in XY position and can record up to 10 hours with one standard AA battery. Basically it's the same stuff as the H-2 but with only 2 mics, cheaper, and made of plastic. The microphone quality is good, not the best, but for the price it would be difficult to find something better.
Some time ago Zoom released a new firmware release (2.00) which mainly adds an USB audio interface feature, which allows you to use it as USB microphone / headphone amp.
If you get a "Write Error" message while upgrading, the file name is probably wrong. It should be "H1MAIN.BIN" in uppercase.
";s:7:"dateiso";s:15:"20120429_193500";}s:15:"20120405_120200";a:7:{s:5:"title";s:38:"Montre Texas Instruments eZ430 Chronos";s:4:"link";s:58:"http://bohwaz.net/p/Montre-Texas-Instruments-eZ430-Chronos";s:4:"guid";s:58:"http://bohwaz.net/p/Montre-Texas-Instruments-eZ430-Chronos";s:7:"pubDate";s:25:"2012-04-05T12:02:00+02:00";s:11:"description";s:0:"";s:7:"content";s:9288:"Texas Instruments a vendu a plusieurs reprises à bas prix (17,50 €) sur son eStore son kit de développement eZ430 Chronos, qui n'est rien d'autre qu'une montre dédiée aux geeks et sportifs. Ce kit intègre donc la montre, qui peut communiquer en radio fréquences et dispose d'un écran 96 segments, ainsi qu'un dongle USB pour communiquer sans fil avec la montre et enfin un dongle USB permettant de connecter directement le module de la montre au PC (il est nécessaire d'ouvrir la montre pour ça).
Le kit existe en trois fréquences : 433, 868, et 915 MHz. La première est la plus répandue mais les deux secondes ont une meilleure portée. J'ai personnellement choisi la première pour plus de commodité.
De base la montre fournit l'heure et la date, un altimètre, un indicateur de pression atmosphérique, un accéléromètre (permet de contrôler la souris de l'ordinateur avec le logiciel fourni), un compte à rebours et un chrono, ainsi que la possibilité de s'interfacer avec un bracelet sans fil, permettant ainsi d'afficher et compter les pulsations cardiaques et la distance parcourue (podomètre). Il existe aussi une fonction permettant de contrôler les présentations (Powerpoint) avec la montre (pour aller au slide suivant ou précédent par exemple), que je n'ai personnellement pas testé. Le firmware est entièrement hackable et remplaçable.
Il existe quelques applications marrantes développées par des amateurs, comme par exemple un pilote MIDI Alsa pour utiliser la montre comme un Thérémine, certaines pour contrôler les lumières, volets roulants etc. d'une maison domotique, ou le contrôle d'une voiture télécommandée, un jeu de tennis virtuel à la Wii Sports, compteur de high five (!), génération de code à usage unique (One Time Password, OTP) pour s'identifier sur SSH ou sur Google, etc etc.
Personnellement, même si je trouve tout ça très rigolo, je suis plus intéressé par les fonctionnalités de base d'une montre. Je me suis donc tourné vers les firmwares alternatifs qui permettent d'améliorer les capacités de la montre. Il en existe principalement trois :
Disponible sur GitHub.
Ajoute principalement le support pour un réveil automatique basé sur les phases de sommeil. Le principe est simple : vous demandez par exemple à être réveillé entre 6h30 et 7h00, et la montre observe les mouvements grâce à l'accéléromètre, et en déduit si vous êtes dans une phase de sommeil profond ou léger. Si dans l'intervalle 6h30-7h00 vous passez à une phase de sommeil léger, la montre sonne et vous avez ainsi un réveil plus facile. Si à 7h00 vous êtes toujours en sommeil lourd, la montre sonne quand même, parce que bon faut pas être en retard non plus.
Personnellement ce principe purement théorique me semble bien joli mais j'aime pas avoir un réveil qui sonne, quelle que soit la phase de sommeil. Donc l'intérêt me semble limité.
Disponible sur le forum watchuseek.
Catalin, membre du forum watchuseek, propose un firmware très complet. Non en fait, 5 firmwares très complets :
La thermo-compensation est incluse dans tous les firmwares, sauf le Data-logger. Cette fonctionnalité permet, grâce au Data-logger, de déterminer la courbe de décalage de la montre (qui se décale de quelques dixièmes de seconde à quelques secondes par jour), cette courbe dépends du quartz de la montre, et est donc unique à chaque montre. Il faut donc suivre une procédure particulièrement lourde, et notamment laisser la montre dans un environnement à température constante (comme un frigo) pendant plusieurs jours, et utiliser un logiciel Windows, pour obtenir cette courbe de décalage. Une fois la courbe connue, il suffit de l'envoyer à la montre et la fonction de thermo-compensation va corriger automatiquement le décalage en fonction de la température du capteur. En pratique cela permet d'avoir une montre d'une précision extraordinaire, car ce genre de fonction n'est que rarement disponible dans les horloges, ou alors sur les modèles très haut de gamme. Ici on peut obtenir un décalage annuel qui se compte à moins de quelques millisecondes.
Mais personnellement, étant un peu feignant je n'ai pas encore testé cette possibilité.
J'ai jeté mon dévolu sur le firmware WorldTime + CountDown + Interval Timer et je dois dire que c'est une grande réussite.
La plus grande difficulté est de comprendre son fonctionnement, qui n'est documenté que dans les posts de Catalin sur le forum (notamment ici et ici), et il faut remonter assez loin pour comprendre tout, un peu fastidieux donc. Enfin, ce firmware est en source fermé et propriétaire, alors que les autres sont libres.
Disponible sur SourceForge.
Ce firmware ne paye pas de mine (pas de site public détaillant le contenu) mais est relativement intéressant et est fourni avec une vraie documentation très claire en PDF.
Il fournit la même chose que le firmware original (sauf le protocole BlueRobin qui sert à synchroniser le bracelet qui mesure les pulsions cardiaques, car blob propriétaire), mais ajoute :
";s:7:"dateiso";s:15:"20120405_120200";}s:15:"20120403_204400";a:7:{s:5:"title";s:27:"Meeting Égalité LGBT 2012";s:4:"link";s:67:"http://bohwaz.net/p/Meeting-Égalité-LGBT-2012-aux-Folies-Bergère";s:4:"guid";s:67:"http://bohwaz.net/p/Meeting-Égalité-LGBT-2012-aux-Folies-Bergère";s:7:"pubDate";s:25:"2012-04-03T20:44:00+02:00";s:11:"description";s:0:"";s:7:"content";s:18416:"
Ce samedi 31 mars 2012 était organisé par les associations et coordinations françaises des associations et centres LGBT un meeting pour l'égalité des droits LGBT dans le cadre de la campagne présidentielle et législative (qu'on tends à oublier). Le but était d'interpeller les candidats et partis sur leur programme en faveur (ou non) de l'égalité des droits LGBT et notamment l'accès au mariage républicain, à l'adoption, à la procréation médicalement assistée, l'amélioration des soins pour les malades du SIDA, et la possibilité de choisir son identité sexuelle civile sans devoir passer par un acte chirurgical, un psy ou la justice.
Forcément un peu électoraliste vu le thème (il faut voter, c'est un devoir républicain et gna-gna-gna, propos un peu énervant quand on défend le droit à l'abstention comme moi), la soirée était quand même relativement intéressante et montrait sans détour le gouffre béant entre les partis politiques et leur vision de la politique et de la société en général.
Lors de cette soirée étaient présents une représentante du MODEM, Fadila Mehal, un représentant de l'UMP, Geoffroy Didier (conseiller de Brice Hortefeux), et une représentante du PS, Najat Vallaud-Belkacem (porte-parole de François Hollande). Les verts étaient directement représentés par Eva Joly, et le Front de Gauche par Jean-Luc Mélenchon. Aucune trace du parti de Nicolas Dupont-Aignant, du NPA, de Lutte Ouvrière ou de Jacques Cheminade. Enfin le Front National n'a pas été convié vu ses prises de positions plutôt habituelles et officielles sur le sujet...
Le contrat d'union : nous souhaitons que les droits seraient similaires que ceux du mariage, contractés dans les même conditions. (...) C'est une étape et demain nous serons peut-être à vos côtés pour la plénitude que vous demandez, je sais que le droit au mariage est quelque chose de très important et de fondamental, auquel personnellement je souscrit.
Nous sommes favorables à la reconnaissance juridiques des enfants conçus notamment à l'étranger dans le cas de la gestation pour autrui.
Pour les personnes trans-genre, François Bayrou estime normal de faciliter le changement du lien de l'état civil.
Pour l'homoparentalité, les enfants élevés par les couples homosexuels doivent être reconnus et notamment le lien parental avec le deuxième parent. Parce que c'est une chose essentielle que le droit de l'enfant soit reconnu.
(...)
[sur le mariage homosexuel :] Je crois en effet que la société française est prête, s'agissant de François Bayrou (...) vous savez que c'est quelqu'un de très croyant (...) et il disait que la tolérance doit être des deux côtés. Il considérait en effet qu'aujourd'hui le mariage, dans sa connotation à la fois spirituelle et sacrée pour certaines populations, et qu'il fallait laisser un peu de temps.
Je pense que la disposition que nous prenons de cette union civile adossée à des droits similaires peut être une étape importante aujourd'hui pour arriver en effet au mariage tel que nous le souhaitons tous.
[La représentante mentionne la présence dans la salle d'autres élus socialistes : la maire de Montpellier, Hélène Mandroux, la maire du 4ème arrondissement de Paris, Dominique Bertinotti, et les députés George Pau-Langevin et Patrick Bloche. Puis reprends le programme du PS en rappelant que François Hollande a été le premier signataire de ces propositions en faveur des droits LGBT. Mention de l'engagement numéro 31 du programme du PS en faveur de l'égalité des droits LGBT.]
Ce que disent les journalistes quand ils m'interrogent sur ces sujets : « Mais quand même qu'est-ce que ça induit pour la famille ? Est-ce que vous allez inventer une nouvelle forme de famille qui viendrait menacer je ne sais quel ordre établi ? » Non, pas du tout. Il s'agit simplement de reconnaître les familles qui existent déjà, de leur simplifier la vie, de les protéger, pour toutes les familles. C'est aussi simple que ça.
(...)
Ce qui devrait changer c'est que l'État doit arrêter d'être un obstacle, il doit devenir une solution pour que les gens puissent vivre leur orientation sexuelle ou leur identité de genre. L'État doit devenir une solution, doit les aider, et non pas les empêcher.
(...)
[sur le don du sang] Il faudra redire s'il en est besoin qu'il n'y a pas de population à risque, qu'il n'y a que des pratiques à risque. C'est quand même extraordinaire d'entendre encore ce genre de propos aujourd'hui. [applaudissements]
Je trouvais qu'il était important qu'un représentant de Nicolas Sarkozy soit là, ce soir, parmi vous, malgré les incompréhensions qu'il peut y avoir [huées du public], malgré ce que je pourrais qualifier de malentendus [huées]. (...)
Je veux juste vous faire partager ce qui est, selon moi, la philosophie d'action du candidat Nicolas Sarkozy. D'abord, pour lui, les homosexuels sont des citoyens comme les autres [huées, cris "ouais pour les impôts !"]. Je vous dis ce que ressens, ce que pense, ce que déclare et ce que défends Nicolas Sarkozy : pour lui les homosexuels sont des citoyens comme les autres. Et l'identité sexuelle fait partie d'une identité plus complète, et ça fait partie de l'intime pour lui, ça fait partie de soi, ça fait partie de sa nature. (...) Je ne veux pas qu'il y ait ce soir d'amalgame, je ne veux pas qu'il y ait de caricature : Nicolas Sarkozy respecte éminemment l'orientation sexuelle de chacun. Il respecte les homosexuels autant que les hétérosexuels, il ne fait aucun jugement de valeur. Et je précise pour répondre à ce que j'ai entendu dans la salle que nous condamnons avec la plus grande fermeté les propos de Christian Vanneste et de Brigitte Barèges. Christian Vanneste a été exclu de l'UMP ! (...)
Nicolas Sarkozy ne considère pas non plus les communautés homosexuelles comme un électorat à part, comme un marché électoraliste. Pour lui il n'y a aucune stratégie électorale. (...)
Pour Nicolas Sarkozy nous vivons dans une société où l'équilibre et la cohésion est fragile. Et son souci est de trouver un juste milieu pour que personne ne soit blessé, pour que personne ne soit exclu, et que le respect des traditions s'aligne aux mouvements sociétaux actuels. Voilà la philosophie d'action de Nicolas Sarkozy.
Alors oui c'est vrai Nicolas Sarkozy c'est pas favorable au mariage des personnes du même sexe. Et non pas parce qu'il nie l'amour que chacun puisse se porter mais que selon lui le mariage entre un homme et une femme n'est pas seulement un contrat mais c'est aussi une institution sociale. (...)
Grâce à Nicolas Sarkozy, la France est en pointe dans le combat contre l'homophobie. (...)
La France est le deuxième pays contributeur à Unitaid : un milliard d'euros par an contre le SIDA. [la foule scande "Égalité !" en chœur] (...)
Nicolas Sarkozy propose une cérémonie en mairie pour le PACS et que cette cérémonie soit de droit, et ça c'est une avancée. (...)
Je continue à défendre l'idée, coûte que coûte, malgré le fait que c'est parfois difficile, et parce que j'en suis intimement persuadé, que Nicolas Sarkozy est un homme de dialogue et un homme de respect. [huées]
Note : après ses propos homophobes réitérés depuis 2004, l'UMP n'a jamais exclu Christian Vanneste, malgré ce qu'affirme Geoffroy Didier. De même ce n'est pas un milliard d'euros mais 470 millions d'euros qui sont donnés à Unitaid, selon le représentant de Sidaction présent ce soir-là.
Je présenterais dans le premier conseil des ministres le projet de loi qui donnerait l'égalité des droits aux LGBT : accès au mariage aux personnes de même sexe, et accès à l'adoption. [applaudissements]
Mon rêve ça serait que pour la prochaine marche des fiertés, ce texte soit en cours de discussion au parlement.
(...) Une fois qu'on a ouvert le mariage, tous les droits qui découlent du mariage sont ouverts : l'adoption simple ou plénière, la procréation médicalement assistée, et le fait que le conjoint devient l'autre parent. J'ai envie que cela ne soit plus un problème, que cela soit très facile. (...)
Pour la multi-parentalité le projet n'est pas encore dans la société, je pense que cela est un peu tôt. Abandonner la filiation biologique est un pas et qu'il faut y aller progressivement. Ce débat doit avoir lieu et nous devons le rapprocher des familles recomposées. (...)
Changer de sexe doit être plus simple : que cela soit dé-psychiatrisé. Que cela passe par l'institution judiciaire, mais dé-psychiatrisé. (...)
La directive ACTA actuellement en préparation au parlement européen rendra l'accès aux médicaments génériques très difficile. Je refuse cette directive, où les droits de propriété intellectuelle prévalent sur le partage et sur les soins.
";s:7:"dateiso";s:15:"20120403_204400";}s:15:"20120327_012400";a:7:{s:5:"title";s:19:"PHP IP utils update";s:4:"link";s:39:"http://bohwaz.net/p/PHP-IP-utils-update";s:4:"guid";s:39:"http://bohwaz.net/p/PHP-IP-utils-update";s:7:"pubDate";s:25:"2012-03-27T01:24:00+02:00";s:11:"description";s:0:"";s:7:"content";s:1218:"Vous savez qu'il y a quelque chose d'assez vulgaire et grossier dans les institutions de la cinquième république c'est de tout ramener à une personne, donc d'une certaine manière le mieux que vous puissiez faire c'est de constater quelle est la qualité de ma formation qui résulte des travaux de la commission LGBT du Front de Gauche et des partis qui le constituent.
J'ai pensé que le plus subtil c'était de commencer peut-être — ne vous inquiétez pas je n'échapperais pas aux précisions — de parler un instant au moins de philosophie, parce que après on a un fil conducteur et moi ça m'aide à savoir comment je vous réponds. [rires dans la foule]
Donc le point de départ le voilà. C'est la seule manière pour manière pour vous et pour moi-même de penser. Sinon... Sinon quoi ? Je suis un mâle méditerranéen classique... voilà quoi.
Comment moi j'ai commencé à réfléchir ? Parce que à chaque fois je croyais avoir trouvé une réponse mais je m'apercevais qu'il y en avait toujours une autre qui venait derrière : l'adoption, etc.
Maintenant quel est le fil conducteur ? Au fond pour l'universaliste que je suis, l'angle le plus intéressant d'entrée dans la réflexion c'est par le trans-genre. C'est parce que c'est à ce moment que cesse l'assignation à une identité. Non seulement pour ceux qui doivent passer la frontière, un archétype qui constitue en soit la frontière. Mais aussi pour celui qui essaye d'y réfléchir parce qu'il réfléchit à ses frères et sœurs dans l'humanité. Et là, tout d'un coup, apparaît avec une force aveuglante, que même ça, ça ne décrit pas un être humain. Même son assignation sexuelle, son assignation genrée, ce n'est pas cela l'humain. Ce qui est l'humain, sous cet angle, c'est son identité universelle. Quelque chose qui est encore plus loin que toutes les apparences. On est habitués à cette idée d'aller au delà des apparences. Parce que quand on dis les personnes humaines naissent égales et demeurent égales en droit, on est déjà habitués que contre toute évidence nous sommes égaux. Alors qu'il y a des grands, des petits, des gros, des maigres, des hommes, des femmes... On sait bien que c'est un effort de raison. C'est par la raison que nous comprenons que nous sommes égaux. Et quand on réfléchit à partir du thème du trans-genre, on accède d'une manière absolument brûlante à cette idée que l'identité fondamentale d'un être humain est une identité universelle, et que tout le reste est accidentel. Que ce qui est essentiel, c'est cette universalité.
Donc une fois qu'on a posé ça, on est dans le même ordre de déduction que dans le thème de la laïcité qui postule que toutes les personnes sont égales en droit. Donc on débouche directement sur l'exigence d'une absolue égalité en droit. Et on la fonde philosophiquement, elle ne résulte pas simplement d'une protestation, ou d'une négociation avec un groupe ou une communauté, qui serait la négation du républicanisme qui m'anime. Donc à partir de là tout devient simple.
D'abord on commence par se débarrasser d'une dimension qui est obsédante, qui est l'exigence qu'on peut avoir de dé-psychiatrisation, dé-pathologisation, dé-judiciarisation... C'est là qu'on croit être bienveillant et en réalité on est offensant comme jamais. Et on doit ensuite bien comprendre que si toute assignation résulte d'un accident au sens philosophique, de la circonstance... quel est l'adversaire ? On a donc un archétype qui est là derrière, qu'on ne voit pas, et qui est le même qui ressurgit quand on raisonne sur les questions du féminisme ou sur les autres questions, c'est le patriarcat. [applaudissements] Le patriarcat est la structure culturelle invisible de l'ensemble de notre centre de réflexion. Donc tout processus doit apprendre à discerner qu'il se fait peut-être dans le sens que lui a enseigné le patriarcat mais peut-être pas. Il ne peut pas le faire s'il ne le sait pas. Donc là c'est le savoir qui va nous libérer. Alors après l'égalité des droits ça c'est fastoche. Et le mariage républicain puisque vous voilà tous entichés d'un nuptialisme que je trouve... (...)
La nuit du 4 août 2012 nous reprendrons le mécanisme d'abolition des privilèges de celle du 4 août 1789 [référence à l'abolition des privilèges genrés/sexués]. (...)
Je suis partisan que le partenariat civil soit ouvert à qui que ce soit. (...) On devrait faire en sorte de créer des droits pour toute personne, quelle que soit la nature du lien affectif qu'elle construit. Qui peut ne pas forcément être un lien de couple. On devrait étendre cette liberté à deux personnes qui ont assez d'amour l'une pour l'autre, que ça soit de l'amour fraternel ou quelque forme d'amour que l'on veut pour partager une vie et un bout de destin en commun, et bien la société devrait l'aider, et même l'encourager, et trouver que c'est bien et prendre les mesures qu'il faut pour protéger. (...)
PHP IP utils are now available in a new release.
This update brings a real normalize_ipv6 function which follows RFC 5952, as recommended by Stéphane Bortzmeyer. The previous behavior which expanded a short IPv6 address into a full long one is still available as expand_ipv6(), if needed.
I solved the problem of storing IPv6 addresses in mySQL (which doesn't support IPv6, a good reason to migrate to PostgreSQL) by using a VARBINARY field and inet_pton() function, you should do the same. It works for both IPv4 and IPv6 addresses. For SQLite, just use a BLOB field.
There is a new function available, check_ip, which checks wether an IP address matches against patterns given in an array. Patterns can be either IP addresses (eg 10.42.172.15), netmasks (eg 192.168.1.0/32, 2001::/16) or wildcards (eg 10.42.172.*, 2a01::*).
Still available at the same address : http://svn.kd2.org/svn/misc/libs/tools/ip_utils.php
";s:7:"dateiso";s:15:"20120327_012400";}s:15:"20120326_020500";a:7:{s:5:"title";s:56:"La rustine - atelier associatif de réparation de vélos";s:4:"link";s:74:"http://bohwaz.net/p/La-rustine-atelier-associatif-de-réparation-de-vélos";s:4:"guid";s:74:"http://bohwaz.net/p/La-rustine-atelier-associatif-de-réparation-de-vélos";s:7:"pubDate";s:25:"2012-03-26T02:05:00+02:00";s:11:"description";s:0:"";s:7:"content";s:1010:"
Et voilà, mon dernier projet, un peu plus IRL que d'habitude : un atelier d'auto-réparation de vélo, à Dijon. Il a ouvert il y a un peu plus d'un mois.
Mais rassurez-vous, ça implique toujours pas mal de développement ;) J'en reparlerais plus tard, pour le moment je mentionne juste Garradin, un gestionnaire d'association en ligne, à installer sur son propre serveur, qui se veut relativement complet, si des gens sont intéressés pour participer n'hésitez pas. Mais j'en dirais plus dans quelques semaines quand l'outil aura bien évolué.
";s:7:"dateiso";s:15:"20120326_020500";}s:15:"20120320_174700";a:7:{s:5:"title";s:60:"Gamin, le zine francophone sur la libération des mineur-e-s";s:4:"link";s:79:"http://bohwaz.net/p/Gamin-le-zine-francophone-sur-la-libération-des-mineur-e-s";s:4:"guid";s:79:"http://bohwaz.net/p/Gamin-le-zine-francophone-sur-la-libération-des-mineur-e-s";s:7:"pubDate";s:25:"2012-03-20T17:47:00+01:00";s:11:"description";s:0:"";s:7:"content";s:388:"Juste pour signaler rapidement la parution d'un zine sur la libération des mineur-e-s, qui parle des discriminations subies et de l'absence de droits dont ils-elles sont victimes. Très intéressant.
C'est ici : Gamin, le zine francophone sur la libération des mineur-e-s
";s:7:"dateiso";s:15:"20120320_174700";}s:15:"20120309_061200";a:7:{s:5:"title";s:65:"Fotoo Gallery : nouvelle version, nouveau site, nouveau diaporama";s:4:"link";s:81:"http://bohwaz.net/p/Fotoo-Gallery-nouvelle-version-nouveau-site-nouveau-diaporama";s:4:"guid";s:81:"http://bohwaz.net/p/Fotoo-Gallery-nouvelle-version-nouveau-site-nouveau-diaporama";s:7:"pubDate";s:25:"2012-03-09T06:12:00+01:00";s:11:"description";s:0:"";s:7:"content";s:1492:"Grosse mise à jour de Fotoo Gallery qui passe du vieillissant SQLite2 à PDO::SQLite3. De manière rapide : Fotoo Gallery se prépare à PHP 5.4. Un avantage c'est que du coup c'est plus rapide.
J'en ai profité pour réécrire la partie diaporama qui change de look. Par défaut ce sont les petites photos qui sont affichées, et non redimensionnées. Il est possible d'avoir les images en haute définition en cliquant sur HD, et de les adapter à la taille de l'écran en cliquant sur le bouton Zoom.
Un exemple de diaporama : Cours d'eau.
Vu que le diaporama sert aussi pour l'embed, voici la même chose en embed :
Une autre nouveauté étant la possibilité d'avoir des adresses réécrites pour toute la galerie, par exemple : http://bohwaz.net/photos/tag/irlande.
C'est aussi l'occasion d'inaugurer le nouveau site de Fotoo Gallery et le passage du développement de SVN à Fossil !
";s:7:"dateiso";s:15:"20120309_061200";}s:15:"20120308_193408";a:7:{s:5:"title";s:27:"Archiver avec 7-Zip et par2";s:4:"link";s:47:"http://bohwaz.net/p/Archiver-avec-7-Zip-et-par2";s:4:"guid";s:47:"http://bohwaz.net/p/Archiver-avec-7-Zip-et-par2";s:7:"pubDate";s:25:"2012-03-08T19:34:08+01:00";s:11:"description";s:0:"";s:7:"content";s:1687:"Parfois, il est nécessaire de sauvegarder et archiver des données, sur un support qui dormira dans une étagère, et dont on ne sait pas trop quand il en ressortira, ni en quel état. Par exemple sur un CD-ROM ou une mémoire Flash, dont la tenue dans la durée n'est pas forcément très prévisible.
Dans ce cas, on veut pouvoir restaurer l'archive même si une partie des données devient corrompues. Voici ma méthode d'archivage très simple à base de 7-zip et de par2.
En premier, nous allons créer une archive avec 7-zip, séparée en volumes d'une taille de 50 Mo (plus facile à reconstituer avec par2 il me semble) :
$ 7z a -v50 backup.7z /home/bohwaz/backup
Cela va créer autant de fichiers du genre backup.7z.0001, backup.7z.0002, etc. que nécessaire en fonction de la taille des données à archiver.
Maintenant nous allons créer des archives de redondance avec par2. Par2 est un utilitaire qui permet de reconstituer des données corrompues en créant des archives de "redondance". Vous trouverez de plus amples explications sur son fonctionnement sur ce post de Linux-Attitude par exemple.
$ par2 c -r25 backup.7z.*
Va ainsi créer de la redondance équivalente à 25% des données archivées. Ce qui signifie que par2 saura réparer les données corrompues, sauf si plus de 25% de ces données sont corrompues.
Et voilà il ne reste plus qu'à copier/graver sur CD !
";s:7:"dateiso";s:15:"20120308_193408";}s:15:"20120228_155944";a:7:{s:5:"title";s:25:"PHP & SQLite3 : collation";s:4:"link";s:41:"http://bohwaz.net/p/PHP-SQLite3-collation";s:4:"guid";s:41:"http://bohwaz.net/p/PHP-SQLite3-collation";s:7:"pubDate";s:25:"2012-02-28T15:59:44+01:00";s:11:"description";s:0:"";s:7:"content";s:744:"In PHP 5.3 there is no way to define a custom collation method for SQLite3.
But here is another reason to use PHP 5.4: it will provide new methods to have user-defined collation. For SQLite3 object it will be SQLite3::createCollation(name, callback), and there will be also a similar method for PDO::SQLite.
Its use is very easy:
$db = new SQLite3('data.db'); setlocale(LC_COLLATE, 'fr_FR.UTF-8'); $db->createCollation('PHP_COLLATE', 'strcoll'); $db->query('SELECT * FROM table ORDER BY name COLLATE PHP_COLLATE;');
Great, isn't it? Well just wait until PHP 5.4 release ;-)
";s:7:"dateiso";s:15:"20120228_155944";}s:15:"20120228_155900";a:7:{s:5:"title";s:25:"PHP & SQLite3 : collation";s:4:"link";s:41:"http://bohwaz.net/p/PHP-SQLite3-collation";s:4:"guid";s:41:"http://bohwaz.net/p/PHP-SQLite3-collation";s:7:"pubDate";s:25:"2012-02-28T15:59:00+01:00";s:11:"description";s:0:"";s:7:"content";s:744:"In PHP 5.3 there is no way to define a custom collation method for SQLite3.
But here is another reason to use PHP 5.4: it will provide new methods to have user-defined collation. For SQLite3 object it will be SQLite3::createCollation(name, callback), and there will be also a similar method for PDO::SQLite.
Its use is very easy:
$db = new SQLite3('data.db'); setlocale(LC_COLLATE, 'fr_FR.UTF-8'); $db->createCollation('PHP_COLLATE', 'strcoll'); $db->query('SELECT * FROM table ORDER BY name COLLATE PHP_COLLATE;');
Great, isn't it? Well just wait until PHP 5.4 release ;-)
";s:7:"dateiso";s:15:"20120228_155900";}s:15:"20120226_004016";a:7:{s:5:"title";s:38:"Gérer ses photos en ligne de commande";s:4:"link";s:58:"http://bohwaz.net/p/Gérer-ses-photos-en-ligne-de-commande";s:4:"guid";s:58:"http://bohwaz.net/p/Gérer-ses-photos-en-ligne-de-commande";s:7:"pubDate";s:25:"2012-02-26T00:40:16+01:00";s:11:"description";s:0:"";s:7:"content";s:2449:"
gThumb était un jour un outil très utile et simple à utiliser pour importer des photos, il était même possible de l'utiliser sans l'interface de visualisation par gthumb --import-photos
. Problème, comme pas mal de logiciel GNOME, au nom de la simplicité il est devenu inutilisable et d'ailleurs depuis récemment il n'est même plus capable de lister les photos de mon appareil !
Du coup, une seule solution simple, c'est d'utiliser des outils en ligne de commande. Inspiré ainsi de ce HOWTO sur OpenPrinting.org voici quelques bases.
Se placer dans le répertoire de destination et lancer :
$ gphoto2 --get-all-files
Grâce aux infos contenues dans les tags EXIF des images, il est possible de savoir dans quel angle a été prise la photo et de la tourner en accord. Le meilleur outil pour ça semble être jhead, qui fait une rotation sans perte (pas de re-compression JPEG) :
$ jhead *.jpg
Là, pas de secret, jBrout est le meilleur logiciel du genre ;-)
Une fois qu'on est sûr d'avoir bien tagué, trié et sauvegardé (important) ses précieux clichés, on peut les effacer de son appareil avec gphoto2 :
$ gphoto2 --delete-all-files --recurse
(Attention, pas de retour en arrière possible !)
feh est un outil en ligne de commande sans interface permettant de visualiser des photos, de faire des diaporamas, etc. Une utilisation simple pour faire défiler les images d'un répertoire en plein écran :
$ feh -F ~/photos/
Pour faire un diaporama avec changement toutes les 5 secondes :
$ feh -F -D 5 ~/photos/
man feh
vous donnera d'autres idées d'utilisation de cet outil.
La PAO est à mon sens le domaine le plus pauvre sous Linux et en logiciel libre également. Scribus se fait vieux, n'évolue que très peu, et très lentement. C'est également un logiciel poussif et lent à utiliser, qui n'est pas des plus pratiques.
La question qui revient le plus pour moi c'est comment faire de l'imposition simplement. Scribus ne le permet pas. Du tout. Il existe Laidout qui permet de faire ça graphiquement et de s'interfacer avec Scribus mais j'ai vraiment rien pigé à son interface en Motif (ARG !).
OpenLibreOffice Writer a une option sympa dans l'aperçu qui permet ce genre de chose (Options d'impression : aperçu, choisir ensuite le nombre de colonnes et de lignes, puis cliquer sur le bouton "Imprimer l'aperçu"), mais c'est de la bidouille pas pratique quand même.
Sans compter que par exemple si on a un tract A6 et qu'on veut en imprimer une planche sur une feuille A4, il faut recopier 8 fois la même page... Pratique ! Et puis faire de la PAO avec OpenLibreOffice c'est un peu comme vouloir jouer Beethoven au pipeau : c'est minable.
Du coup il ne reste que les outils en ligne de commande. Y'en a des paquets, pas mal en Java qui nécessitent la VM officielle, bof. J'ai essayé PoDoFo qui est incapable d'utiliser les fichiers .plan d'exemple qu'il fournit... Y'a pas mal de possibilités en PostScript aussi.
Mais le seul que j'ai trouvé pas mal c'est PDFJam (paquet pdfjam dans debian). Par exemple pour faire une planche A4 de 8 tracts A6 (2 lignes de 4) quand on a un PDF avec une seule page :
pdfjam --a4paper --landscape --nup 4x2 tract.pdf '1,1,1,1,1,1,1,1' --outfile planche.pdf
La suite de huit "1" au milieu sert à indiquer qu'il faut utiliser 8 fois la page 1 de tract.pdf.
Il existe d'autres options, lisez le man, et d'autres versions raccourcies : pdfjam-pocketmod pour faire un livret de 8 pages à mettre dans la poche à la manière de re:Pocket Mode, etc.
";s:7:"dateiso";s:15:"20120219_040042";}s:15:"20120218_024900";a:7:{s:5:"title";s:24:"Le vieil homme et la mer";s:4:"link";s:44:"http://bohwaz.net/p/Le-vieil-homme-et-la-mer";s:4:"guid";s:44:"http://bohwaz.net/p/Le-vieil-homme-et-la-mer";s:7:"pubDate";s:25:"2012-02-18T02:49:00+01:00";s:11:"description";s:0:"";s:7:"content";s:897:"François Bon a travaillé à une nouvelle traduction du vieil homme et la mer d'Hemingway, pensant que l'œuvre originale était dans le domaine public.
Gallimard n'a pas vu les choses du même œil et a décidé de demander le retrait de l'ouvrage ainsi qu'un dédommagement pour les 22 exemplaires du livre électronique vendu en ligne.
Du coup le livre est désormais disponible un peu partout, par exemple ici en EPUB et plein d'autres miroirs sont aussi dispos sur ce blog.
L'histoire complète est dispo sur Tiers Livre.
";s:7:"dateiso";s:15:"20120218_024900";}s:15:"20120216_035300";a:7:{s:5:"title";s:49:"Use UID and GID in AssignUserId (Apache2-MPM-ITK)";s:4:"link";s:69:"http://bohwaz.net/p/Use-UID-and-GID-in-AssignUserId-(Apache2-MPM-ITK)";s:4:"guid";s:69:"http://bohwaz.net/p/Use-UID-and-GID-in-AssignUserId-(Apache2-MPM-ITK)";s:7:"pubDate";s:25:"2012-02-16T03:53:00+01:00";s:11:"description";s:0:"";s:7:"content";s:277:"That's easy, just prepend a # sign in front of UID and GID instead of username/group name.
AssignUserId bohwaz bohwaz
Can be also written as:
AssignUserId #1001 #1001";s:7:"dateiso";s:15:"20120216_035300";}s:15:"20120210_160547";a:7:{s:5:"title";s:31:"Dropbear : réparer les locales";s:4:"link";s:49:"http://bohwaz.net/p/Dropbear-réparer-les-locales";s:4:"guid";s:49:"http://bohwaz.net/p/Dropbear-réparer-les-locales";s:7:"pubDate";s:25:"2012-02-10T16:05:47+01:00";s:11:"description";s:0:"";s:7:"content";s:1508:"
Dropbear est un super petit serveur et client SSH, très léger, que j'utilise sur du matériel embarqué ou des vieilles machines, qui n'ont que peu de RAM.
Y'a juste un petit bug : dropbear ne propage pas la locale utilisée par le client SSH, ce qui fait qu'on se retrouve avec des trucs comme ça :
$ locale LANG= LANGUAGE= LC_CTYPE="POSIX" LC_NUMERIC="POSIX" LC_TIME="POSIX" LC_COLLATE="POSIX" LC_MONETARY="POSIX" LC_MESSAGES="POSIX" LC_PAPER="POSIX" LC_NAME="POSIX" LC_ADDRESS="POSIX" LC_TELEPHONE="POSIX" LC_MEASUREMENT="POSIX" LC_IDENTIFICATION="POSIX" LC_ALL=
Du coup bon forcément l'unicode ça marche moins bien.
Une solution palliative est d'utiliser la locale par défaut au démarrage du shell. Pour cela, créer en root le fichier texte /etc/profile.d/locale.sh contenant :
#!/bin/sh . /etc/default/locale export LANG
Maintenant normalement ça devrait vous donner la locale système par défaut (dans mon cas fr_FR.UTF-8) lors de vos sessions SSH.
Si ça ne marche pas, c'est peut-être que /etc/profile ne charge pas /etc/profile.d/*. En ce cas, rajouter ceci à /etc/profile :
for script in /etc/profile.d/*.sh do source $script done unset script";s:7:"dateiso";s:15:"20120210_160547";}s:15:"20120210_160500";a:7:{s:5:"title";s:31:"Dropbear : réparer les locales";s:4:"link";s:49:"http://bohwaz.net/p/Dropbear-réparer-les-locales";s:4:"guid";s:49:"http://bohwaz.net/p/Dropbear-réparer-les-locales";s:7:"pubDate";s:25:"2012-02-10T16:05:00+01:00";s:11:"description";s:0:"";s:7:"content";s:1508:"
Dropbear est un super petit serveur et client SSH, très léger, que j'utilise sur du matériel embarqué ou des vieilles machines, qui n'ont que peu de RAM.
Y'a juste un petit bug : dropbear ne propage pas la locale utilisée par le client SSH, ce qui fait qu'on se retrouve avec des trucs comme ça :
$ locale LANG= LANGUAGE= LC_CTYPE="POSIX" LC_NUMERIC="POSIX" LC_TIME="POSIX" LC_COLLATE="POSIX" LC_MONETARY="POSIX" LC_MESSAGES="POSIX" LC_PAPER="POSIX" LC_NAME="POSIX" LC_ADDRESS="POSIX" LC_TELEPHONE="POSIX" LC_MEASUREMENT="POSIX" LC_IDENTIFICATION="POSIX" LC_ALL=
Du coup bon forcément l'unicode ça marche moins bien.
Une solution palliative est d'utiliser la locale par défaut au démarrage du shell. Pour cela, créer en root le fichier texte /etc/profile.d/locale.sh contenant :
#!/bin/sh . /etc/default/locale export LANG
Maintenant normalement ça devrait vous donner la locale système par défaut (dans mon cas fr_FR.UTF-8) lors de vos sessions SSH.
Si ça ne marche pas, c'est peut-être que /etc/profile ne charge pas /etc/profile.d/*. En ce cas, rajouter ceci à /etc/profile :
for script in /etc/profile.d/*.sh do source $script done unset script";s:7:"dateiso";s:15:"20120210_160500";}s:15:"20120210_061200";a:7:{s:5:"title";s:46:"Utilisation des cartes sons nommées dans ALSA";s:4:"link";s:66:"http://bohwaz.net/p/Utilisation-des-cartes-sons-nommées-dans-ALSA";s:4:"guid";s:66:"http://bohwaz.net/p/Utilisation-des-cartes-sons-nommées-dans-ALSA";s:7:"pubDate";s:25:"2012-02-10T06:12:00+01:00";s:11:"description";s:0:"";s:7:"content";s:2263:"
D'habitude quand on veut choisir la carte son de sortie d'un logiciel spécifique, l'exemple est de ce genre (pris de la config par défaut de MPD) :
device "hw:0,0"
Problème : vas-y pour savoir quelle carte est reconnue comme étant numéro 0, 1, 2 ou plus. Sans compter qu'en fonction de la pression atmosphérique et de l'orientation des étoiles en accord avec Vénus, ALSA donnera des numéros différents aux cartes sons à chaque redémarrage. Un vrai casse-tête !
En fait la solution est très simple, il suffit d'utiliser les cartes nommées plutôt que numérotées. Pour cela, un petit aperçu des cartes présentes est nécessaire :
$ cat /proc/asound/cards 0 [Intel ]: HDA-Intel - HDA Intel HDA Intel at 0xfebdc000 irq 16 1 [Live ]: EMU10K1 - SB Live! Value [CT4830] SB Live! Value [CT4830] (rev.7, serial:0x80261102) at 0xcce0, irq 18 2 [v2 ]: USB-Audio - USB Oxygen 8 v2 M-Audio USB Oxygen 8 v2 at usb-0000:00:1a.0-1, full speed 3 [default ]: USB-Audio - USB Audio CODEC Burr-Brown from TI USB Audio CODEC at usb-0000:00:1a.1-2, full
Vous voyez ici le numéro de la carte, suivi du nom entre crochets, puis de la description. Le nom entre crochets peut être utilisé dans tous les logiciels parlant avec ALSA.
Par exemple moi je veux que mon MPD joue de la musique sur la carte son USB externe, sur laquelle est branché l'ampli hifi. Je veux donc la carte "default" (pas "v2" qui est un clavier MIDI en fait) et ça donne :
device "hw:default"
Par contre pour MPlayer je veux la carte son Intel pour que le son sorte sur les enceintes de l'écran :
$ mplayer -ao alsa:hw=Intel http://bohwaz.net/videos/Night_Of_The_Living_Dead/Films-Night_Of_The_Living_Dead.flv
Et oui c'est aussi simple que ça, mais hélas très peu connu. Maintenant, vous savez que c'est possible ;-)
";s:7:"dateiso";s:15:"20120210_061200";}s:15:"20120209_043100";a:7:{s:5:"title";s:38:"On reprend de zéro, et on recommence.";s:4:"link";s:57:"http://bohwaz.net/p/On-reprends-de-zéro-et-on-recommence";s:4:"guid";s:57:"http://bohwaz.net/p/On-reprends-de-zéro-et-on-recommence";s:7:"pubDate";s:25:"2012-02-09T04:31:00+01:00";s:11:"description";s:0:"";s:7:"content";s:2763:"
Voilà ça faisait 7 ans que j'utilisais DotClear, qui m'a rendu bien des services mais ne me convenait pas vraiment. Cela fait presque un an maintenant que j'ai commencé le développement de son remplaçant, qui n'est pas un simple blog mais plutôt une espèce de créature de Frankenstein, entre blog, CMS et wiki.
En effet ce nouveau système, à base de code perso, est basé sur un postulat simple : pas de catégories, de rubriques, que des pages et des commentaires. Les pages peuvent avoir une hiérarchie, mais aussi des méta-données qui les relient (pour l'instant peu exploité car les billets proviennent de l'import de dotclear), un peu comme des tags mais en beaucoup plus évolué. J'espère qu'à terme cette organisation plus flexible me conviendra mieux que le carcan de Dotclear. On verra.
Si pour le moment ce nouveau médium ne comprends que les billets du blog, il intègrera aussi bientôt les pages du wiki ainsi que divers autres trucs éparses, comme des événements ou du micro-blogging.
Techniquement derrière tout ça repose du PHP5 (forcément) accompagné du magnifique SQLite3. Au niveau code ça utilise un poil de JS pour les commentaires et le reste c'est du simple HTML5 (malgré le fait que je déteste cette spéc il va bien falloir y aller un jour), et du CSS3.
Au niveau ergonomie je pense que le nouveau design est largement au dessus du précédent en termes de lisibilité, et l'utilisation des commentaires a été aussi grandement améliorée. J'ai aussi rajouté un captcha textuel à base de figlet, j'ai repiqué l'idée à Fossil. C'est pas forcément super accessible, mais avec le javascript activé le captcha se remplit tout seul, on ne le voit même pas.
Enfin, d'un point de vue réseau, les médias intégrés sont désormais automatiquement recopiés ici pour éviter leur disparition du réseau.
Vous remarquerez que le blog change d'adresse au passage, pour rejoindre bohwaz.net. Normalement toutes les anciennes adresses sont redirigées. Mais si vous avez l'ancienne adresse en favori (ainsi je suis donc le favori de quelqu'un !) ou dans votre agrégateur, mettez à jour pour la nouvelle adresse : http://bohwaz.net/p/
";s:7:"dateiso";s:15:"20120209_043100";}s:15:"20120209_032616";a:7:{s:5:"title";s:10:"Sonorités";s:4:"link";s:30:"http://bohwaz.net/p/Sonorités";s:4:"guid";s:30:"http://bohwaz.net/p/Sonorités";s:7:"pubDate";s:25:"2012-02-09T03:26:16+01:00";s:11:"description";s:0:"";s:7:"content";s:31:" ";s:7:"dateiso";s:15:"20120209_032616";}s:15:"20120209_002008";a:7:{s:5:"title";s:29:"Sebsauvage bientôt bloqué ?";s:4:"link";s:69:"http://blogs.kd2.org/bohwaz/?2012/02/08/386-sebsauvage-bientot-bloque";s:4:"guid";s:69:"http://blogs.kd2.org/bohwaz/?2012/02/08/386-sebsauvage-bientot-bloque";s:7:"pubDate";s:25:"2012-02-08T23:20:08+00:00";s:11:"description";s:201:"Quand j'arrête pas de dire qu'on vit dans un pays totalitaire... Sebsauvage fait partie des sites que Claude Guéant demande à bloquer. Son crime ? Avoir mis en place un miroir du site Copwatch...";s:7:"content";s:1250:"Quand j'arrête pas de dire qu'on vit dans un pays totalitaire...
Sebsauvage fait partie des sites que Claude Guéant demande à bloquer. Son crime ? Avoir mis en place un miroir du site Copwatch Nord/Paris-IDF, comme des centaines d'autres internautes. Le miroir n'existe même plus, mais c'est pas grave.
L'assignation demande également l'autorisation de procéder au blocage préventif de tous les futurs miroirs.
Je rappelle juste au cas où que : le site Copwatch n'a jamais été condamné ni même poursuivi devant la justice, donc sauf preuve du contraire son contenu est toujours légal, tout comme ses miroirs. Ni l'hébergeur, ni les éditeurs du site n'ont été inquiétés, alors pourquoi ?
Je dois dire que voir un camarade comme sebsauvage risquer de se faire censurer pour avoir simplement défendu la liberté d'expression, ça fait mal au cœur.
Vous pourrez évidemment retrouver sebsauvage via l'autoblog de KD2.org : http://autoblog.kd2.org/sebsauvage.net/
";s:7:"dateiso";s:15:"20120209_002008";}s:15:"20120208_232008";a:7:{s:5:"title";s:29:"Sebsauvage bientôt bloqué ?";s:4:"link";s:47:"http://bohwaz.net/p/Sebsauvage-bientôt-bloqué";s:4:"guid";s:47:"http://bohwaz.net/p/Sebsauvage-bientôt-bloqué";s:7:"pubDate";s:25:"2012-02-08T23:20:08+01:00";s:11:"description";s:0:"";s:7:"content";s:1471:"Quand j'arrête pas de dire qu'on vit dans un pays totalitaire...
Sebsauvage fait partie des sites que Claude Guéant demande à bloquer. Son crime ? Avoir mis en place un miroir du site Copwatch Nord/Paris-IDF, comme des centaines d'autres internautes. Le miroir n'existe même plus, mais c'est pas grave.
L'assignation demande également l'autorisation de procéder au blocage préventif de tous les futurs miroirs.
Je rappelle juste au cas où que : le site Copwatch n'a jamais été condamné ni même poursuivi devant la justice, donc sauf preuve du contraire son contenu est toujours légal, tout comme ses miroirs. Ni l'hébergeur, ni les éditeurs du site n'ont été inquiétés, alors pourquoi ?
Je dois dire que voir un camarade comme sebsauvage risquer de se faire censurer pour avoir simplement défendu la liberté d'expression, ça fait mal au cœur.
Vous pourrez évidemment retrouver sebsauvage via l'autoblog de KD2.org : http://autoblog.kd2.org/sebsauvage.net/
";s:7:"dateiso";s:15:"20120208_232008";}s:15:"20120201_045702";a:7:{s:5:"title";s:14:"PHP, affreux ?";s:4:"link";s:55:"http://blogs.kd2.org/bohwaz/?2012/02/01/385-php-affreux";s:4:"guid";s:55:"http://blogs.kd2.org/bohwaz/?2012/02/01/385-php-affreux";s:7:"pubDate";s:25:"2012-02-01T03:57:02+00:00";s:11:"description";s:196:"Je pense qu'il est important de rester critique par rapport aux langages que nous utilisons, mais dénigrer sans raison me semble une perte de temps complète. Je reviens ainsi sur l'article de...";s:7:"content";s:5381:"Je pense qu'il est important de rester critique par rapport aux langages que nous utilisons, mais dénigrer sans raison me semble une perte de temps complète. Je reviens ainsi sur l'article de sebsauvage sur PHP qui critique le langage en ces termes :
un langage assez amobifreux (de la contraction de "abominable" et "affreux")
Et de s'étonner ensuite du choix effectué par des projets comme Facebook, Wikipedia ou Wordpress d'utiliser ce langage, pourtant "abominable", "affreux" et "moche".
Je suis d'accord pour accepter le fait que PHP a une histoire plutôt anarchique, avec des incohérences et des comportements bizarres. Mais dire que c'est un langage "abominable", qui serait horrible en comparaison par exemple de Python, c'est un peu se tromper je pense.
De nos jours PHP, depuis au moins la version 5.2 et plus encore depuis la version 5.3, est un vrai langage moderne et agréable à utiliser au quotidien, il permet un peu tout ce dont on attendrait d'un vrai langage objet, et souvent de manière simple et efficace, avec toujours l'avantage de pouvoir déployer de manière très simple un peu partout et surtout de bénéficier d'une excellente documentation (et notamment les commentaires associés qui sont souvent très utiles).
Après, je me demande si la critique est réellement fondée. Autant j'apprécie beaucoup sebsauvage, que je lis depuis des années, et autant j'apprécie ses idées, autant son code PHP me semble dater d'un autre âge : souvent procédural, rarement objet, mélangeant allègrement définition de fonctions et code fonctionnel, etc.
Par exemple le code de Shaarli commence par la configuration du logiciel :
$GLOBALS['config']['DATADIR'] = 'data'; // Data subdirectory
Suivi de :
ini_set('max_input_time','60'); // High execution time in case of problematic imports/exports.
et autres gestion des directives INI, puis des define, puis un appel à des fonctions, puis des inclusions, suivi d'envoi de headers HTTP (alors qu'on n'a même pas encore défini à ce stade dans quel contexte nous sommes), puis des define, du code, des require, et enfin des définitions de fonctions, puis des define et des définitions de directives INI, encore des définitions de fonctions, suivies d'includes, de code procédural, puis ensuite de classes, etc etc. Je vous laisse regarder le code de Shaarli si ça vous intéresse.
Rien que dans tout ça on peut voir que le code est anarchique, pas structuré, bref impossible à maintenir à long terme car impossible de savoir où se trouve telle ou telle partie. Le problème n'est pas qu'au niveau de l'organisation du code, mais dans tout le reste aussi, par exemple parfois les erreurs sont gérées avec des exceptions, parfois avec des die().
Le code en lui-même est parfois alambiqué, par exemple :
$last=strtolower($val[strlen($val)-1]);
Il faut relire deux fois la ligne pour comprendre ce que ce code est censé faire, alors qu'il aurait été plus simple de faire :
$last = strtolower(substr($val, -1));
Évidemment on est très loin de la lisibilité du Javascript (un autre langage "horrible" mais pourtant tellement génial) :
var last = val.toLowerCase().substr(-1);
Mais c'est dû à la syntaxe de PHP surtout.
On peut également noter que le code semble avoir été réalisé en PHP4, et n'utilise aucun avantage d'un PHP moderne, par exemple :
function linkdate2timestamp($linkdate) { $Y=$M=$D=$h=$m=$s=0; $r = sscanf($linkdate,'%4d%2d%2d_%2d%2d%2d',$Y,$M,$D,$h,$m,$s); return mktime($h,$m,$s,$M,$D,$Y); } <snip ... /> return date('r',linkdate2timestamp($linkdate));
Pourrait très bien gagner en clarté et en efficacité comme cela :
$date = DateTime::createFromFormat('Ymd_His', $link_date); return $date->format(DATE_RFC822);
Je ne vais pas procéder comme cela pour tout le code, mais il est assez simple de se rendre compte que PHP n'est pas si terrible que ça, si on a la rigueur de vouloir l'utiliser de manière correcte. Mais il semble que pour de nombreuses personnes PHP n'a pas évolué depuis PHP 3 ou PHP 4, alors que PHP 5 est disponible depuis 8 ans, et PHP 5.2 depuis 6 ans.
Au final, la question n'est pas vraiment celle du langage qui est plus une affaire de préférence personnelle mais, comme pointé dans l'article de Jeff Atwood cité par sebsauvage, de la compétence du développeur rapport au langage utilisé.
Critiquer pour critiquer n'apporte rien, si on utilise un langage le plus utile est de participer à son évolution, par les rapports de bugs, par les corrections de documentation, et les changements apportés au langage lui-même. Un excellent exemple est le travail de suivi et explication du développement de PHP sur le Mageekblog de Frédéric Hardy ou encore les billets du blog de Pascal Martin.
";s:7:"dateiso";s:15:"20120201_045702";}s:15:"20120201_035702";a:7:{s:5:"title";s:14:"PHP, affreux ?";s:4:"link";s:31:"http://bohwaz.net/p/PHP-affreux";s:4:"guid";s:31:"http://bohwaz.net/p/PHP-affreux";s:7:"pubDate";s:25:"2012-02-01T03:57:02+01:00";s:11:"description";s:0:"";s:7:"content";s:6271:"Je pense qu'il est important de rester critique par rapport aux langages que nous utilisons, mais dénigrer sans raison me semble une perte de temps complète. Je reviens ainsi sur l'article de sebsauvage sur PHP qui critique le langage en ces termes :
un langage assez amobifreux (de la contraction de "abominable" et "affreux")
Et de s'étonner ensuite du choix effectué par des projets comme Facebook, Wikipedia ou Wordpress d'utiliser ce langage, pourtant "abominable", "affreux" et "moche".
Je suis d'accord pour accepter le fait que PHP a une histoire plutôt anarchique, avec des incohérences et des comportements bizarres. Mais dire que c'est un langage "abominable", qui serait horrible en comparaison par exemple de Python, c'est un peu se tromper je pense.
De nos jours PHP, depuis au moins la version 5.2 et plus encore depuis la version 5.3, est un vrai langage moderne et agréable à utiliser au quotidien, il permet un peu tout ce dont on attendrait d'un vrai langage objet, et souvent de manière simple et efficace, avec toujours l'avantage de pouvoir déployer de manière très simple un peu partout et surtout de bénéficier d'une excellente documentation (et notamment les commentaires associés qui sont souvent très utiles).
Après, je me demande si la critique est réellement fondée. Autant j'apprécie beaucoup sebsauvage, que je lis depuis des années, et autant j'apprécie ses idées, autant son code PHP me semble dater d'un autre âge : souvent procédural, rarement objet, mélangeant allègrement définition de fonctions et code fonctionnel, etc.
Par exemple le code de Shaarli commence par la configuration du logiciel :
$GLOBALS['config']['DATADIR'] = 'data'; // Data subdirectory
Suivi de :
ini_set('max_input_time','60'); // High execution time in case of problematic imports/exports.
et autres gestion des directives INI, puis des define, puis un appel à des fonctions, puis des inclusions, suivi d'envoi de headers HTTP (alors qu'on n'a même pas encore défini à ce stade dans quel contexte nous sommes), puis des define, du code, des require, et enfin des définitions de fonctions, puis des define et des définitions de directives INI, encore des définitions de fonctions, suivies d'includes, de code procédural, puis ensuite de classes, etc etc. Je vous laisse regarder le code de Shaarli si ça vous intéresse.
Rien que dans tout ça on peut voir que le code est anarchique, pas structuré, bref impossible à maintenir à long terme car impossible de savoir où se trouve telle ou telle partie. Le problème n'est pas qu'au niveau de l'organisation du code, mais dans tout le reste aussi, par exemple parfois les erreurs sont gérées avec des exceptions, parfois avec des die().
Le code en lui-même est parfois alambiqué, par exemple :
$last=strtolower($val[strlen($val)-1]);
Il faut relire deux fois la ligne pour comprendre ce que ce code est censé faire, alors qu'il aurait été plus simple de faire :
$last = strtolower(substr($val, -1));
Évidemment on est très loin de la lisibilité du Javascript (un autre langage "horrible" mais pourtant tellement génial) :
var last = val.toLowerCase().substr(-1);
Mais c'est dû à la syntaxe de PHP surtout.
On peut également noter que le code semble avoir été réalisé en PHP4, et n'utilise aucun avantage d'un PHP moderne, par exemple :
function linkdate2timestamp($linkdate) { $Y=$M=$D=$h=$m=$s=0; $r = sscanf($linkdate,'%4d%2d%2d_%2d%2d%2d',$Y,$M,$D,$h,$m,$s); return mktime($h,$m,$s,$M,$D,$Y); } <snip ... /> return date('r',linkdate2timestamp($linkdate));
Pourrait très bien gagner en clarté et en efficacité comme cela :
$date = DateTime::createFromFormat('Ymd_His', $link_date); return $date->format(DATE_RFC822);
Je ne vais pas procéder comme cela pour tout le code, mais il est assez simple de se rendre compte que PHP n'est pas si terrible que ça, si on a la rigueur de vouloir l'utiliser de manière correcte. Mais il semble que pour de nombreuses personnes PHP n'a pas évolué depuis PHP 3 ou PHP 4, alors que PHP 5 est disponible depuis 8 ans, et PHP 5.2 depuis 6 ans.
Au final, la question n'est pas vraiment celle du langage qui est plus une affaire de préférence personnelle mais, comme pointé dans l'article de Jeff Atwood cité par sebsauvage, de la compétence du développeur rapport au langage utilisé.
Critiquer pour critiquer n'apporte rien, si on utilise un langage le plus utile est de participer à son évolution, par les rapports de bugs, par les corrections de documentation, et les changements apportés au langage lui-même. Un excellent exemple est le travail de suivi et explication du développement de PHP sur le Mageekblog de Frédéric Hardy ou encore les billets du blog de Pascal Martin.
";s:7:"dateiso";s:15:"20120201_035702";}s:15:"20120125_034538";a:7:{s:5:"title";s:28:"Un téléphone intelligent ?";s:4:"link";s:68:"http://blogs.kd2.org/bohwaz/?2012/01/25/383-un-telephone-intelligent";s:4:"guid";s:68:"http://blogs.kd2.org/bohwaz/?2012/01/25/383-un-telephone-intelligent";s:7:"pubDate";s:25:"2012-01-25T02:45:38+00:00";s:11:"description";s:206:"La durée de vie moyenne d'un téléphone en france est de 18 mois. Soit un an et six mois. C'est pas lourd quand même, surtout quand on sait que chez les plus jeunes c'est seulement 10 mois en moyenne....";s:7:"content";s:12749:"La durée de vie moyenne d'un téléphone en france est de 18 mois. Soit un an et six mois. C'est pas lourd quand même, surtout quand on sait que chez les plus jeunes c'est seulement 10 mois en moyenne. Personnellement j'ai commencé par un Ericsson T20e en 2002, très classe (le clapet qu'on ouvre d'un geste, han la classe quoi !) mais hélas trop fragile, le micro (situé dans le clapet) était mort au bout d'un an et demi, la classe a un prix. J'ai ensuite eu un Sagem myX-3 contre un ré-engagement de 12 mois chez Orange, qui m'a franchement appris à ne plus rien toucher de Sagem, en effet c'était une horreur à utiliser comme téléphone, c'était plein de bugs, ça plantait, ça s'éteignait tout seul, bref la galère. Quand la partie communication s'est mise à ne plus fonctionner j'ai décidé de changer pour quelque chose de plus fiable.
J'ai donc acquis un Nokia 1100 en 2006, écran noir et blanc, suite logique et remise au goût du jour du célèbre et increvable 3310. Cette fois le téléphone était débloqué tout opérateur, et j'ai pu dire bybye à Orange. Et franchement ça a été un vrai plaisir de l'utiliser, grande autonomie, écran lisible, lampe torche intégrée, fiable et solide. Au bout de 3 ans hélas l'écran était bien rayé et le clavier complètement effacé à force de traîner dans ma poche. Je l'ai donc remplacé en 2009 par son successeur, le Nokia 1200, avec une lampe plus lumineuse, et une interface un peu revue, encore plus d'autonomie mais un clavier un poil en dessous niveau confort. Tellement solide et protégé qu'il me servait aussi tous les jours de lampe avant sur mon vélo, même sous la pluie il n'a jamais déclaré forfait. Il est également tombé à l'eau à plusieurs reprises, pas de souci. Bref du solide. L'autonomie était de 8 à 10 jours sans recharger, ce qui est pas mal mais encore loin de ce que j'aimerais attendre d'un téléphone (30 jours et plus ça serait bien).
Par contre même problème que le 1100 : le clavier s'est effacé, mais encore plus rapidement, j'ai donc changé de coque au bout de 2 ans, mais les coques chinoises disponibles sur eBay sont de mauvaise qualité et le clavier s'est effacé encore plus rapidement. Sans compter qu'un bug assez gênant est apparu ces derniers mois : parfois les SMS ne partent plus. Ils ne sont plus envoyés. Il faut éteindre et rallumer le téléphone pour relancer la queue d'envoi. Pas génial.
J'ai donc décidé de profiter récemment d'une vente flash Orange pour acquérir le Nokia C3-00, un smartphone à clavier azerty que j'avais repéré auparavant de par ses caractéristiques alléchantes. Le téléphone revenait donc à 19 € après remboursement de 30 € par Nokia, difficile de faire moins cher. J'ai bien observé les téléphones Android mais la plateforme me semble encore trop jeune, pas assez ouverte, et surtout aucun téléphone non-tactile avec clavier physique (type Blackberry) n'existe avec Android. Chez Android il n'y a que du tactile (berk), parfois avec un clavier rétractable (horreur !), et toujours relativement cher. Sans compter l'ergonomie qui me semble quand même un bon cran en dessous des interfaces de Nokia.
J'ai pensé que ça serait simple en prenant un téléphone chez Orange, celui-ci étant lié simplement à une carte "Mobicarte" prépayée, donc sans engagement. Sauf que Orange est l'opérateur qui adore enfermer ses clients. Donc le téléphone était vendu simlocké, et le firmware avait été "personnalisé" aux couleurs d'Orange. Moralité : les logiciels type E-Mail, Chat, Facebook, Twitter et Web avaient été supprimés et remplacés par des liens vers les portails Orange via un navigateur inutilisable. Sans compter le thème et les plugins ajoutés par Orange qui rendaient le téléphone horriblement lent. Après de multiples manipulations avec des logiciels obscurs dans une machine virtuelle Windows, j'ai pu flasher le téléphone avec le firmware original, bien plus agréable et utilisable. Premier progrès. Mais pourquoi pourrir à ce point le téléphone avec des trucs maison alors que le firmware de base est juste bien ? Je ne comprends pas pourquoi Orange perds du temps et de l'argent à pourrir les téléphones et donc l'expérience du client.
Le second problème était le simlockage. Bien que l'ARCEP exige que le désimlockage puisse être effectué immédiatement en cas d'offre sans engagement, Orange m'opposa un refus grossier et insultant, me demandant de payer 76 € ou d'attendre 3 mois pour obtenir le désimlockage. J'ai eu droit à tout un tas d'arguments, allant du simple "c'est la loi" au stupide "la Mobicarte est une offre avec engagement" (quel engagement ?!). Après multiples appels, emails et un recommandé au service réclamation avec copie à l'ARCEP et au médiateur télécoms, je n'ai obtenu aucune réponse, Orange refusant toujours de désimlocker le téléphone. Étant donné que l'accès à la justice est désormais payant dans notre beau pays (35 €), j'ai décidé d'attendre 3 mois, à l'issue de ce délai le désimlockage s'est passé sans problème, mais jamais plus de ma vie je ne retournerais acheter quoi que ce soit chez cet opérateur qui ose me raccrocher au nez ou ne pas même appliquer la loi à ses clients.
Le téléphone en lui-même est plutôt agréable à utiliser, il ne possède pas de 3G, car ça ne m'intéresse pas, mais le WiFi et ça marche plutôt bien avec Opera Mini, agréable de surfer et lire ses mails avec. Le clavier est vraiment confortable à utiliser pour taper du texte. Au point qu'on se demande pourquoi il n'existe pas un traitement de texte intégré. Par contre il manque vraiment une lampe torche hélas.
On est encore loin d'un ordinateur portable, impossible d'avoir la main sur l'OS, et les applis J2ME sont quand même limitées au niveau possibilités système, peut-être qu'Android fait mieux mais j'ai pas l'impression. WebOS semblait plus intéressant, mais hélas son avenir semble incertain et le nombre d'appli est ridicule par rapport à la gigantesque logithèque existante en J2ME.
Le "Store" intégré est pas mal du tout, assez fourni, mais beaucoup de trucs sont payants hélas, et souvent pour pas grand chose, voir de la belle merde, un peu comme sur tous les "stores" de ce genre.
Navigateurs web
Messagerie
Voyage : localisation, cartes, etc.
Sécurité
Divers
D'autres logiciels J2ME libres sont dispos sur http://ngphone.com/j2me/opensource/.
";s:7:"dateiso";s:15:"20120125_034538";}s:15:"20120125_024538";a:7:{s:5:"title";s:28:"Un téléphone intelligent ?";s:4:"link";s:46:"http://bohwaz.net/p/Un-téléphone-intelligent";s:4:"guid";s:46:"http://bohwaz.net/p/Un-téléphone-intelligent";s:7:"pubDate";s:25:"2012-01-25T02:45:38+01:00";s:11:"description";s:0:"";s:7:"content";s:14168:"La durée de vie moyenne d'un téléphone en france est de 18 mois. Soit un an et six mois. C'est pas lourd quand même, surtout quand on sait que chez les plus jeunes c'est seulement 10 mois en moyenne. Personnellement j'ai commencé par un Ericsson T20e en 2002, très classe (le clapet qu'on ouvre d'un geste, han la classe quoi !) mais hélas trop fragile, le micro (situé dans le clapet) était mort au bout d'un an et demi, la classe a un prix. J'ai ensuite eu un Sagem myX-3 contre un ré-engagement de 12 mois chez Orange, qui m'a franchement appris à ne plus rien toucher de Sagem, en effet c'était une horreur à utiliser comme téléphone, c'était plein de bugs, ça plantait, ça s'éteignait tout seul, bref la galère. Quand la partie communication s'est mise à ne plus fonctionner j'ai décidé de changer pour quelque chose de plus fiable.
J'ai donc acquis un Nokia 1100 en 2006, écran noir et blanc, suite logique et remise au goût du jour du célèbre et increvable 3310. Cette fois le téléphone était débloqué tout opérateur, et j'ai pu dire bybye à Orange. Et franchement ça a été un vrai plaisir de l'utiliser, grande autonomie, écran lisible, lampe torche intégrée, fiable et solide. Au bout de 3 ans hélas l'écran était bien rayé et le clavier complètement effacé à force de traîner dans ma poche. Je l'ai donc remplacé en 2009 par son successeur, le Nokia 1200, avec une lampe plus lumineuse, et une interface un peu revue, encore plus d'autonomie mais un clavier un poil en dessous niveau confort. Tellement solide et protégé qu'il me servait aussi tous les jours de lampe avant sur mon vélo, même sous la pluie il n'a jamais déclaré forfait. Il est également tombé à l'eau à plusieurs reprises, pas de souci. Bref du solide. L'autonomie était de 8 à 10 jours sans recharger, ce qui est pas mal mais encore loin de ce que j'aimerais attendre d'un téléphone (30 jours et plus ça serait bien).
Par contre même problème que le 1100 : le clavier s'est effacé, mais encore plus rapidement, j'ai donc changé de coque au bout de 2 ans, mais les coques chinoises disponibles sur eBay sont de mauvaise qualité et le clavier s'est effacé encore plus rapidement. Sans compter qu'un bug assez gênant est apparu ces derniers mois : parfois les SMS ne partent plus. Ils ne sont plus envoyés. Il faut éteindre et rallumer le téléphone pour relancer la queue d'envoi. Pas génial.
J'ai donc décidé de profiter récemment d'une vente flash Orange pour acquérir le Nokia C3-00, un smartphone à clavier azerty que j'avais repéré auparavant de par ses caractéristiques alléchantes. Le téléphone revenait donc à 19 € après remboursement de 30 € par Nokia, difficile de faire moins cher. J'ai bien observé les téléphones Android mais la plateforme me semble encore trop jeune, pas assez ouverte, et surtout aucun téléphone non-tactile avec clavier physique (type Blackberry) n'existe avec Android. Chez Android il n'y a que du tactile (berk), parfois avec un clavier rétractable (horreur !), et toujours relativement cher. Sans compter l'ergonomie qui me semble quand même un bon cran en dessous des interfaces de Nokia.
J'ai pensé que ça serait simple en prenant un téléphone chez Orange, celui-ci étant lié simplement à une carte "Mobicarte" prépayée, donc sans engagement. Sauf que Orange est l'opérateur qui adore enfermer ses clients. Donc le téléphone était vendu simlocké, et le firmware avait été "personnalisé" aux couleurs d'Orange. Moralité : les logiciels type E-Mail, Chat, Facebook, Twitter et Web avaient été supprimés et remplacés par des liens vers les portails Orange via un navigateur inutilisable. Sans compter le thème et les plugins ajoutés par Orange qui rendaient le téléphone horriblement lent. Après de multiples manipulations avec des logiciels obscurs dans une machine virtuelle Windows, j'ai pu flasher le téléphone avec le firmware original, bien plus agréable et utilisable. Premier progrès. Mais pourquoi pourrir à ce point le téléphone avec des trucs maison alors que le firmware de base est juste bien ? Je ne comprends pas pourquoi Orange perds du temps et de l'argent à pourrir les téléphones et donc l'expérience du client.
Le second problème était le simlockage. Bien que l'ARCEP exige que le désimlockage puisse être effectué immédiatement en cas d'offre sans engagement, Orange m'opposa un refus grossier et insultant, me demandant de payer 76 € ou d'attendre 3 mois pour obtenir le désimlockage. J'ai eu droit à tout un tas d'arguments, allant du simple "c'est la loi" au stupide "la Mobicarte est une offre avec engagement" (quel engagement ?!). Après multiples appels, emails et un recommandé au service réclamation avec copie à l'ARCEP et au médiateur télécoms, je n'ai obtenu aucune réponse, Orange refusant toujours de désimlocker le téléphone. Étant donné que l'accès à la justice est désormais payant dans notre beau pays (35 €), j'ai décidé d'attendre 3 mois, à l'issue de ce délai le désimlockage s'est passé sans problème, mais jamais plus de ma vie je ne retournerais acheter quoi que ce soit chez cet opérateur qui ose me raccrocher au nez ou ne pas même appliquer la loi à ses clients.
Le téléphone en lui-même est plutôt agréable à utiliser, il ne possède pas de 3G, car ça ne m'intéresse pas, mais le WiFi et ça marche plutôt bien avec Opera Mini, agréable de surfer et lire ses mails avec. Le clavier est vraiment confortable à utiliser pour taper du texte. Au point qu'on se demande pourquoi il n'existe pas un traitement de texte intégré. Par contre il manque vraiment une lampe torche hélas.
On est encore loin d'un ordinateur portable, impossible d'avoir la main sur l'OS, et les applis J2ME sont quand même limitées au niveau possibilités système, peut-être qu'Android fait mieux mais j'ai pas l'impression. WebOS semblait plus intéressant, mais hélas son avenir semble incertain et le nombre d'appli est ridicule par rapport à la gigantesque logithèque existante en J2ME.
Le "Store" intégré est pas mal du tout, assez fourni, mais beaucoup de trucs sont payants hélas, et souvent pour pas grand chose, voir de la belle merde, un peu comme sur tous les "stores" de ce genre.
Navigateurs web
Messagerie
Voyage : localisation, cartes, etc.
Sécurité
Divers
D'autres logiciels J2ME libres sont dispos sur http://ngphone.com/j2me/opensource/.
";s:7:"dateiso";s:15:"20120125_024538";}s:15:"20111121_132946";a:7:{s:5:"title";s:34:"Suivi et archivage des offres LIDL";s:4:"link";s:78:"http://blogs.kd2.org/bohwaz/?2011/11/21/382-suivi-et-archivage-des-offres-lidl";s:4:"guid";s:78:"http://blogs.kd2.org/bohwaz/?2011/11/21/382-suivi-et-archivage-des-offres-lidl";s:7:"pubDate";s:25:"2011-11-21T12:29:46+00:00";s:11:"description";s:203:"Depuis quelques jours, le site http://lidl.dofollow.be/ archive automatiquement les offres et produits publiés sur le site http://www.lidl.fr/. Toutes les 24 heures, le site va chercher les nouvelles...";s:7:"content";s:1572:"Depuis quelques jours, le site http://lidl.dofollow.be/ archive automatiquement les offres et produits publiés sur le site http://www.lidl.fr/. Toutes les 24 heures, le site va chercher les nouvelles offres et en enregistre une copie dans sa base de données.
Le site peut ensuite servir pour :
Le site est également disponible en version adaptée aux mobiles.
Sous le capot c'est surtout SQLite qui fait toute la magie, c'est rapide et efficace, notamment la recherche texte qui utilise FTS4 et permet des choses assez sympa : scie jardin OR pliable OR pliante (chercher toutes les scies de jardin ou scies pliantes ou scies pliables) ou encore title:LED (tous les produits avec "LED" dans le titre). J'en ai profité pour traduire en PHP la fonction de rank indiquée dans la doc. de FTS4 : Pure PHP rank function for SQLite FTS4 (adapted from SQLite doc).
";s:7:"dateiso";s:15:"20111121_132946";}s:15:"20111121_131414";a:7:{s:5:"title";s:51:"Is serving files from PHAR slower? (PHAR benchmark)";s:4:"link";s:92:"http://blogs.kd2.org/bohwaz/?2011/11/21/381-is-serving-files-from-phar-slower-phar-benchmark";s:4:"guid";s:92:"http://blogs.kd2.org/bohwaz/?2011/11/21/381-is-serving-files-from-phar-slower-phar-benchmark";s:7:"pubDate";s:25:"2011-11-21T12:14:14+00:00";s:11:"description";s:201:"PHP PHAR archives allow you to put a whole application in one file, including code and static content (CSS, images, etc.). Serving static files from a PHAR archive might look attracting as you don't...";s:7:"content";s:1997:"PHP PHAR archives allow you to put a whole application in one file, including code and static content (CSS, images, etc.). Serving static files from a PHAR archive might look attracting as you don't have to ship these files separately from your code, and you can say ship a PHAR file instead of a ZIP file, which will work out of the box (except with Suhosin). But isn't serving static content from PHP too slow? Well let's benchmark that.
Obviously, serving static content from PHAR archives is a huge overhead. Serving dynamic PHP content from PHAR archives is "just" 44% slower. But as you can notice, compressing the archive and serving content from it is not really noticeable.
If you still want to distribute your static files inside the PHAR archive, I'd advise you to extract those files from archive at first run so that they will be served directly by the HTTP server, or maybe just use the PHAR file as a self-contained installer that will extract application files at first run?
";s:7:"dateiso";s:15:"20111121_131414";}s:15:"20111121_124133";a:7:{s:5:"title";s:28:"PHP PHAR archives and Debian";s:4:"link";s:72:"http://blogs.kd2.org/bohwaz/?2011/11/21/380-php-phar-archives-and-debian";s:4:"guid";s:72:"http://blogs.kd2.org/bohwaz/?2011/11/21/380-php-phar-archives-and-debian";s:7:"pubDate";s:25:"2011-11-21T11:41:33+00:00";s:11:"description";s:203:"If you get blank pages and no error message when trying to access a PHAR archive on a Debian or Ubuntu server, this is probably Suhosin's fault as it doesn't allow execution of code from PHAR archives...";s:7:"content";s:351:"If you get blank pages and no error message when trying to access a PHAR archive on a Debian or Ubuntu server, this is probably Suhosin's fault as it doesn't allow execution of code from PHAR archives by default. To allow PHAR archives, just add this line to /etc/php5/conf.d/suhosin.ini:
suhosin.executor.include.whitelist="phar"";s:7:"dateiso";s:15:"20111121_124133";}s:15:"20111121_122946";a:7:{s:5:"title";s:34:"Suivi et archivage des offres LIDL";s:4:"link";s:54:"http://bohwaz.net/p/Suivi-et-archivage-des-offres-LIDL";s:4:"guid";s:54:"http://bohwaz.net/p/Suivi-et-archivage-des-offres-LIDL";s:7:"pubDate";s:25:"2011-11-21T12:29:46+01:00";s:11:"description";s:0:"";s:7:"content";s:1812:"
Depuis quelques jours, le site http://lidl.dofollow.be/ archive automatiquement les offres et produits publiés sur le site http://www.lidl.fr/. Toutes les 24 heures, le site va chercher les nouvelles offres et en enregistre une copie dans sa base de données.
Le site peut ensuite servir pour :
Le site est également disponible en version adaptée aux mobiles.
Sous le capot c'est surtout SQLite qui fait toute la magie, c'est rapide et efficace, notamment la recherche texte qui utilise FTS4 et permet des choses assez sympa : scie jardin OR pliable OR pliante (chercher toutes les scies de jardin ou scies pliantes ou scies pliables) ou encore title:LED (tous les produits avec "LED" dans le titre). J'en ai profité pour traduire en PHP la fonction de rank indiquée dans la doc. de FTS4 : Pure PHP rank function for SQLite FTS4 (adapted from SQLite doc).
";s:7:"dateiso";s:15:"20111121_122946";}s:15:"20111121_121414";a:7:{s:5:"title";s:51:"Is serving files from PHAR slower? (PHAR benchmark)";s:4:"link";s:70:"http://bohwaz.net/p/Is-serving-files-from-PHAR-slower-(PHAR-benchmark)";s:4:"guid";s:70:"http://bohwaz.net/p/Is-serving-files-from-PHAR-slower-(PHAR-benchmark)";s:7:"pubDate";s:25:"2011-11-21T12:14:14+01:00";s:11:"description";s:0:"";s:7:"content";s:2397:"PHP PHAR archives allow you to put a whole application in one file, including code and static content (CSS, images, etc.). Serving static files from a PHAR archive might look attracting as you don't have to ship these files separately from your code, and you can say ship a PHAR file instead of a ZIP file, which will work out of the box (except with Suhosin). But isn't serving static content from PHP too slow? Well let's benchmark that.
Obviously, serving static content from PHAR archives is a huge overhead. Serving dynamic PHP content from PHAR archives is "just" 44% slower. But as you can notice, compressing the archive and serving content from it is not really noticeable.
If you still want to distribute your static files inside the PHAR archive, I'd advise you to extract those files from archive at first run so that they will be served directly by the HTTP server, or maybe just use the PHAR file as a self-contained installer that will extract application files at first run?
";s:7:"dateiso";s:15:"20111121_121414";}s:15:"20111121_114133";a:7:{s:5:"title";s:28:"PHP PHAR archives and Debian";s:4:"link";s:48:"http://bohwaz.net/p/PHP-PHAR-archives-and-Debian";s:4:"guid";s:48:"http://bohwaz.net/p/PHP-PHAR-archives-and-Debian";s:7:"pubDate";s:25:"2011-11-21T11:41:33+01:00";s:11:"description";s:0:"";s:7:"content";s:424:"If you get blank pages and no error message when trying to access a PHAR archive on a Debian or Ubuntu server, this is probably Suhosin's fault as it doesn't allow execution of code from PHAR archives by default. To allow PHAR archives, just add this line to /etc/php5/conf.d/suhosin.ini:
suhosin.executor.include.whitelist="phar"";s:7:"dateiso";s:15:"20111121_114133";}s:15:"20111013_044319";a:7:{s:5:"title";s:57:"Exim: whitelist senders to pass the sender verify callout";s:4:"link";s:100:"http://blogs.kd2.org/bohwaz/?2011/10/13/379-exim-whitelist-senders-to-pass-the-sender-verify-callout";s:4:"guid";s:100:"http://blogs.kd2.org/bohwaz/?2011/10/13/379-exim-whitelist-senders-to-pass-the-sender-verify-callout";s:7:"pubDate";s:25:"2011-10-13T02:43:19+00:00";s:11:"description";s:202:"Some mail servers don't comply with the RFC, and as a result you won't be able to receive mails from them, because your mail server is too well-configured. Exim is one of those good mail servers, and...";s:7:"content";s:2626:"
Some mail servers don't comply with the RFC, and as a result you won't be able to receive mails from them, because your mail server is too well-configured. Exim is one of those good mail servers, and nichandle.ovh.net is one those ill-configured mail servers.
nichandle.ovh.net is used by OVH (french ISP) to send important e-mails to its clients, like your password for your new xDSL connection. But if you use exim, since some time you won't receive OVH mails anymore, because of this:
H=xx.mail-out.ovh.net [XX] sender verify defer for <xxxx-ovh@nichandle.ovh.net>: could not connect to robot.ovh.net [XX]: Connection refused H=xx.mail-out.ovh.net [XX] F=<xxxx-ovh@nichandle.ovh.net> rejected RCPT <root@mailserver>: relay not permitted H=xx.mail-out.ovh.net [XX] incomplete transaction (QUIT) from <xxxx-ovh@nichandle.ovh.net>
As you can see, Exim tries to check that xxxx-ovh@nichandle.ovh.net is a real email address by connecting to nichandle.ovh.net and doing this simple stuff :
EHLO mailserver MAIL FROM: <> RCPT TO: <xxxx-ovh@nichandle.ovh.net>
It won't really send a mail to the sender, it will just check on the senders mail server if the address exists. This is a simple but effective idea to fight against spam, and it's well known and implemented. You can read more on wikipedia on this subject: Callback verification.
For OVH, there's a problem: nichandle.ovh.net (who is in fact an alias for robot.ovh.net) is not a mail server. It's SMTP port 25 isn't even open. So that will be hard for Exim to connect and check if the senders address exists, because nichandle.ovh.net doesn't appear to be a mail server at all, so it rejects the mail.
I opened a ticket on OVH tracking interface but meanwhile I wanted to receive the OVH emails so I added a sender verify whitelist to Exim. For that you'll have to add to the beginning to your exim configuration:
addresslist whitelist_senders = wildlsearch;/etc/exim4/whitelist_senders
Then replace:
require verify = sender
(Note that it might also be require verify = sender/callout.) With this:
deny !verify = sender senders = +whitelist_senders deny !verify = sender/defer_ok/callout=10s !senders = +whitelist_senders
Then you'll have to edit /etc/exim4/whitelist_senders and add whitelisted senders. It can be a single email address, or a wildcard:
*@nichandle.ovh.net bohwaz@othermailserver.tld abuse@*";s:7:"dateiso";s:15:"20111013_044319";}s:15:"20111013_024319";a:7:{s:5:"title";s:57:"Exim: whitelist senders to pass the sender verify callout";s:4:"link";s:76:"http://bohwaz.net/p/Exim-whitelist-senders-to-pass-the-sender-verify-callout";s:4:"guid";s:76:"http://bohwaz.net/p/Exim-whitelist-senders-to-pass-the-sender-verify-callout";s:7:"pubDate";s:25:"2011-10-13T02:43:19+02:00";s:11:"description";s:0:"";s:7:"content";s:3003:"
Some mail servers don't comply with the RFC, and as a result you won't be able to receive mails from them, because your mail server is too well-configured. Exim is one of those good mail servers, and nichandle.ovh.net is one those ill-configured mail servers.
nichandle.ovh.net is used by OVH (french ISP) to send important e-mails to its clients, like your password for your new xDSL connection. But if you use exim, since some time you won't receive OVH mails anymore, because of this:
H=xx.mail-out.ovh.net [XX] sender verify defer for <xxxx-ovh@nichandle.ovh.net>: could not connect to robot.ovh.net [XX]: Connection refused H=xx.mail-out.ovh.net [XX] F=<xxxx-ovh@nichandle.ovh.net> rejected RCPT <root@mailserver>: relay not permitted H=xx.mail-out.ovh.net [XX] incomplete transaction (QUIT) from <xxxx-ovh@nichandle.ovh.net>
As you can see, Exim tries to check that xxxx-ovh@nichandle.ovh.net is a real email address by connecting to nichandle.ovh.net and doing this simple stuff :
EHLO mailserver MAIL FROM: <> RCPT TO: <xxxx-ovh@nichandle.ovh.net>
It won't really send a mail to the sender, it will just check on the senders mail server if the address exists. This is a simple but effective idea to fight against spam, and it's well known and implemented. You can read more on wikipedia on this subject: Callback verification.
For OVH, there's a problem: nichandle.ovh.net (who is in fact an alias for robot.ovh.net) is not a mail server. It's SMTP port 25 isn't even open. So that will be hard for Exim to connect and check if the senders address exists, because nichandle.ovh.net doesn't appear to be a mail server at all, so it rejects the mail.
I opened a ticket on OVH tracking interface but meanwhile I wanted to receive the OVH emails so I added a sender verify whitelist to Exim. For that you'll have to add to the beginning to your exim configuration:
addresslist whitelist_senders = wildlsearch;/etc/exim4/whitelist_senders
Then replace:
require verify = sender
(Note that it might also be require verify = sender/callout.) With this:
deny !verify = sender senders = +whitelist_senders deny !verify = sender/defer_ok/callout=10s !senders = +whitelist_senders
Then you'll have to edit /etc/exim4/whitelist_senders and add whitelisted senders. It can be a single email address, or a wildcard:
*@nichandle.ovh.net bohwaz@othermailserver.tld abuse@*";s:7:"dateiso";s:15:"20111013_024319";}s:15:"20110927_043247";a:7:{s:5:"title";s:48:"Altermusique.org : partage et widgets des albums";s:4:"link";s:89:"http://blogs.kd2.org/bohwaz/?2011/09/27/378-altermusiqueorg-partage-et-widgets-des-albums";s:4:"guid";s:89:"http://blogs.kd2.org/bohwaz/?2011/09/27/378-altermusiqueorg-partage-et-widgets-des-albums";s:7:"pubDate";s:25:"2011-09-27T02:32:47+00:00";s:11:"description";s:196:"Il est désormais possible d'exporter deux types de widgets pour chaque album Altermusique.org. Il suffit de cliquer sur "Partage l'album" sur la page de l'album. Le premier au format large est...";s:7:"content";s:1108:"
Il est désormais possible d'exporter deux types de widgets pour chaque album Altermusique.org. Il suffit de cliquer sur "Partage l'album" sur la page de l'album.
Le premier au format large est quasiment la même chose que le lecteur qui s'ouvre en popup :
Le second a au format plus simple, par exemple pour intégrer sur myspace :
";s:7:"dateiso";s:15:"20110927_043247";}s:15:"20110927_023247";a:7:{s:5:"title";s:48:"Altermusique.org : partage et widgets des albums";s:4:"link";s:66:"http://bohwaz.net/p/Altermusique-org-partage-et-widgets-des-albums";s:4:"guid";s:66:"http://bohwaz.net/p/Altermusique-org-partage-et-widgets-des-albums";s:7:"pubDate";s:25:"2011-09-27T02:32:47+02:00";s:11:"description";s:0:"";s:7:"content";s:1296:"Il est désormais possible d'exporter deux types de widgets pour chaque album Altermusique.org. Il suffit de cliquer sur "Partage l'album" sur la page de l'album.
Le premier au format large est quasiment la même chose que le lecteur qui s'ouvre en popup :
Le second a au format plus simple, par exemple pour intégrer sur myspace :
Facile, il suffit d'utiliser le nouveau service de géo-localisation fixe de KD2.org, exemple :
http://kd2.org/map/geoloc/45.95674/-1.11467/
Placer cette adresse dans la configuration d'Opera (<a href="opera:config#Geolocation|LocationProviderURL">opera:config#Geolocation|LocationProviderURL</a>) vous localisera une fois pour toutes sur l'île Madame, à côté de l'île d'Oléron. Oui bon mais si vous voulez être localisé ailleurs ? Simple, il suffit de connaître la latitude et la longitude que vous souhaitez indiquer et de les placer dans l'adresse aux bons endroits :
http://kd2.org/map/geoloc/[latitude]/[longitude]/
Pour trouver ces coordonnées vous pouvez utiliser le service de cartes de KD2.org : <a href="http://kd2.org/map/">kd2.org/map</a>, basé sur l'API Ovi Maps. En déplaçant la carte au bon endroit, la latitude et la longitude apparaissent dans l'adresse de la page.
Je vous promet qu'on ne stocke pas les coordonnées que vous utilisez, mais si vous avez pas confiance vous pouvez aussi le faire sur un serveur à vous, c'est très simple : <a href="?2010/07/01/327-custom-geolocation-api-for-opera-replace-google">Custom Geolocation API for Opera (replacing Google)</a>.
";s:7:"dateiso";s:15:"20110913_060548";}s:15:"20110913_040548";a:7:{s:5:"title";s:52:"Comment donner à Opera une géo-localisation fixe ?";s:4:"link";s:70:"http://bohwaz.net/p/Comment-donner-à-Opera-une-géo-localisation-fixe";s:4:"guid";s:70:"http://bohwaz.net/p/Comment-donner-à-Opera-une-géo-localisation-fixe";s:7:"pubDate";s:25:"2011-09-13T04:05:48+02:00";s:11:"description";s:0:"";s:7:"content";s:1542:"Facile, il suffit d'utiliser le nouveau service de géo-localisation fixe de KD2.org, exemple :
http://kd2.org/map/geoloc/45.95674/-1.11467/
Placer cette adresse dans la configuration d'Opera (<a href="opera:config#Geolocation|LocationProviderURL">opera:config#Geolocation|LocationProviderURL</a>) vous localisera une fois pour toutes sur l'île Madame, à côté de l'île d'Oléron. Oui bon mais si vous voulez être localisé ailleurs ? Simple, il suffit de connaître la latitude et la longitude que vous souhaitez indiquer et de les placer dans l'adresse aux bons endroits :
http://kd2.org/map/geoloc/[latitude]/[longitude]/
Pour trouver ces coordonnées vous pouvez utiliser le service de cartes de KD2.org : <a href="http://kd2.org/map/">kd2.org/map</a>, basé sur l'API Ovi Maps. En déplaçant la carte au bon endroit, la latitude et la longitude apparaissent dans l'adresse de la page.
Je vous promet qu'on ne stocke pas les coordonnées que vous utilisez, mais si vous avez pas confiance vous pouvez aussi le faire sur un serveur à vous, c'est très simple : <a href="?2010/07/01/327-custom-geolocation-api-for-opera-replace-google">Custom Geolocation API for Opera (replacing Google)</a>.
";s:7:"dateiso";s:15:"20110913_040548";}s:15:"20110910_115208";a:7:{s:5:"title";s:54:"ING Direct : changement de la procédure de sécurité";s:4:"link";s:93:"http://blogs.kd2.org/bohwaz/?2011/09/10/376-ing-direct-changement-de-la-procedure-de-securite";s:4:"guid";s:93:"http://blogs.kd2.org/bohwaz/?2011/09/10/376-ing-direct-changement-de-la-procedure-de-securite";s:7:"pubDate";s:25:"2011-09-10T09:52:08+00:00";s:11:"description";s:206:"Message reçu d'ING Direct : ING Direct fait évoluer son système d'authentification pour vous garantir une sécurité maximale et toujours plus de simplicité dans vos opérations. A présent, pour...";s:7:"content";s:1701:"Message reçu d'ING Direct :
ING Direct fait évoluer son système d'authentification pour vous garantir une sécurité maximale et toujours plus de simplicité dans vos opérations.
A présent, pour vos opérations sensibles (par exemple une commande de chéquier ou l'ajout d'un RIB externe) réalisées dans votre Espace client ou par téléphone auprès d'un chargé de clientèle, il vous sera demandé une validation à l'aide d'un code temporaire.
Ce code temporaire vous sera envoyé par SMS, message vocal ou courrier. C'est vous qui choisissez.
Cette procédure nous permet de vérifier que vous êtes bien à l'origine de la demande. Vous recevrez également un email de confirmation après chaque opération.
A noter : Votre carte d'authentification ne vous sera plus demandée et a été désactivée. Vous n'avez aucune démarche supplémentaire à effectuer. Vous pouvez dès à présent la détruire. Mais si vous l'utilisiez pour remplir votre grille du loto vous pouvez la garder !
Combien de fois va-t-il falloir expliquer aux banques que les SMS c'est mieux que rien mais que ça vaut pas grand chose en matière de sécurité ?
La seule solution sécurisée c'est l'authentification à deux facteurs, mot de passe et code à usage unique généré hors ligne, par exemple avec un petit boîtier comme ça :
Ces boîtiers sont très répandus par exemple au Royaume-Uni et en Belgique, pourquoi pas en France ?!
";s:7:"dateiso";s:15:"20110910_115208";}s:15:"20110910_095208";a:7:{s:5:"title";s:54:"ING Direct : changement de la procédure de sécurité";s:4:"link";s:72:"http://bohwaz.net/p/ING-Direct-changement-de-la-procédure-de-sécurité";s:4:"guid";s:72:"http://bohwaz.net/p/ING-Direct-changement-de-la-procédure-de-sécurité";s:7:"pubDate";s:25:"2011-09-10T09:52:08+02:00";s:11:"description";s:0:"";s:7:"content";s:2026:"Message reçu d'ING Direct :
ING Direct fait évoluer son système d'authentification pour vous garantir une sécurité maximale et toujours plus de simplicité dans vos opérations.
A présent, pour vos opérations sensibles (par exemple une commande de chéquier ou l'ajout d'un RIB externe) réalisées dans votre Espace client ou par téléphone auprès d'un chargé de clientèle, il vous sera demandé une validation à l'aide d'un code temporaire.
Ce code temporaire vous sera envoyé par SMS, message vocal ou courrier. C'est vous qui choisissez.
Cette procédure nous permet de vérifier que vous êtes bien à l'origine de la demande. Vous recevrez également un email de confirmation après chaque opération.
A noter :
Votre carte d'authentification ne vous sera plus demandée et a été désactivée. Vous n'avez aucune démarche supplémentaire à effectuer. Vous pouvez dès à présent la détruire. Mais si vous l'utilisiez pour remplir votre grille du loto vous pouvez la garder !
Combien de fois va-t-il falloir expliquer aux banques que les SMS c'est mieux que rien mais que ça vaut pas grand chose en matière de sécurité ?
La seule solution sécurisée c'est l'authentification à deux facteurs, mot de passe et code à usage unique généré hors ligne, par exemple avec un petit boîtier comme ça :
Ces boîtiers sont très répandus par exemple au Royaume-Uni et en Belgique, pourquoi pas en France ?!
";s:7:"dateiso";s:15:"20110910_095208";}s:15:"20110824_043012";a:7:{s:5:"title";s:55:"PHP 5 implementation of Bubble Babble encoder / decoder";s:4:"link";s:97:"http://blogs.kd2.org/bohwaz/?2011/08/24/374-php-5-implementation-of-bubble-babble-encoder-decoder";s:4:"guid";s:97:"http://blogs.kd2.org/bohwaz/?2011/08/24/374-php-5-implementation-of-bubble-babble-encoder-decoder";s:7:"pubDate";s:25:"2011-08-24T02:30:12+00:00";s:11:"description";s:202:"Do you know Base64? This is a binary encoding that is widely used to store and transmit binary data using simple ASCII characters. Bubble Babble is also binary data encoding, much like Base64, but it...";s:7:"content";s:2373:"Do you know Base64? This is a binary encoding that is widely used to store and transmit binary data using simple ASCII characters. Bubble Babble is also binary data encoding, much like Base64, but it alternates consonants and vowels to encode data as pseudo-words that can be easily pronounced.
Take for example the "1234567890" string. It will be encoded as "MTIzNDU2Nzg5MA==" with Base64, and as "xesef-disof-gytuf-katof-movif-baxux" with Bubble Babble. Doesn't the second string looks like a bit more readable?
Bubble Babble (see also the spec) also includes two features to check for string integrity which are nowhere to be found in Base64. The first one is begin and end markers. See the "x" characters at begin and end of the encoded string? These marks the begin and end of a string. The second feature is an integrated checksum to detect transmission errors.
The advantages of Bubble Babble:
The main disadvantage is the size of the encoded string, which is 3 times bigger than the original string, whereas Base64 is only 1.37 times bigger.
I think that this might be really useful to exchange gpg fingerprints for example, as hexadecimal isn't really pleasant to pronounce. But there might be a lot of other use-cases I haven't thought of.
There is implementations of Bubble Babble in Perl, Go, Python, Javascript, etc. But in PHP there was only a old script. And of all those implementations, only the Go one was implementing the decoding. So I wrote my own implementation for PHP, using objects and exceptions, and placed under the GNU GPL license, as always.
This implementation can be found here : bubble_babble.php
Hope that might be useful to someone :)
";s:7:"dateiso";s:15:"20110824_043012";}s:15:"20110824_023012";a:7:{s:5:"title";s:55:"PHP 5 implementation of Bubble Babble encoder / decoder";s:4:"link";s:73:"http://bohwaz.net/p/PHP-5-implementation-of-Bubble-Babble-encoder-decoder";s:4:"guid";s:73:"http://bohwaz.net/p/PHP-5-implementation-of-Bubble-Babble-encoder-decoder";s:7:"pubDate";s:25:"2011-08-24T02:30:12+02:00";s:11:"description";s:0:"";s:7:"content";s:2712:"Do you know Base64? This is a binary encoding that is widely used to store and transmit binary data using simple ASCII characters. Bubble Babble is also binary data encoding, much like Base64, but it alternates consonants and vowels to encode data as pseudo-words that can be easily pronounced.
Take for example the "1234567890" string. It will be encoded as "MTIzNDU2Nzg5MA==" with Base64, and as "xesef-disof-gytuf-katof-movif-baxux" with Bubble Babble. Doesn't the second string looks like a bit more readable?
Bubble Babble (see also the spec) also includes two features to check for string integrity which are nowhere to be found in Base64. The first one is begin and end markers. See the "x" characters at begin and end of the encoded string? These marks the begin and end of a string. The second feature is an integrated checksum to detect transmission errors.
The advantages of Bubble Babble:
The main disadvantage is the size of the encoded string, which is 3 times bigger than the original string, whereas Base64 is only 1.37 times bigger.
I think that this might be really useful to exchange gpg fingerprints for example, as hexadecimal isn't really pleasant to pronounce. But there might be a lot of other use-cases I haven't thought of.
There is implementations of Bubble Babble in Perl, Go, Python, Javascript, etc. But in PHP there was only a old script. And of all those implementations, only the Go one was implementing the decoding. So I wrote my own implementation for PHP, using objects and exceptions, and placed under the GNU GPL license, as always.
This implementation can be found here : bubble_babble.php
Hope that might be useful to someone :)
";s:7:"dateiso";s:15:"20110824_023012";}s:15:"20110819_062643";a:7:{s:5:"title";s:45:"Sortie de Dillo 2.2.1 et de son paquet debian";s:4:"link";s:87:"http://blogs.kd2.org/bohwaz/?2011/08/19/373-sortie-de-dillo-221-et-de-son-paquet-debian";s:4:"guid";s:87:"http://blogs.kd2.org/bohwaz/?2011/08/19/373-sortie-de-dillo-221-et-de-son-paquet-debian";s:7:"pubDate";s:25:"2011-08-19T04:26:43+00:00";s:11:"description";s:209:"Dillo est un navigateur web très léger, très rapide, configurable simplement, extensible via des extensions, et particulièrement à cheval sur de nobles principes, notamment protéger la vie privée des...";s:7:"content";s:3444:"Dillo est un navigateur web très léger, très rapide, configurable simplement, extensible via des extensions, et particulièrement à cheval sur de nobles principes, notamment protéger la vie privée des utilisateurs ou implémenter les standards strictement sans bidouille destinée à faire fonctionner des sites qui se basent sur les bugs d'autres navigateurs.
Au niveau des fonctionnalités plutôt intéressantes, on notera :
Malgré des soucis d'intégration dans Debian, notamment car les versions 2.x utilisent la librairie FLTK2 qui a d'abord eu une licence non-libre puis a été abandonnée au profit de FLTK 1.3 (récemment sorti), Dillo a continué son bonhomme de chemin malgré le travail demandé par une première ré-écriture (pour passer de FLTK1 à FLTK2), puis une seconde, plus récente, pour passer à FLTK 1.3.
Ainsi la série 2.x, bien que non disponible dans Debian a bénéficié de mises à jour plutôt régulières.
Et à l'occasion de la sortie à venir (dans les prochains jours normalement) de Dillo 3.0 (intégré dans debian ce coup-ci), une dernière mise à jour de la branche 2.x est disponible, la 2.2.1. Il est possible d'obtenir le paquet Debian ici : http://apt.klaumikli.de/testing/
Les nouveautés en résumé :
Voilà et sinon dans quelques jours la version 3 sera aussi disponible, directement dans Debian unstable.
PS : au niveau des autres navigateurs légers, voir aussi du côté de NetSurf (pas mal, excellent rendu, mais semble un poil instable, et repose sur GTK qui est plutôt lourd et lent) ou xxxterm (basé sur webkit, avec toutes les fonctionnalités d'un navigateur de bureau classique, mais orienté sécurité et utilisation au clavier, pas encore testé, le paquet semble cassé dans debian unstable).
";s:7:"dateiso";s:15:"20110819_062643";}s:15:"20110819_042643";a:7:{s:5:"title";s:45:"Sortie de Dillo 2.2.1 et de son paquet debian";s:4:"link";s:65:"http://bohwaz.net/p/Sortie-de-Dillo-2-2-1-et-de-son-paquet-debian";s:4:"guid";s:65:"http://bohwaz.net/p/Sortie-de-Dillo-2-2-1-et-de-son-paquet-debian";s:7:"pubDate";s:25:"2011-08-19T04:26:43+02:00";s:11:"description";s:0:"";s:7:"content";s:3902:"Dillo est un navigateur web très léger, très rapide, configurable simplement, extensible via des extensions, et particulièrement à cheval sur de nobles principes, notamment protéger la vie privée des utilisateurs ou implémenter les standards strictement sans bidouille destinée à faire fonctionner des sites qui se basent sur les bugs d'autres navigateurs.
Au niveau des fonctionnalités plutôt intéressantes, on notera :
Malgré des soucis d'intégration dans Debian, notamment car les versions 2.x utilisent la librairie FLTK2 qui a d'abord eu une licence non-libre puis a été abandonnée au profit de FLTK 1.3 (récemment sorti), Dillo a continué son bonhomme de chemin malgré le travail demandé par une première ré-écriture (pour passer de FLTK1 à FLTK2), puis une seconde, plus récente, pour passer à FLTK 1.3.
Ainsi la série 2.x, bien que non disponible dans Debian a bénéficié de mises à jour plutôt régulières.
Et à l'occasion de la sortie à venir (dans les prochains jours normalement) de Dillo 3.0 (intégré dans debian ce coup-ci), une dernière mise à jour de la branche 2.x est disponible, la 2.2.1. Il est possible d'obtenir le paquet Debian ici : http://apt.klaumikli.de/testing/
Les nouveautés en résumé :
Voilà et sinon dans quelques jours la version 3 sera aussi disponible, directement dans Debian unstable.
PS : au niveau des autres navigateurs légers, voir aussi du côté de NetSurf (pas mal, excellent rendu, mais semble un poil instable, et repose sur GTK qui est plutôt lourd et lent) ou xxxterm (basé sur webkit, avec toutes les fonctionnalités d'un navigateur de bureau classique, mais orienté sécurité et utilisation au clavier, pas encore testé, le paquet semble cassé dans debian unstable).
";s:7:"dateiso";s:15:"20110819_042643";}s:15:"20110818_233946";a:7:{s:5:"title";s:39:"Google Art Project : appel à l'aide ;)";s:4:"link";s:76:"http://blogs.kd2.org/bohwaz/?2011/08/18/372-google-art-project-appel-a-laide";s:4:"guid";s:76:"http://blogs.kd2.org/bohwaz/?2011/08/18/372-google-art-project-appel-a-laide";s:7:"pubDate";s:25:"2011-08-18T21:39:46+00:00";s:11:"description";s:203:"J'avais proposé au téléchargement un script permettant de télécharger les uvres en haute résolution du site Google Art Project (ici). Il ne fonctionne désormais plus suite à un changement de...";s:7:"content";s:1902:"J'avais proposé au téléchargement un script permettant de télécharger les œuvres en haute résolution du site Google Art Project (ici). Il ne fonctionne désormais plus suite à un changement de Google qui a inclus une sécurité dans son script : chaque URL de chaque "tile" (l'image est découpée en plusieurs "tiles") exige désormais un paramètre de sécurité, en fait un code HMAC-SHA1, généré de manière unique pour chaque URL. C'est un peu con car ces œuvres sont du domaine public, Google fait donc ici de la rétention pour rien, mais bon ça ne m'étonne même pas venant d'eux.
Bref, générer ce code n'est pas bien compliqué, mais il se base sur une clé "secrète" qui est générée à partir des couleurs d'un logo de google. Comme je n'ai pas vraiment l'habitude d'ActionScript 3 (je suis directement passé de AS2 à tenter d'apprendre haXe), j'ai un peu de mal à faire fonctionner le code de Google et aussi à installer le compilateur AS3. Bref je n'ai pas réussi à re-générer cette clé en ré-écrivant le code AS3 en PHP.
J'ai posté un commentaire sur un script Ruby permettant de télécharger les œuvres et qui se retrouve dans la même situation, expliquant un peu plus amplement le problème et le fonctionnement du code de Google : https://gist.github.com/812918#gistcomment-46116
Voilà donc je demande à quiconque passerait par ici avec quelques minutes de dispo pour regarder ça, si vous me trouviez la clé secrète (peu importe la méthode, il doit aussi être possible d'utiliser un débugueur flash pour ce faire), ça me serait bien utile, merci pour moi et plein d'autres gens qui se sont intéressés à ce script :)
";s:7:"dateiso";s:15:"20110818_233946";}s:15:"20110818_213946";a:7:{s:5:"title";s:39:"Google Art Project : appel à l'aide ;)";s:4:"link";s:56:"http://bohwaz.net/p/Google-Art-Project-appel-à-l-aide-)";s:4:"guid";s:56:"http://bohwaz.net/p/Google-Art-Project-appel-à-l-aide-)";s:7:"pubDate";s:25:"2011-08-18T21:39:46+02:00";s:11:"description";s:0:"";s:7:"content";s:2123:"J'avais proposé au téléchargement un script permettant de télécharger les œuvres en haute résolution du site Google Art Project (ici). Il ne fonctionne désormais plus suite à un changement de Google qui a inclus une sécurité dans son script : chaque URL de chaque "tile" (l'image est découpée en plusieurs "tiles") exige désormais un paramètre de sécurité, en fait un code HMAC-SHA1, généré de manière unique pour chaque URL. C'est un peu con car ces œuvres sont du domaine public, Google fait donc ici de la rétention pour rien, mais bon ça ne m'étonne même pas venant d'eux.
Bref, générer ce code n'est pas bien compliqué, mais il se base sur une clé "secrète" qui est générée à partir des couleurs d'un logo de google. Comme je n'ai pas vraiment l'habitude d'ActionScript 3 (je suis directement passé de AS2 à tenter d'apprendre haXe), j'ai un peu de mal à faire fonctionner le code de Google et aussi à installer le compilateur AS3. Bref je n'ai pas réussi à re-générer cette clé en ré-écrivant le code AS3 en PHP.
J'ai posté un commentaire sur un script Ruby permettant de télécharger les œuvres et qui se retrouve dans la même situation, expliquant un peu plus amplement le problème et le fonctionnement du code de Google : https://gist.github.com/812918#gistcomment-46116
Voilà donc je demande à quiconque passerait par ici avec quelques minutes de dispo pour regarder ça, si vous me trouviez la clé secrète (peu importe la méthode, il doit aussi être possible d'utiliser un débugueur flash pour ce faire), ça me serait bien utile, merci pour moi et plein d'autres gens qui se sont intéressés à ce script :)
";s:7:"dateiso";s:15:"20110818_213946";}s:15:"20110814_201955";a:7:{s:5:"title";s:32:"Que faire avec un nouveau Palm ?";s:4:"link";s:74:"http://blogs.kd2.org/bohwaz/?2011/08/14/371-que-faire-avec-un-nouveau-palm";s:4:"guid";s:74:"http://blogs.kd2.org/bohwaz/?2011/08/14/371-que-faire-avec-un-nouveau-palm";s:7:"pubDate";s:25:"2011-08-14T18:19:55+00:00";s:11:"description";s:205:"J'avais déjà parlé de la seconde vie des Palm, ces petits PDA plutôt bien foutus utilisant un OS dénommé PalmOS (logique) : Que faire avec un vieux Palm ? Suite à un malencontreux accident, le...";s:7:"content";s:4798:"J'avais déjà parlé de la seconde vie des Palm, ces petits PDA plutôt bien foutus utilisant un OS dénommé PalmOS (logique) : Que faire avec un vieux Palm ?
Suite à un malencontreux accident, le port USB de mon Zire 31 est cassé, donc impossible de le synchroniser, je suis un peu bloqué. Mais grâce à un vide grenier j'ai désormais un Palm TX pour 10 euros (neuf !).
Alors qu'en faire ? Et bien la même chose qu'avant, mais bien plus ! Le Palm TX est largement mieux fourni que le Zire 31 qui était plutôt bas de gamme. Ici on a beaucoup plus de mémoire, un écran de qualité, du wifi, du bluetooth, bref de quoi faire. Voici quelques utilisations possibles en plus, qui n'étaient pas possibles sur le Zire 31 :
J'avais déjà parlé de la seconde vie des Palm, ces petits PDA plutôt bien foutus utilisant un OS dénommé PalmOS (logique) : Que faire avec un vieux Palm ?
Suite à un malencontreux accident, le port USB de mon Zire 31 est cassé, donc impossible de le synchroniser, je suis un peu bloqué. Mais grâce à un vide grenier j'ai désormais un Palm TX pour 10 euros (neuf !).
Alors qu'en faire ? Et bien la même chose qu'avant, mais bien plus ! Le Palm TX est largement mieux fourni que le Zire 31 qui était plutôt bas de gamme. Ici on a beaucoup plus de mémoire, un écran de qualité, du wifi, du bluetooth, bref de quoi faire. Voici quelques utilisations possibles en plus, qui n'étaient pas possibles sur le Zire 31 :
Ce HOWTO a été traduit en 2004 par djrom et a tendance à disparaître du web en ce moment, il ne reste que peu de copies en ligne, je profite donc de propos sexistes sur LinuxFR pour mettre en ligne ce HOWTO sur mon site, afin de préserver sa disponibilité, car ce document me semble intéressant dont la publication avait aussi été annoncée sur LinuxFR.
Donc voici : http://bohwaz.net/static/Encourage-Women-Linux-HOWTO-fr.txt
Edit 17 juillet 2011 : mise à jour du HOWTO, nombreuses corrections de fautes par un lecteur, merci pour la contribution :)
";s:7:"dateiso";s:15:"20110716_003722";}s:15:"20110715_223722";a:7:{s:5:"title";s:45:"HOWTO Encourage Women in Linux (en français)";s:4:"link";s:65:"http://bohwaz.net/p/HOWTO-Encourage-Women-in-Linux-(en-français)";s:4:"guid";s:65:"http://bohwaz.net/p/HOWTO-Encourage-Women-in-Linux-(en-français)";s:7:"pubDate";s:25:"2011-07-15T22:37:22+02:00";s:11:"description";s:0:"";s:7:"content";s:930:"Ce HOWTO a été traduit en 2004 par djrom et a tendance à disparaître du web en ce moment, il ne reste que peu de copies en ligne, je profite donc de propos sexistes sur LinuxFR pour mettre en ligne ce HOWTO sur mon site, afin de préserver sa disponibilité, car ce document me semble intéressant dont la publication avait aussi été annoncée sur LinuxFR.
Donc voici : http://bohwaz.net/static/Encourage-Women-Linux-HOWTO-fr.txt
Edit 17 juillet 2011 : mise à jour du HOWTO, nombreuses corrections de fautes par un lecteur, merci pour la contribution :)
";s:7:"dateiso";s:15:"20110715_223722";}s:15:"20110715_003319";a:7:{s:5:"title";s:44:"Auto-blog, VroumVroumBlog et effet Streisand";s:4:"link";s:87:"http://blogs.kd2.org/bohwaz/?2011/07/14/369-auto-blog-vroumvroumblog-et-effet-streisand";s:4:"guid";s:87:"http://blogs.kd2.org/bohwaz/?2011/07/14/369-auto-blog-vroumvroumblog-et-effet-streisand";s:7:"pubDate";s:25:"2011-07-14T22:33:19+00:00";s:11:"description";s:194:"Suite à ce billet de SebSauvage, j'ai trouvé cette idée des AutoBlogs excellente, du coup j'ai pas pu résister, vous me connaissez ! Je m'y suis attelé ce midi pour reprendre le code de...";s:7:"content";s:6534:"Suite à ce billet de SebSauvage, j'ai trouvé cette idée des AutoBlogs excellente, du coup j'ai pas pu résister, vous me connaissez ! Je m'y suis attelé ce midi pour reprendre le code de VroumVroumBlog et lui donner une cure de jeunesse et voilà j'ai tout réécrit au final !
Voici donc VroumVroumBlog 0.2, complètement nouveau et tout beau ! Il reprends les idées et certains trucs de la version de Sebsauvage :
Mais ma version ajoute :
C'est pas tout ça, mais on commence où ? Et bien avec une démo qui n'est rien d'autre que l'auto-blog de Sebsauvage : http://autoblog.kd2.org/sebsauvage.net/
Pour télécharger le code source : http://autoblog.kd2.org/source.txt
Un fichier de configuration d'exemple (pour ce blog), commenté : http://autoblog.kd2.org/vvb.ini
Pour installer : télécharger le code source, renommer ce code source en index.php, télécharger le fichier de configuration, le modifier selon ses besoins, envoyer ces deux fichiers dans un nouveau répertoire que l'on créera chez son hébergeur favori. Ensuite se rendre à l'adresse du blog, ça fera tout tout seul comme un grand.
Il est désormais possible de faire des requêtes complexes dans la recherche du blog, par exemple :
Simple, télécharger ce fichier : http://autoblog.kd2.org/config.txt, le renommer en config.php et le placer dans le même répertoire que index.php.
Pour avoir de jolies URLs comme http://autoblog.kd2.org/sebsauvage.net/Oyez-Oyez par exemple, il vous faut créer un fichier .htaccess dans le répertoire de votre auto-blog, contenant :
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*) /sebsauvage.net/index.php?$1 [QSA,L]
Évidemment dans votre cas il faudra remplacer /sebsauvage.net/ par le bon répertoire où vous avez mis votre auto-blog. La deuxième étape est de rajouter ou d'éditer le fichier config.php de votre auto-blog et d'y placer :
<?php define('LOCAL_URI', ''); ?>
C'est tout.
Encore une fois c'est simple. Imaginons que vous ayé créé http://bohwaz.net/streisand.me/ pour y mettre plein de blogs automatiques. Vous allez télécharger le code source ci-dessus, le renommer en autoblog.php et le mettre dans ce répertoire. Dans ce même répertoire vous mettez aussi un fichier config.php contenant :
<?php define('ROOT_DIR', dirname($_SERVER['SCRIPT_FILENAME'])); ?>
Enfin, pour chaque blog que vous voulez "auto-recopier", vous créez un nouveau répertoire, par exemple "sebsauvage", et vous mettez dedans un fichier vvb.ini comme si vous installiez un auto-blog seul, mais au lieu de mettre le code source dans index.php, vous ne mettez dans index.php que ça :
<?php require_once dirname(__DIR__) . '/autoblog.php'; ?>
Vous pouvez faire comme moi et mélanger ces trois recettes afin d'avoir une ferme avec de jolies URLs et une interface en français.
EDIT du 18 juillet 2011 : une version 0.2.4 est désormais dispo, corrigeant plusieurs problèmes et ajoutant quelques petits trucs, merci à tous ceux qui m'ont signalé les bugs et aidé à les corriger :-)
";s:7:"dateiso";s:15:"20110715_003319";}s:15:"20110714_223319";a:7:{s:5:"title";s:44:"Auto-blog, VroumVroumBlog et effet Streisand";s:4:"link";s:63:"http://bohwaz.net/p/Auto-blog-VroumVroumBlog-et-effet-Streisand";s:4:"guid";s:63:"http://bohwaz.net/p/Auto-blog-VroumVroumBlog-et-effet-Streisand";s:7:"pubDate";s:25:"2011-07-14T22:33:19+02:00";s:11:"description";s:0:"";s:7:"content";s:7541:"Suite à ce billet de SebSauvage, j'ai trouvé cette idée des AutoBlogs excellente, du coup j'ai pas pu résister, vous me connaissez ! Je m'y suis attelé ce midi pour reprendre le code de VroumVroumBlog et lui donner une cure de jeunesse et voilà j'ai tout réécrit au final !
Voici donc VroumVroumBlog 0.2, complètement nouveau et tout beau ! Il reprends les idées et certains trucs de la version de Sebsauvage :
Mais ma version ajoute :
C'est pas tout ça, mais on commence où ? Et bien avec une démo qui n'est rien d'autre que l'auto-blog de Sebsauvage : http://autoblog.kd2.org/sebsauvage.net/
Pour télécharger le code source : http://autoblog.kd2.org/source.txt
Un fichier de configuration d'exemple (pour ce blog), commenté : http://autoblog.kd2.org/vvb.ini
Pour installer : télécharger le code source, renommer ce code source en index.php, télécharger le fichier de configuration, le modifier selon ses besoins, envoyer ces deux fichiers dans un nouveau répertoire que l'on créera chez son hébergeur favori. Ensuite se rendre à l'adresse du blog, ça fera tout tout seul comme un grand.
Il est désormais possible de faire des requêtes complexes dans la recherche du blog, par exemple :
Simple, télécharger ce fichier : http://autoblog.kd2.org/config.txt, le renommer en config.php et le placer dans le même répertoire que index.php.
Pour avoir de jolies URLs comme http://autoblog.kd2.org/sebsauvage.net/Oyez-Oyez par exemple, il vous faut créer un fichier .htaccess dans le répertoire de votre auto-blog, contenant :
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*) /sebsauvage.net/index.php?$1 [QSA,L]
Évidemment dans votre cas il faudra remplacer /sebsauvage.net/ par le bon répertoire où vous avez mis votre auto-blog. La deuxième étape est de rajouter ou d'éditer le fichier config.php de votre auto-blog et d'y placer :
<?php define('LOCAL_URI', ''); ?>
C'est tout.
Encore une fois c'est simple. Imaginons que vous ayé créé http://bohwaz.net/streisand.me/ pour y mettre plein de blogs automatiques. Vous allez télécharger le code source ci-dessus, le renommer en autoblog.php et le mettre dans ce répertoire. Dans ce même répertoire vous mettez aussi un fichier config.php contenant :
<?php define('ROOT_DIR', dirname($_SERVER['SCRIPT_FILENAME'])); ?>
Enfin, pour chaque blog que vous voulez "auto-recopier", vous créez un nouveau répertoire, par exemple "sebsauvage", et vous mettez dedans un fichier vvb.ini comme si vous installiez un auto-blog seul, mais au lieu de mettre le code source dans index.php, vous ne mettez dans index.php que ça :
<?php require_once dirname(__DIR__) . '/autoblog.php'; ?>
Vous pouvez faire comme moi et mélanger ces trois recettes afin d'avoir une ferme avec de jolies URLs et une interface en français.
EDIT du 18 juillet 2011 : une version 0.2.4 est désormais dispo, corrigeant plusieurs problèmes et ajoutant quelques petits trucs, merci à tous ceux qui m'ont signalé les bugs et aidé à les corriger :-)
";s:7:"dateiso";s:15:"20110714_223319";}s:15:"20110705_024204";a:7:{s:5:"title";s:39:"mypwsafe: a simple CLI password manager";s:4:"link";s:82:"http://blogs.kd2.org/bohwaz/?2011/07/05/368-mypwsafe-a-simple-cli-password-manager";s:4:"guid";s:82:"http://blogs.kd2.org/bohwaz/?2011/07/05/368-mypwsafe-a-simple-cli-password-manager";s:7:"pubDate";s:25:"2011-07-05T00:42:04+00:00";s:11:"description";s:202:"It's been some time that I was looking for a password manager which is simple to use, very secure, and based on open technology and not on obscure binary format that can disappear easily, leaving you...";s:7:"content";s:4657:"It's been some time that I was looking for a password manager which is simple to use, very secure, and based on open technology and not on obscure binary format that can disappear easily, leaving you with no access to your data.
I tried many of them, KeePassX, KeePass and other GUI programs were interesting but really overkill for my needs. So I took a look on the CLI-side. pwsafe looked interesting and simple enough, but it is not actively developed anymore and will be dropped from the next Debian release, although it uses a well-documented format (compatible with Password Safe), it's still a non-standard binary format and doesn't look like a good choice for a long-term relationship. cpm looked interesting, as it was based on XML and GPG, but I never understood how the hell it was supposed to work. Its interface seems one of the most complicated things ever for such a simple task.
Looking around, I found simsafe, a simple Perl script which allows to create and edit a GPG-encrypted text file with your favorite editor. But you know, I'm never happy with what already exists, so I don't really like Perl for basic tasks and basically it seemed too hard for my laziness to open an editor and write a text-file all by myself.
So, I took a couple hours and wrote something a bit more elaborate. And here it is: mypwsafe is a simple bash script, which stores your login/password credentials in a CSV-like text file, encrypted with GPG. It only needs two things: pwgen for password generation, and GPG for encryption and decryption.
It can work in 2 different GPG modes: symmetric, where it uses a specific passphrase to encrypt the passwords file, and key-based where it simply uses your private key for that task (so you can use GPG agent and all if you wish). Personally I prefer to use the key-based encryption, as I always remember my GPG passphrase. But the symmetric encryption can also be interesting if you like it.
This is configurable at the beginning of the script, just set USE_SYMMETRIC to true instead of false. If you use key-based encryption, you will have to change the GPG_ID value too, with the name or email address linked to your GPG key.
Here's one example with symmetric encryption and password generation (I just hit enter on password field):
$ ./mypwsafe.sh --add Password safe file does not exists. To create one, please supply password: Enter passphrase: Confirm passphrase: -- Saving a new login/password couple to password safe -- Identifier (or hostname): seenthis.net Login: bohwaz Password (leave empty to create random one): vECWR4u4Rge
Encrypting file... Done.
$ ./mypwsafe.sh --all Enter passphrase: ID Login Password seenthis.net bohwaz vECWR4u4Rge
A little warning: with symmetric encryption, your passphrase is stored on your hard drive by the script (and deleted after script completion), like in simsafe, but with key-based encryption, your passphrase is NEVER stored on your drive, only GPG has access to the passphrase. So I advise you to use key-based encryption.
Here is an example with key-based encryption to search for a specific password:
$ mypwsafe.sh dailymotion
Vous avez besoin d'une phrase de passe pour déverrouiller la clé secrète pour l'utilisateur: « BohwaZ <bohwaz@notfound.tld> » clé de 4096 bits RSA, ID D0B04280, créée le 2010-11-18 (ID clé principale B818EA34)
ID Login Password dailymotion.com bohwaz blabla
As you can notice you just have to give a regexp in argument and it will return all matching IDs. There is also a "--edit" option, which opens the CSV text file in your favorite editor (a temporary unencrypted copy of the file is created on disk for this, and deleted afterwards), and a "--change-password" to change the file password when using symmetric encryption.
If one day you lose the script, it's always easy to recover your data as it's just plaintext CSV, using tab-separated values, encrypted with GPG.
Download the script here: http://bohwaz.net/static/mypwsafe.sh
";s:7:"dateiso";s:15:"20110705_024204";}s:15:"20110705_004204";a:7:{s:5:"title";s:39:"mypwsafe: a simple CLI password manager";s:4:"link";s:58:"http://bohwaz.net/p/mypwsafe-a-simple-CLI-password-manager";s:4:"guid";s:58:"http://bohwaz.net/p/mypwsafe-a-simple-CLI-password-manager";s:7:"pubDate";s:25:"2011-07-05T00:42:04+02:00";s:11:"description";s:0:"";s:7:"content";s:4950:"It's been some time that I was looking for a password manager which is simple to use, very secure, and based on open technology and not on obscure binary format that can disappear easily, leaving you with no access to your data.
I tried many of them, KeePassX, KeePass and other GUI programs were interesting but really overkill for my needs. So I took a look on the CLI-side. pwsafe looked interesting and simple enough, but it is not actively developed anymore and will be dropped from the next Debian release, although it uses a well-documented format (compatible with Password Safe), it's still a non-standard binary format and doesn't look like a good choice for a long-term relationship. cpm looked interesting, as it was based on XML and GPG, but I never understood how the hell it was supposed to work. Its interface seems one of the most complicated things ever for such a simple task.
Looking around, I found simsafe, a simple Perl script which allows to create and edit a GPG-encrypted text file with your favorite editor. But you know, I'm never happy with what already exists, so I don't really like Perl for basic tasks and basically it seemed too hard for my laziness to open an editor and write a text-file all by myself.
So, I took a couple hours and wrote something a bit more elaborate. And here it is: mypwsafe is a simple bash script, which stores your login/password credentials in a CSV-like text file, encrypted with GPG. It only needs two things: pwgen for password generation, and GPG for encryption and decryption.
It can work in 2 different GPG modes: symmetric, where it uses a specific passphrase to encrypt the passwords file, and key-based where it simply uses your private key for that task (so you can use GPG agent and all if you wish). Personally I prefer to use the key-based encryption, as I always remember my GPG passphrase. But the symmetric encryption can also be interesting if you like it.
This is configurable at the beginning of the script, just set USE_SYMMETRIC to true instead of false. If you use key-based encryption, you will have to change the GPG_ID value too, with the name or email address linked to your GPG key.
Here's one example with symmetric encryption and password generation (I just hit enter on password field):
$ ./mypwsafe.sh --add Password safe file does not exists. To create one, please supply password: Enter passphrase: Confirm passphrase: -- Saving a new login/password couple to password safe -- Identifier (or hostname): seenthis.net Login: bohwaz Password (leave empty to create random one): vECWR4u4Rge
Encrypting file... Done.
$ ./mypwsafe.sh --all Enter passphrase: ID Login Password seenthis.net bohwaz vECWR4u4Rge
A little warning: with symmetric encryption, your passphrase is stored on your hard drive by the script (and deleted after script completion), like in simsafe, but with key-based encryption, your passphrase is NEVER stored on your drive, only GPG has access to the passphrase. So I advise you to use key-based encryption.
Here is an example with key-based encryption to search for a specific password:
$ mypwsafe.sh dailymotion
Vous avez besoin d'une phrase de passe pour déverrouiller la clé secrète pour l'utilisateur: « BohwaZ <bohwaz@notfound.tld> » clé de 4096 bits RSA, ID D0B04280, créée le 2010-11-18 (ID clé principale B818EA34)
ID Login Password dailymotion.com bohwaz blabla
As you can notice you just have to give a regexp in argument and it will return all matching IDs. There is also a "--edit" option, which opens the CSV text file in your favorite editor (a temporary unencrypted copy of the file is created on disk for this, and deleted afterwards), and a "--change-password" to change the file password when using symmetric encryption.
If one day you lose the script, it's always easy to recover your data as it's just plaintext CSV, using tab-separated values, encrypted with GPG.
Download the script here: http://bohwaz.net/static/mypwsafe.sh
";s:7:"dateiso";s:15:"20110705_004204";}s:15:"20110629_174016";a:7:{s:5:"title";s:53:"Pôle Emploi c'est l'enfer, et le 3949, le purgatoire";s:4:"link";s:92:"http://blogs.kd2.org/bohwaz/?2011/06/29/367-pole-emploi-cest-lenfer-et-le-3949-le-purgatoire";s:4:"guid";s:92:"http://blogs.kd2.org/bohwaz/?2011/06/29/367-pole-emploi-cest-lenfer-et-le-3949-le-purgatoire";s:7:"pubDate";s:25:"2011-06-29T15:40:16+00:00";s:11:"description";s:207:"Depuis mars je tente désespérément de commencer une procédure de validation des acquis de l'expérience afin d'obtenir un diplôme à partir de mon expérience. En mars j'ai trouvé le diplôme qui me...";s:7:"content";s:6830:"Depuis mars je tente désespérément de commencer une procédure de validation des acquis de l'expérience afin d'obtenir un diplôme à partir de mon expérience. En mars j'ai trouvé le diplôme qui me convient, j'ai communiqué avec le professeur responsable qui a indiqué que mon parcours semblait correspondre au diplôme, j'ai préparé mon dossier de demande de recevabilité (qui permettra de savoir si je peux continuer cette validation ou non, c'est un dossier relativement simple de quelques pages), qui est prêt à être envoyé depuis mars donc.
Mais comme je suis demandeur d'emploi, inscrit à Pôle Emploi donc, c'est ce même Pôle Emploi qui doit prendre en charge les 80 euros et quelques de frais liés au dépôt du dossier de recevabilité. J'ai donc tenté d'obtenir un rendez-vous avec ma conseillère Pôle Emploi afin de pouvoir obtenir l'accord de PE pour qu'ils subventionnent ma démarche active et positive de recherche d'emploi consistant à vouloir obtenir un diplôme. Mais c'est déjà pas simple, car avec Pôle Emploi on ne vous donne qu'un seul moyen de contacter votre conseiller, son adresse E-Mail. Après plusieurs mails sans réponse, j'ai essayé de passer par le 3949, qui m'a bien fait comprendre qu'on ne pouvait pas demander un rendez-vous avec son conseiller, qu'il fallait attendre une convocation (tous les 6 mois environ dans mon cas). Ça voudrait pas dire en gros que les conseillers ne sont pas là pour nous aider mais uniquement pour nous fliquer et essayer de nous radier ?
Bref j'ai finit par recevoir une convocation pour le mois de mai. Là mon conseiller à commencé à me faire remplir un dossier de demande de subventionnement de validation des acquis, mais visiblement c'était la première fois qu'il voyait ce genre de choses, et même la première fois qu'il entendait parler de VAE. Car il ne cessait de me demander comment j'allais faire pour me déplacer tous les jours à l'autre bout de la france pour faire cette formation, et moi ne cesser de répondre qu'une validation des acquis peut se faire à distance, quelques déplacements suffisent. Le conseiller visiblement incapable de cocher les bonnes cases du dossier, a disparu près de 30 minutes voir un collègue pour qu'il lui explique. En revenant, il a mis le dossier à la poubelle en m'expliquant que Pôle Emploi ne prenait pas en charge les VAE car on ne peut pas être en même temps en formation et à la recherche d'un emploi. Au revoir monsieur.
Mais il en fallait plus que ça pour me décourager, je suis donc passé directement par un organisme qui accompagne les personnes effectuant une validation des acquis, pour avoir directement accès au directeur de mon agence Pôle Emploi, qui me permis, lui, de remplir et envoyer le dossier. Une semaine plus tard je recevais par courrier une confirmation que mon dossier avait été envoyé au centre financier, dans la région voisine. Nous étions alors à mi-mai et on m'avait promis une réponse "sous 3 semaines".
Nous sommes désormais fin juin, mon dossier de recevabilité est prêt à être envoyé depuis plus de 3 mois, j'attends juste de pouvoir cocher la case "financement par Pôle Emploi" du dossier... Je n'ai pas de réponse. J'ai donc cherché à joindre le 3949.
Hors, je ne suis plus abonné Free, je n'ai plus de ligne de téléphonie fixe. J'essaye d'utiliser le compte SIP de la ligne Free de mes parents pour appeler : "l'appel à ce numéro vous est interdit". Bien, c'est logique, Free empêche tout appel vers un numéro international ou spécial depuis l'accès SIP depuis 2007 (oui le service SIP de Free est plutôt déprimant). J'essaye donc avec VOIPBuster, un autre compte SIP que j'utilise parfois à l'international. Ça ne fonctionne pas. C'est presque normal, ce n'est pas un service français, ça ne doit pas savoir router les numéros courts. Mais du coup comment appelle-t-on Pôle Emploi quand on est à l'étranger ? Contrairement à ma banque qui indique bien un numéro géographique pour appeler de l'étranger, PE n'indique rien, juste le 3949. J'essaye donc un service de SIP français, je m'abonne à Kiwak.net, je paye une recharge de 10 euros, je configure, ça marche pas. Visiblement eux non plus ne gèrent pas les numéros courts. 10 euros de perdus donc.
Je me résigne alors à essayer avec mon téléphone mobile, en me disant que ça risque quand même de me coûter cher comme appel, je veux savoir combien ça va me coûter. J'appelle donc le 3949, qui m'indique que la communication sera facturée à la minute, mais que pour connaître le tarif je dois appeler le 3008. Je raccroche et appelle le 3008. Qui m'indique "veuillez contacter votre opérateur téléphonique" et raccroche. Déjà là ça commence à m'énerver passablement. J'appelle donc le service client de mon opérateur (Prixtel), qui m'indique gentiment... de contacter le fournisseur du service afin de connaître le tarif. La boucle est bouclée, ils me cherchent c'est pas possible. En fait l'opératrice me fait comprendre que l'opérateur ne sait pas à l'avance le coût facturé par le fournisseur du numéro. Mais comme le fournisseur du numéro me renvois vers l'opérateur... Impossible de savoir combien coûtera cet appel. Génial.
La suite n'est pas difficile à deviner, j'appelle quand même le 3949 et tombe sur un humain assez rapidement (grâce au schéma publié par ActuChômage qui indique comment faire), et la personne au bout du fil m'indique qu'elle ne sait rien, que rien n'est inscrit dans mon dossier informatisé, qu'il faut que je me rende à mon agence Pôle Emploi. Après multiples tractations et pleurs j'ai pu la convaincre de me donner le numéro de fixe de ma conseillère, que j'ai donc contacté et qui... n'en sait rien non plus. Mais elle va regarder... En espérant qu'elle regarde mieux que les mails que je lui ai envoyé sans une seule réponse à ce jour...
Maintenant que la période de dépôt du dossier de recevabilité est dépassée (la prochaine aura lieu en septembre), tout est décalé, et je ne peux pas espérer passer cette validation avant au moins février ou mars 2012. Et encore, il faudra refaire un dossier de demande de subventionnement si je suis reçu et que je peux continuer la validation, et donc probablement des mois et des mois de délais et de pinailleries et d'interlocuteurs aussi inutiles qu'incompétents.
A la fin je ne suis même pas sûr de vouloir continuer cette démarche qui est harassante et déprimante, telle qu'elle est sabordée par les dédales administratifs, inefficaces et inutiles que Pôle Emploi me met dans les jambes.
";s:7:"dateiso";s:15:"20110629_174016";}s:15:"20110629_154016";a:7:{s:5:"title";s:53:"Pôle Emploi c'est l'enfer, et le 3949, le purgatoire";s:4:"link";s:71:"http://bohwaz.net/p/Pôle-Emploi-c-est-l-enfer-et-le-3949-le-purgatoire";s:4:"guid";s:71:"http://bohwaz.net/p/Pôle-Emploi-c-est-l-enfer-et-le-3949-le-purgatoire";s:7:"pubDate";s:25:"2011-06-29T15:40:16+02:00";s:11:"description";s:0:"";s:7:"content";s:7388:"Depuis mars je tente désespérément de commencer une procédure de validation des acquis de l'expérience afin d'obtenir un diplôme à partir de mon expérience. En mars j'ai trouvé le diplôme qui me convient, j'ai communiqué avec le professeur responsable qui a indiqué que mon parcours semblait correspondre au diplôme, j'ai préparé mon dossier de demande de recevabilité (qui permettra de savoir si je peux continuer cette validation ou non, c'est un dossier relativement simple de quelques pages), qui est prêt à être envoyé depuis mars donc.
Mais comme je suis demandeur d'emploi, inscrit à Pôle Emploi donc, c'est ce même Pôle Emploi qui doit prendre en charge les 80 euros et quelques de frais liés au dépôt du dossier de recevabilité. J'ai donc tenté d'obtenir un rendez-vous avec ma conseillère Pôle Emploi afin de pouvoir obtenir l'accord de PE pour qu'ils subventionnent ma démarche active et positive de recherche d'emploi consistant à vouloir obtenir un diplôme. Mais c'est déjà pas simple, car avec Pôle Emploi on ne vous donne qu'un seul moyen de contacter votre conseiller, son adresse E-Mail. Après plusieurs mails sans réponse, j'ai essayé de passer par le 3949, qui m'a bien fait comprendre qu'on ne pouvait pas demander un rendez-vous avec son conseiller, qu'il fallait attendre une convocation (tous les 6 mois environ dans mon cas). Ça voudrait pas dire en gros que les conseillers ne sont pas là pour nous aider mais uniquement pour nous fliquer et essayer de nous radier ?
Bref j'ai finit par recevoir une convocation pour le mois de mai. Là mon conseiller à commencé à me faire remplir un dossier de demande de subventionnement de validation des acquis, mais visiblement c'était la première fois qu'il voyait ce genre de choses, et même la première fois qu'il entendait parler de VAE. Car il ne cessait de me demander comment j'allais faire pour me déplacer tous les jours à l'autre bout de la france pour faire cette formation, et moi ne cesser de répondre qu'une validation des acquis peut se faire à distance, quelques déplacements suffisent. Le conseiller visiblement incapable de cocher les bonnes cases du dossier, a disparu près de 30 minutes voir un collègue pour qu'il lui explique. En revenant, il a mis le dossier à la poubelle en m'expliquant que Pôle Emploi ne prenait pas en charge les VAE car on ne peut pas être en même temps en formation et à la recherche d'un emploi. Au revoir monsieur.
Mais il en fallait plus que ça pour me décourager, je suis donc passé directement par un organisme qui accompagne les personnes effectuant une validation des acquis, pour avoir directement accès au directeur de mon agence Pôle Emploi, qui me permis, lui, de remplir et envoyer le dossier. Une semaine plus tard je recevais par courrier une confirmation que mon dossier avait été envoyé au centre financier, dans la région voisine. Nous étions alors à mi-mai et on m'avait promis une réponse "sous 3 semaines".
Nous sommes désormais fin juin, mon dossier de recevabilité est prêt à être envoyé depuis plus de 3 mois, j'attends juste de pouvoir cocher la case "financement par Pôle Emploi" du dossier... Je n'ai pas de réponse. J'ai donc cherché à joindre le 3949.
Hors, je ne suis plus abonné Free, je n'ai plus de ligne de téléphonie fixe. J'essaye d'utiliser le compte SIP de la ligne Free de mes parents pour appeler : "l'appel à ce numéro vous est interdit". Bien, c'est logique, Free empêche tout appel vers un numéro international ou spécial depuis l'accès SIP depuis 2007 (oui le service SIP de Free est plutôt déprimant). J'essaye donc avec VOIPBuster, un autre compte SIP que j'utilise parfois à l'international. Ça ne fonctionne pas. C'est presque normal, ce n'est pas un service français, ça ne doit pas savoir router les numéros courts. Mais du coup comment appelle-t-on Pôle Emploi quand on est à l'étranger ? Contrairement à ma banque qui indique bien un numéro géographique pour appeler de l'étranger, PE n'indique rien, juste le 3949. J'essaye donc un service de SIP français, je m'abonne à Kiwak.net, je paye une recharge de 10 euros, je configure, ça marche pas. Visiblement eux non plus ne gèrent pas les numéros courts. 10 euros de perdus donc.
Je me résigne alors à essayer avec mon téléphone mobile, en me disant que ça risque quand même de me coûter cher comme appel, je veux savoir combien ça va me coûter. J'appelle donc le 3949, qui m'indique que la communication sera facturée à la minute, mais que pour connaître le tarif je dois appeler le 3008. Je raccroche et appelle le 3008. Qui m'indique "veuillez contacter votre opérateur téléphonique" et raccroche. Déjà là ça commence à m'énerver passablement. J'appelle donc le service client de mon opérateur (Prixtel), qui m'indique gentiment... de contacter le fournisseur du service afin de connaître le tarif. La boucle est bouclée, ils me cherchent c'est pas possible. En fait l'opératrice me fait comprendre que l'opérateur ne sait pas à l'avance le coût facturé par le fournisseur du numéro. Mais comme le fournisseur du numéro me renvois vers l'opérateur... Impossible de savoir combien coûtera cet appel. Génial.
La suite n'est pas difficile à deviner, j'appelle quand même le 3949 et tombe sur un humain assez rapidement (grâce au schéma publié par ActuChômage qui indique comment faire), et la personne au bout du fil m'indique qu'elle ne sait rien, que rien n'est inscrit dans mon dossier informatisé, qu'il faut que je me rende à mon agence Pôle Emploi. Après multiples tractations et pleurs j'ai pu la convaincre de me donner le numéro de fixe de ma conseillère, que j'ai donc contacté et qui... n'en sait rien non plus. Mais elle va regarder... En espérant qu'elle regarde mieux que les mails que je lui ai envoyé sans une seule réponse à ce jour...
Maintenant que la période de dépôt du dossier de recevabilité est dépassée (la prochaine aura lieu en septembre), tout est décalé, et je ne peux pas espérer passer cette validation avant au moins février ou mars 2012. Et encore, il faudra refaire un dossier de demande de subventionnement si je suis reçu et que je peux continuer la validation, et donc probablement des mois et des mois de délais et de pinailleries et d'interlocuteurs aussi inutiles qu'incompétents.
A la fin je ne suis même pas sûr de vouloir continuer cette démarche qui est harassante et déprimante, telle qu'elle est sabordée par les dédales administratifs, inefficaces et inutiles que Pôle Emploi me met dans les jambes.
";s:7:"dateiso";s:15:"20110629_154016";}s:15:"20110624_210453";a:7:{s:5:"title";s:61:"Garbage2xhtml - A lightweight XHTML cleaning library for PHP5";s:4:"link";s:103:"http://blogs.kd2.org/bohwaz/?2011/06/24/366-garbage2xhtml-a-lightweight-xhtml-cleaning-library-for-php5";s:4:"guid";s:103:"http://blogs.kd2.org/bohwaz/?2011/06/24/366-garbage2xhtml-a-lightweight-xhtml-cleaning-library-for-php5";s:7:"pubDate";s:25:"2011-06-24T19:04:53+00:00";s:11:"description";s:202:"There is a lot of software which can work with HTML content to clean it, protect possible XSS exploits and make the code comply with standards. Among them I did not find what I'm usually looking for:...";s:7:"content";s:5332:"There is a lot of software which can work with HTML content to clean it, protect possible XSS exploits and make the code comply with standards. Among them I did not find what I'm usually looking for: something clean, lightweight and using PHP5 objects.
So, some years ago I wrote a library called garbage2xhtml which was designed to be PHP4-compatible (because of web hosting providers which are always slow to update their PHP version). Last year I wrote a new version, completely designed for PHP5 object model, with a new approach to the HTML parsing. The old library was using a character by character parsing with lot of strpos and substr stuff. This old-school idea was quite annoying and wasn't supporting nested tags. So in the rewrite I used a new approach, based on preg_split and building a complete DOM tree of the HTML string (inspired by this blog post). This way the processing is much faster and easier, we know very quickly if a tag isn't closed or opened properly.
So the resulting work is a new garbage2xhtml library which supports the following features :
Basically it's a HTML-sanitizer which is very efficient and lightweight, which makes it easier to for users to submit HTML text. For example if you supply:
<blockquote> Someone said one day... </blockquote>
Garbage2xhtml will output:
<blockquote> <p> Someone said one day... </p> </blockquote>
To make the code standards-compliant. But be sure to understand that garbage2xhtml is a dumb library, it works with configured tags, it's not Tidy, basically all it knows from HTML is just the tags you configure it to use. Here we configure it so that <blockquote> needs its contents to be enclosed by <p> tags. G2X is not a miracle solution, it wont make any HTML garbage something which can validates every time, it will just try its best to output XHTML which won't break your page validation. But for example it wont know that <div> can't be nested in <p> tags. The best I'll advise you if you really want to have valid XHTML code is to combine G2X with Tidy.
As it's a 'dumb' library, it won't check that for malicious code in <script> or <style> tags, it's not a CSS or ECMAScript parser. So you'll be advised to not allow those on your website, as well as onevent and style attributes which can carry malicious code or break your website design.
It's a great solution to let users enter HTML tags and not worry about non-closed tags which can break your design, XSS attacks or non valid code. In almost all cases (I can't assure I tested all possible HTML garbage on earth), the worst that can happen is that the tags will be escaped and displayed "as is".
At this day, this library is used on multiple websites, with tens of thousands of HTML content filtered by it, and I had no problem with it. Every XSS attack I can think did not pass the filter, but maybe you will find one, and I'll be glad to know it.
You can try Garbage2xhtml output on this demo page and download the code.
";s:7:"dateiso";s:15:"20110624_210453";}s:15:"20110624_190453";a:7:{s:5:"title";s:61:"Garbage2xhtml - A lightweight XHTML cleaning library for PHP5";s:4:"link";s:79:"http://bohwaz.net/p/Garbage2xhtml-A-lightweight-XHTML-cleaning-library-for-PHP5";s:4:"guid";s:79:"http://bohwaz.net/p/Garbage2xhtml-A-lightweight-XHTML-cleaning-library-for-PHP5";s:7:"pubDate";s:25:"2011-06-24T19:04:53+02:00";s:11:"description";s:0:"";s:7:"content";s:5829:"There is a lot of software which can work with HTML content to clean it, protect possible XSS exploits and make the code comply with standards. Among them I did not find what I'm usually looking for: something clean, lightweight and using PHP5 objects.
So, some years ago I wrote a library called garbage2xhtml which was designed to be PHP4-compatible (because of web hosting providers which are always slow to update their PHP version). Last year I wrote a new version, completely designed for PHP5 object model, with a new approach to the HTML parsing. The old library was using a character by character parsing with lot of strpos and substr stuff. This old-school idea was quite annoying and wasn't supporting nested tags. So in the rewrite I used a new approach, based on preg_split and building a complete DOM tree of the HTML string (inspired by this blog post). This way the processing is much faster and easier, we know very quickly if a tag isn't closed or opened properly.
So the resulting work is a new garbage2xhtml library which supports the following features :
Basically it's a HTML-sanitizer which is very efficient and lightweight, which makes it easier to for users to submit HTML text. For example if you supply:
<blockquote> Someone said one day... </blockquote>
Garbage2xhtml will output:
<blockquote> <p> Someone said one day... </p> </blockquote>
To make the code standards-compliant. But be sure to understand that garbage2xhtml is a dumb library, it works with configured tags, it's not Tidy, basically all it knows from HTML is just the tags you configure it to use. Here we configure it so that <blockquote> needs its contents to be enclosed by <p> tags. G2X is not a miracle solution, it wont make any HTML garbage something which can validates every time, it will just try its best to output XHTML which won't break your page validation. But for example it wont know that <div> can't be nested in <p> tags. The best I'll advise you if you really want to have valid XHTML code is to combine G2X with Tidy.
As it's a 'dumb' library, it won't check that for malicious code in <script> or <style> tags, it's not a CSS or ECMAScript parser. So you'll be advised to not allow those on your website, as well as onevent and style attributes which can carry malicious code or break your website design.
It's a great solution to let users enter HTML tags and not worry about non-closed tags which can break your design, XSS attacks or non valid code. In almost all cases (I can't assure I tested all possible HTML garbage on earth), the worst that can happen is that the tags will be escaped and displayed "as is".
At this day, this library is used on multiple websites, with tens of thousands of HTML content filtered by it, and I had no problem with it. Every XSS attack I can think did not pass the filter, but maybe you will find one, and I'll be glad to know it.
You can try Garbage2xhtml output on this demo page and download the code.
";s:7:"dateiso";s:15:"20110624_190453";}s:15:"20110603_211219";a:7:{s:5:"title";s:54:"Compact Flash partition and FAT problems with NexBlack";s:4:"link";s:98:"http://blogs.kd2.org/bohwaz/?2011/06/03/364-compact-flash-partition-and-fat-problems-with-nexblack";s:4:"guid";s:98:"http://blogs.kd2.org/bohwaz/?2011/06/03/364-compact-flash-partition-and-fat-problems-with-nexblack";s:7:"pubDate";s:25:"2011-06-03T19:12:19+00:00";s:11:"description";s:203:"Lastly, after some data corruption issues on my CF card used in my Nexblack portable player, I emptied the card using dd if=/dev/zero of=/dev/sdc, but it seems that it wasn't a very good idea as after...";s:7:"content";s:1561:"Lastly, after some data corruption issues on my CF card used in my Nexblack portable player, I emptied the card using dd if=/dev/zero of=/dev/sdc, but it seems that it wasn't a very good idea as after many attempts to reformat the drive using fdisk, cfdisk, gparted and all, it all ended with a "No disk" error from the Nexblack. I have to admit it seems to be impossible to format a CF card from Linux and make it recognized by the Nexblack. Even trying the "Format" option from the Nexblack doesn't work, the card has to be already correctly formated, what a shame.
After many tries, I tried to format the card with Windows XP and amazingly it worked. Basically it means that the Nexblack is really a buggy piece of hardware.
But the good news is that I made a working procedure for Linux to format a card so that it will be recognized by the player and you'll be able to format it from the Nexblack.
It's just a binary image of the first 1MB of a 2GB card formatted from Windows. So you can't use it directly, you MUST write it to the card and then format the card using the player, otherwise it may end in data loss and all.
So here's how to make it work :
Lastly, after some data corruption issues on my CF card used in my Nexblack portable player, I emptied the card using dd if=/dev/zero of=/dev/sdc, but it seems that it wasn't a very good idea as after many attempts to reformat the drive using fdisk, cfdisk, gparted and all, it all ended with a "No disk" error from the Nexblack. I have to admit it seems to be impossible to format a CF card from Linux and make it recognized by the Nexblack. Even trying the "Format" option from the Nexblack doesn't work, the card has to be already correctly formated, what a shame.
After many tries, I tried to format the card with Windows XP and amazingly it worked. Basically it means that the Nexblack is really a buggy piece of hardware.
But the good news is that I made a working procedure for Linux to format a card so that it will be recognized by the player and you'll be able to format it from the Nexblack.
It's just a binary image of the first 1MB of a 2GB card formatted from Windows. So you can't use it directly, you MUST write it to the card and then format the card using the player, otherwise it may end in data loss and all.
So here's how to make it work :
Y'a personne à embrasser, morceau issu de l'album Aléas & tracas, a connu récemment un peu d'actualité avec d'abord sa diffusion dans l'émission Cas-Libres sur Radio Kaléidoscope (Grenoble) le 14 octobre 2010 (archive à écouter), suivi d'un débat sur les thèmes abordés dans le morceau.
Enfin, une compilation sur le thème des sexualités et du sexisme, justement dénommé "Comme une envie de..." a choisi le morceau pour clore la compile qui a été lancée lors d'une soirée à Bruxelles (http://bxl.indymedia.org/events/1364).
";s:7:"dateiso";s:15:"20110602_211633";}s:15:"20110524_020920";a:7:{s:5:"title";s:31:"Migration ADSL de Free vers OVH";s:4:"link";s:75:"http://blogs.kd2.org/bohwaz/?2011/05/24/362-migration-adsl-de-free-vers-ovh";s:4:"guid";s:75:"http://blogs.kd2.org/bohwaz/?2011/05/24/362-migration-adsl-de-free-vers-ovh";s:7:"pubDate";s:25:"2011-05-24T00:09:20+00:00";s:11:"description";s:209:"Quand Free a décidé de facturer en sus (+2 euros / mois) la télévision, j'ai simplement débranché et rangé dans son carton le boîtier HD, de quoi économiser 15 euros par an en électricité. Depuis...";s:7:"content";s:4704:"Quand Free a décidé de facturer en sus (+2 euros / mois) la télévision, j'ai simplement débranché et rangé dans son carton le boîtier HD, de quoi économiser 15 euros par an en électricité. Depuis qu'ils ont annoncé que les nouveautés chez eux n'étaient encore que de simples services Minitel et du matériel audiovisuel sans intérêt et toujours aussi bugué (5 ans après on attends toujours des corrections de bugs sur la V5), qu'aucune amélioration de service ne serait faite sur la VoIP qui est restreinte aux appels nationaux depuis 3 ans, et qu'il fallait vraiment mettre fin à cette ineptie qu'est la neutralité du réseau, je me suis dis que bon est-ce que mon accès internet chez eux vaut vraiment 30 euros par mois ?
J'ai donc décidé, après 10 ans de fidélité chez Free (et rien comme avantage), et leur dernier changement de conditions générales qui impose 49 euros de frais de résiliation pour tous, qu'il était temps d'aller voir ailleurs si l'herbe était plus verte.
Je suis donc passé chez OVH fin avril à l'occasion d'une promotion éphémère qui a achevé de me convaincre : frais d'installation offerts (contre 50 euros normalement), en cumul de l'offre bêta : 10 euros / mois jusqu'à décembre 2011 (puis 20 euros / mois ensuite). Je me suis donc inscrit un vendredi soir. Le lundi la ligne était commandée. Le mercredi matin la freebox ne fonctionnait plus et la connexion OVH était fonctionnelle (avec un modem ADSL qui me restait sur les bras, car la Freebox ne sait se connecter qu'aux équipement de Free). La connexion était relativement instable, probablement la faute au modem qui devenait injoignable au bout de quelques heures sans le rebooter (étrange).
Le lundi suivant je recevait le modem "Start" OVH (Thomson TG585), qui est disponible en l'échange d'une caution de 30 euros rendue en fin de contrat. Modem branché, ça fonctionne, il est déjà pré-configuré avec les identifiants il n'y a rien à configurer.
J'ai été étonné de la simplicité de l'offre OVH, bien qu'elle soit plutôt destinée à un public habitué à la technologie. Ainsi la procédure a été d'une aisance sans précédent : commande, paiement par CB de la caution et du premier mois, envoi de l'autorisation de prélèvement, ensuite tout a été livré en 7 jours ouvrables (à comparer aux 5 semaines nécessaires à Free pour me câbler la dernière fois), et tout fonctionne simplement en branchant le modem commandé. Rien à faire.
OVH offre même une interface en ligne permettant d'envoyer sa résiliation à son ancien FAI par lettre recommandée (gratos), sans aucune action de notre part : on sélectionne la clause de rupture, on remplit nos coordonnées et références client, on clique, et la lettre sera imprimée et envoyée en LRAR au service résiliation de Free, OVH nous envoie un email avec le numéro de suivi pour suivre l'envoi sur le site de la poste. Il ne nous restera plus qu'à envoyer la Freebox en colis recommandé avec AR (coût : une quinzaine d'euros).
Bref tout est simple, mais pour le moment un peu trop, étant encore en période bêta, il n'est possible que de sélectionner le LNS sur lequel notre connexion sort (par défaut Paris), et le reverse DNS de notre IP.
Les points positifs :
Les points négatifs :
OVH promet l'IPv6 dans son offre, sans annoncer de date pour le moment, et plus inquiétant seulement un /128, ce qui n'aurait aucun sens. Espérons que ça sera plutôt un /56 comme ailleurs et surtout dans pas trop longtemps. Ils ont aussi annoncé la possibilité de changer la synchro de la ligne selon les capacités, pas de date annoncée non plus. Enfin, pour "bientôt" (cette semaine ?) une ligne SIP offerte avec l'abo ADSL, similaire à l'offre de téléphonie OVH à 1,18 euros / mois (appels illimités vers les fixes). Bref il faut attendre la fin de la bêta, que l'offre se stabilise, pour juger plus amplement, mais pour le moment je suis particulièrement satisfait.
";s:7:"dateiso";s:15:"20110524_020920";}s:15:"20110421_170144";a:7:{s:5:"title";s:39:"Scanner Konica Minolta Magicolor 1680MF";s:4:"link";s:83:"http://blogs.kd2.org/bohwaz/?2011/04/21/361-scanner-konica-minolta-magicolor-1680mf";s:4:"guid";s:83:"http://blogs.kd2.org/bohwaz/?2011/04/21/361-scanner-konica-minolta-magicolor-1680mf";s:7:"pubDate";s:25:"2011-04-21T15:01:44+00:00";s:11:"description";s:200:"Malgré les apparences, le scanner de cette photocopieuse/imprimante/scanner laser couleur USB fonctionne très bien sous Linux. Il suffit d'installer sane et de mettre à jour libsane en version...";s:7:"content";s:788:"Malgré les apparences, le scanner de cette photocopieuse/imprimante/scanner laser couleur USB fonctionne très bien sous Linux.
Il suffit d'installer sane et de mettre à jour libsane en version 1.0.22 au minimum (trouvable dans les dépôts Debian Testing à ce jour), et d'éditer le fichier /etc/sane.d/magicolor.conf (en root) et de rajouter à la fin du fichier :
usb 0x132b 0x208b
Pour que le scanner soit reconnu. Exécuter la commande suivante pour vérifier que tout va bien :
$ scanimage -L
Cela devrait afficher quelque chose comme ceci si tout va bien :
device `magicolor:libusb:001:003' is a Magicolor generic flatbed scanner
Pour l'imprimante ça marche sans souci avec CUPS.
";s:7:"dateiso";s:15:"20110421_170144";}s:15:"20110326_030652";a:7:{s:5:"title";s:20:"Qui se souviendra...";s:4:"link";s:61:"http://blogs.kd2.org/bohwaz/?2011/03/26/360-qui-se-souviendra";s:4:"guid";s:61:"http://blogs.kd2.org/bohwaz/?2011/03/26/360-qui-se-souviendra";s:7:"pubDate";s:25:"2011-03-26T02:06:52+00:00";s:11:"description";s:202:"A la lumière des événements récents ou la France a décidé de permettre la censure de l'état (grande tradition nationale) sur ses citoyens sans aucun contrôle, sans aucun jugement, de manière...";s:7:"content";s:4950:"A la lumière des événements récents ou la France a décidé de permettre la censure de l'état (grande tradition nationale) sur ses citoyens sans aucun contrôle, sans aucun jugement, de manière arbitraire, certains réagissent. Mais nous sommes à l'époque de Facebook où tout le monde va envoyer gaiement toutes ses infos personnelles et privées à une entreprise privée largement ouverte à la "collaboration" avec les états, mais Facebook c'est quoi ? Un web totalitaire, fermé, propriétaire. Une prison.
En ce qui concerne la censure d'état, l'avenir nous montrera quelle sera son efficacité (je vous laisse calculer l'efficacité des lois DADVSI et HADOPI sur la baisse du piratage et en déduire quelle sera l'efficacité de LOPPSI 2...), mais en ce qui concerne Facebook je peux me permettre de mettre cette énorme entreprise (mais ce n'est pas la seule, il y a Google aussi en bonne position des grosses boîtes qui se foutent de votre gueule) en parallèle avec d'autres. On pourrait citer AOL ou Compuserve, autres grands portails captifs (et accessoirement FAI), dont Facebook n'est qu'une énième égérie recouverte de hype 2.0 (et oui ces services étaient tout aussi sociaux que facebook : liste d'amis, chat, profils, etc.). Mais je vais vous parler un peu de mon premier FAI, un français, Infonie.
A une époque ou les modems étaient vendus bridés, on ne pouvait les utiliser qu'avec le FAI qui le vendait (le modem était bloqué sur un seul numéro à composer), et au bout de quelques mois d'abonnement, on pouvait obtenir un code de débridage, permettant d'utiliser un autre FAI avec le modem si chèrement acheté. Ça vous rappelle quelque chose ? Oui c'est exactement le même modèle dans la téléphonie mobile. Hey on ne change pas les bonnes recettes d'entubage hein ! Donc Infonie, que je payait à l'époque de l'ordre de 15 euros (mais c'était en france) pour 3 heures de surf par mois, communications téléphoniques comprises. Oui c'était un forfait limité dans le temps (oui même chose dans le mobile je sais). Pas longtemps après sont apparus les premiers FAI gratuits : on ne payait que la communication téléphonique à France Télécom (fort cher). Donc à cette époque, Infonie c'était toujours une interface propriétaire sous Windows (c'était très beau pour l'époque sûrement), comprenant un portail d'information / actu, un espace communautaire (chats, groupes de discussion...), la gestion des emails, la météo, les programmes télé, télécharger des logiciels, jouer à des jeux, et même surfer sur le web via le navigateur proprio bref un vrai portail captif.
Inutile de dire que pour accéder au vrai Internet sans le portail et via un autre OS c'était pas des plus simple. Mais bref. Pour Infonie, création d'Infogrames (une autre "réussite" française, criblée de dettes et devenue Atari par la suite), le web c'était pas vraiment quelque chose d'intéressant. Facebook a exactement le même point de vue, mais en plus requin. Pour eux le web n'est qu'un moyen de ramener plus d'infos commercialisables sur les internautes, et encore plus d'internautes sur son portail captif. D'ailleurs Infonie ne s'y est pas trompé (ah ah), en 1996 son directeur général déclarait à propos d'Internet que « le grand public ne s'y intéressera pas ».
Après avoir plus ou moins vivoté avec les années, Infonie, qui avait lui-même racheté quelques entreprises dans le passé (notamment le moteur de recherche Lokace) fut racheté par Skynet, qui fut racheté par Belgacom, qui céda Infonie à l'ogre de l'époque Tiscali (qui dévora Infonie mais également le service de forum Respublica, l'hébergeur Chez.com, les FAI LibertySurf, Freesbee et World Online), lui-même revendu quelques années plus tard à Télécom Italia, ensuite revendue à Iliad (Free) et démantelée par ce dernier. Autant dire que 15 ans après la création d'Infonie et ces multiples passations d'un truc dont plus personne ne veut après l'explosion de la bulle internet, il ne reste plus grand chose d'Infonie sur le web hormis quelques pages éparses et les pages perso encore survivantes de sa filiale belge toujours propriété de Belgacom. Pourtant Infonie était un poids lourd pour l'époque.
Et alors, dans 10 ans, que restera-t-il de facebook ? Quelques captures d'écran dans un musée virtuel ? Des articles de presse annonçant des acquisitions, pertes et prévisions se comptant en millions ? Quelques forums nostalgiques ? Aura-t-on encore perdu notre temps à remplir une coquille vide avec notre vie, nos souvenirs, nos échanges, nos rencontres pour les voir disparaître au prochain rachat ? Qui se souviendra de Facebook ?
";s:7:"dateiso";s:15:"20110326_030652";}}