~bohwaz/blog/

Avec de vrais morceaux de 2.0 !

Lightweight PHP SMTP library

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.

Sauvegarder et jouer à des jeux Wii sur disque ou clé USB

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 :

  • une console Wii connectée à Internet
  • une carte SD
  • un disque dur USB ou clé USB (sauf si vous avez une grosse carte SD sur laquelle vous voulez mettre les jeux)

Installer le HomeBrew Channel

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

Installation de Pimp My Wii

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.

USB Loader GX

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 !

Créer une partition pour les jeux Wii

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.

Optionnel : ajouter USB Loader GX au menu de la Wii

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.

Edit : convertir les fichiers WIA en ISO

Le format WIA est souvent utilisé pour compresser les jeux et qu'ils prennent moins de place. Malheureusement qwbfsmanager ne le gère pas, il faut donc déjà convertir en ISO.

D'abord il faut installer les WiimmsTools : apt-get install wit sur Debian Jessie, ou sinon télécharger l'archiver sur le site officiel et dézipper le fichier téléchargé.

Ensuite il faut convertir le fichier :

$ wit convert fichier.wia -d . -I

Vous aurez dans le même répertoire que le fichier.wia un fichier.iso que vous pourrez utiliser.

Comment stocker les mots de passe

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 !

Passphrase - Générer des phrases secrètes en PHP

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.

Garradin, gestionnaire d'association en ligne

(É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 :

  • ajouter et gérer les adhérents ;
  • tenir une comptabilité en partie double, et ce de manière simple et abordable ;
  • gérer les cotisations, les rappels de cotisation non payées ;
  • envoyer des mails aux membres et entre membres ;
  • gérer et envoyer une newsletter ;
  • gérer des membres par catégories ;
  • prendre des notes en réunion ;
  • archivage des documents administratifs ;
  • s'inscrire soi-même à l'association, puis payer la cotisation en ligne directement ;
  • avoir un site web public simple mais puissant (squelettes similaires à SPIP) ;
  • s'interfacer avec des outils spécifiques à l'association via une API JSON.

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

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 :

Notes rapides... ↓