~bohwaz/blog/

Avec de vrais morceaux de 2.0 !

10 ans de Journal Intime.com !

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 :

Ajout d'article

Personnalisation visuel

Le site en lui-même a eu droit à une refonte graphique avec l'aide précieuse de Karine.

JI.com version normale

Une refonte également adaptée au mobile :

JI.com version 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.

Carnet de voyage en Australie 2009 - version imprimable

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)

Zoom H-1 2.00 upgrade

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.

How to upgrade?

  1. Download the firmware from ZOOM website
  2. Unzip the archive
  3. On Linux and OSX rename the file to uppercase H1MAIN.BIN (instead of H1MAIN.bin)
  4. Copy the file to the root of the memory card of the recorder
  5. Unplug the H1
  6. While pressing the play button, slide the power switch
  7. Press record button two times to confirm the upgrade
  8. When the upgrade is finished ("Done") you can power it off

If you get a "Write Error" message while upgrading, the file name is probably wrong. It should be "H1MAIN.BIN" in uppercase.

Montre Texas Instruments eZ430 Chronos

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).

TI_ez430

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 :

OpenChronos

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é.

Firmware de Catalin

Disponible sur le forum watchuseek.

Catalin, membre du forum watchuseek, propose un firmware très complet. Non en fait, 5 firmwares très complets :

  • Data-logger : enregistre à intervalle régulier les informations de la montre.
  • BlueRobin Base StopWatch : même chose que le firmware de base de TI, mais ajoute la possibilité de choisir le fuseau horaire de la montre, et indiquer manuellement si on est en heure d'été ou d'hiver (DST).
  • Worldtime plus CountDown and Interval Timer : inclus une gestion complète des fuseaux horaires du monde entier, avec possibilité de choisir le fuseau principal et un fuseau secondaire. Chaque fuseau observe automatiquement le passe heure d'été / heure d'hiver (pratique). Il est possible d'afficher sur l'écran de la montre l'heure principale sur la première ligne et l'heure secondaire en seconde ligne, très pratique à l'étranger. Inclus également la possibilité de programmer 5 alarmes et un enregistrement à intervalle régulier de la pression atmosphérique, ainsi qu'une alarme en cas de chute de pression rapide, signe indicateur d'un ouragan (!). Enfin, jusqu'à 9 compte à rebours peuvent être programmés et chaînés, avec un bip régulier quand la fin du compte à rebours se rapproche.
  • Astronomical watch : montre de base mais incluant heure de lever et coucher du soleil, pourcentage d'illumination de la lune, âge de la lune, équation du temps, temps sidéral, etc.
  • WorldTime plus Sidereal plus MoonAge : inclus la même chose que le Worldtime, mais ajoute le temps sidéral et l'âge de la lune.

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.

Firmware alternatif de monterosa

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 :

  • Ajustement automatique de l'horloge par jour et par semaine (pour corriger et limiter le décalage de la montre)
  • Ajustement automatique de l'heure d'été et d'hiver (DST)
  • Affichage de la pression atmosphérique
  • Affichage du jour de la semaine
  • Horloge secondaire avec différence ajustable avec l'horloge principale (permet de voir l'heure dans un second fuseau horaire)
  • Compte à rebours jusqu'à 20 heures
  • Mesure d'agilité : donne une indication à quel intervalle et avec quelle force la montre a été bougée
  • Enregistrement de jusqu'à 10 nombres à 4 chiffres avec possibilité de les protéger avec un code à 4 chiffres
  • Générateur de nombre aléatoire de 0 à 9999

Plus d'infos :

Meeting Égalité LGBT 2012

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.

Folies Bergère

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...

MODEM : Fadila Mehal

Intervention de la représentante du MODEM (première partie, 3,6 Mo, 5 min 51)

Intervention de la représentante du MODEM (seconde partie, 5,4 Mo, 8 min 41)

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.

Parti Socialiste : Najat Vallaud-Belkacem, porte-parole de François Hollande

Intervention de la représentante du PS (12 Mo, 19 min 51)

[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]

UMP : Geoffroy Didier, conseiller de Brice Hortefeux

Intervention du représentant de l'UMP (12 Mo, 19 min 20)

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à.

Les Verts : Eva Joly, candidate à la présidence

Intervention d'Eva Joly (8,5 Mo, 12 min 53)

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.

Front de Gauche : Jean-Luc Mélenchon, candidat à la présidence

Intervention de Jean-Luc Mélenchon (15 Mo, 23 min 19)

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 update

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

La rustine - atelier associatif de réparation de vélos

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é.

Fotoo Gallery : nouvelle version, nouveau site, nouveau diaporama

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 !

Archiver avec 7-Zip et par2

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 !

PHP & SQLite3 : collation

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 ;-)

Gérer ses photos en ligne de commande

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.

Importer les photos

Se placer dans le répertoire de destination et lancer :

$ gphoto2 --get-all-files

Tourner les photos dans le bon sens

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

Classer, trier et taguer ses photos

Là, pas de secret, jBrout est le meilleur logiciel du genre ;-)

Effacer les photos de l'appareil

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 !)

Visualiser ses photos

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.

Imposition PDF avec Linux

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.

Le vieil homme et la mer

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.

Dropbear : réparer les locales

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

Utilisation des cartes sons nommées dans ALSA

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 ;-)

On reprend de zéro, et on recommence.

  • 2000 : Webzine personnel
  • 2001 : Wiki personnel
  • 2003 : Journal en ligne
  • 2004 : Blog sur FBlog.fr
  • 2005 : Blog avec DotClear
  • 2012 : On mixe tout !

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/

Sebsauvage bientôt bloqué ?

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/

PHP, affreux ?

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.

Un téléphone intelligent ?

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).

Nokia 1200

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.

L'aventure Orange

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

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.

Les logiciels utiles

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

  • Opera Mini (freeware) est juste obligatoire. Le téléphone est fourni avec une version 4.2 spécifique pour l'OS S40 de Nokia, ça commence à dater un peu. Il n'est pas possible de le mettre à jour, mais il est possible d'installer à côté la version 6.5 (avec les tabs notamment), il suffit de la télécharger sur le site m.opera.com
  • Nokia Browser (freeware), c'est un navigateur déporté comme Opera Mini, mais créé par Nokia. La différence principale c'est que le navigateur de Nokia est mieux intégré avec le reste de l'OS, mais c'est quand même plus lent. Pour la petite histoire ça utilise Gecko comme moteur de rendu.
  • UC Web (freeware) est un excellent petit navigateur, déporté également. Il est très rapide et dispose d'une option "nuit" très utile qui affiche les pages web en texte clair sur fond sombre, bien reposant pour les yeux. Le rendu est un poil moins bon qu'Opera Mini tout de même. Et la gestion du clavier complet n'est pas parfaite, il est difficile de taper des chiffres par exemple (reconnus comme les touches numériques d'un téléphone à clavier numérique).
  • Je n'ai pas pu trouver de navigateur "normal" qui ne passe pas par un serveur tiers. C'est problématique je trouve. Le navigateur "OVI" intégré passe également par un serveur tiers.

Messagerie

  • Le téléphone intègre déjà un client de messagerie compatible avec OVI (service de Nokia), MSN, Yahoo Messenger et Google Talk, qui est correct, sans plus.
  • BombusMod (libre) est un client XMPP (donc MSN, Google Talk, Facebook en plus de tous les serveurs Jabber) qui est pas mal du tout.
  • Le téléphone intègre un client mail correct également, même si pas très bien foutu, notamment la liste de mails est limitée à 10 messages, il faut après cliquer sur "Plus de messages" qui charge une nouvelle page de la liste. Bof.
  • http://funambol.com/ a une client mail (libre) qui synchronise ses mails avec un serveur Funambol. Perso ça m'intéresse pas trop mais c'est intéressant.
  • L'application officielle GMail (freeware) est bien foutue, mais ne fonctionne qu'avec les comptes GMail forcément. Par contre Google ne la propose plus au téléchargement (résultat de la politique d'abandon de tous les produits qui ne rapportent pas...), il faut aller la chercher ici : http://m.google.com/mail/download/binaries/L2/2.0.6/mail_m2.jar
  • MujMail (libre, plus développée depuis 2009) est un client mail générique très bien fourni (IMAP, POP3, SMTP, support de SSL/TLS), le meilleur en fait, à avoir absolument.

Voyage : localisation, cartes, etc.

  • Nokia Nearby (freeware) est une petite appli qui indique les lieux utiles à proximité pour les téléphones sans GPS.
  • Google Maps (freeware) est l'équivalent du site web, c'est limité (pas de possibilité de placer ses propres marqueurs) mais ça marche bien, avec itinéraire animé et affichage de la quantité de données téléchargées.
  • Nokia fournit une horloge mondiale qui affiche l'heure locale dans quatre villes du monde, pas mal mais il n'est pas possible de l'utiliser en fond d'écran, donc faut forcément lancer l'appli pour voir les fuseaux.
  • MGMaps (libre) est sans contexte la meilleure appli pour les cartes, elle supporte les fonds de carte de Yahoo! Maps, Bing Maps, Ask.com et OpenStreetMap et permet de s'interfacer avec un GPS externe en BlueTooth (!). Il est également possible de télécharger sur son PC les fonds de cartes pour des zones et des zooms déterminés, puis les placer sur le téléphone pour avoir des fonds de carte consultables hors-ligne. Il sait gérer les fichiers KML et afficher les lieux qui y sont indiqués, de même qu'afficher les cartes de métro de plusieurs grandes villes ou les points d'accès FON. On peut placer ses propres marqueurs, enregistrer une liste d'endroits favoris, et encore plein d'autres choses.
  • L'excellent Métro, si connu sur Palm, n'existe hélas pas en version J2ME.

Sécurité

  • CryptoSMS (libre) est un petit programme qui utilise un algorithme à clé publique/secrète pour chiffrer/déchiffrer le contenu des SMS envoyés. C'est plutôt bien foutu techniquement, mais l'ergonomie est pas idéale.
  • J2ME-OTP (libre) est un générateur de mot de passe à usage unique, conforme à S/Key (et donc utilisable avec SSH par exemple, voir ici pour comment activer S/Key dans OpenSSH).
  • midpSSH est un client SSH fonctionnel pour se connecter à ses machines.

Divers

  • http://arktos.se/meboy/ (libre) est un émulateur Game Boy / Game Boy Color. Le fonctionnement est un peu compliqué, il faut intégrer les ROMS au fichier JAR avant installation, mais sinon c'est que du bon, les piles LR6 en moins ;-)

D'autres logiciels J2ME libres sont dispos sur http://ngphone.com/j2me/opensource/.