Blog Haypo

Aller au contenu | Aller au menu | Aller à la recherche

mardi 1 septembre 2009

Fuseau horaire français, heure d'été et heure d'hiver

Alors que j'essayais d'implémenter une nouvelle fonction Python liée à la gestion du temps, j'ai buté sur un bug. Le but était de supporter les dates avant 1970 (epoch négatif). Le résultat pour les dates entre 1946 et 1969 étaient corrects, par contre pour les dates antérieures il y avait un « trou » incompréhensible de quelques heures.

Fuseaux horaires

En me documentant sur les fuseaux horaires, j'ai appris que la France est passée d'UTC+0 à UTC+2 en 1940, suite à l'invasion allemande. Ah ! C'était donc ça.

La France est le pays du monde qui couvre le plus de fuseaux horaire (12) :

  1. UTC-10 : Polynésie française (Îles de la Société, Archipel des Tuamotu, Archipel des Tubuai)
  2. UTC-9:30 : Polynésie française (Îles Marquises)
  3. UTC-9 : Polynésie française (Îles Gambier)
  4. UTC-8 : Clipperton
  5. UTC-4 : Guadeloupe, Martinique
  6. UTC-3 : Guyane française, Saint-Pierre-et-Miquelon
  7. UTC+1 : France métropolitaine
  8. UTC+3 : Îles éparses de l'océan Indien, Mayotte
  9. UTC+4 : Îles Crozet, La Réunion
  10. UTC+5 : Îles Kerguelen, Îles Saint-Paul et Amsterdam
  11. UTC+11 : Nouvelle-Calédonie
  12. UTC+12 : Wallis-et-Futuna

Heure d'été, heure d'hiver

Déjà, les fuseaux horaires, c'est compliqué. Mais il y a pire : l'heure d'été et l'heure d'hiver ! En juin 1916, la France adopte l'heure d'été et l'heure d'hiver, suite à la proposition du député André Honnorat. À la fin de la 2e guerre mondiale, l'heure d'été est abandonné en 1946 (ouf !), avec une certaine confusion entre zone libre et occupée.

Mais en 1975, l'heure d'été et l'heure d'hiver (UTC+1 et UTC+2) font leur grand retour suite au choc pétrolier de 1974. Depuis 2002, les dates des changements sont fixées par l'Union Européenne.

Selon une étude de la Commission européenne de 2007, « les économies effectivement réalisées sont difficiles à déterminer, et, en tout cas, "relativement limitées" »... Je vois pas pourquoi on s'emmerde à conserver cet héritage idiot qui sert juste à perturber tout le monde (y compris les vaches qui font du mauvais lait pour se venger).

tzdata

Au niveau informatique, sous Linux c'est tzdata qui est utilisé : paquet qui contient les informations sur les fuseaux horaires, heure d'été/d'hiver et les secondes intercalaires. C'est une archive qui est maintenue par Arthur David Olson et disponible sur le serveur FTP du ''National Institutes of Health''. L'archive compressée du 17 août 2009, tzdata2009l.tar.gz, pèse 176 Ko, taille qui montre bien la complexité de la gestion du temps...

Remarques

  • Le changement d'heure estival a été introduit dans l'ensemble des pays de l'Union européenne au début des années 1980.
  • En traversant la frontière depuis l'Afghanistan pour aller en Chine, on passe d'un fuseau horaire UTC+4:30 à un fuseau UTC+8.
  • Un fuseau horaire n'est pas forcément un nombre entier d'heures. Il existe par exemple les fuseaux UTC-9:30 et UTC+12:45

Sources : le calendrier du changement d'heure d'été, heure d'hiver, service public français, heure d'été (Wikipédia)

Je trouve surtout que c'est un grand bordel et qu'il serait plus simple qu'on utilise tous l'heure UTC. D'ailleurs, la Chine n'a qu'un seul fuseau horaire malgré sa superficie !

lundi 5 janvier 2009

Obtention d'une adresse IPv6 auprès du routeur

En jouant avec les règles de filtrage IPv4 et IPv6 de Netfilter, je perd régulièrement ma connectivité IPv6. J'ai supprimé mes règles de filtrage et lancé sudo tcpdump -p -i any -s 0 -w snif.pcap 'ip6' pour observer quels paquets sont envoyés au routeur pour obtenir une adresse IPv6. Pour renouveller mon adresse IPv6, j'ai démonté (sudo ifconfig eth0 down) puis remonté (sudo ifconfig eth0 up) mon interface réseau.

Questions

En 1,5 secondes, Linux envoie 3 paquets ICMPv6 en multicast :

  • (t=0,0 sec) Multicast Listener Report Message v2 (type 143)
    • De :: vers ff02::16:
    • Avec « Changed to exclude: ff02::1:ffab:79ed »
    • Annonce au routeur qu'on écoute sur le canal multicast « ff02::16: »
  • (t=0,5 sec) Neighbor solicitation (type 135)
    • De :: vers ff02::1:ffab:79ed:
    • Avec « Target: fe80::216:76ff:feab:79ed »
    • Vérifie auprès des voisins que mon adresse de lien (fe80::216:76ff:feab:79ed) est unique : qu'elle n'est utilisée par aucun autre équipement
  • (t=1,5 sec) Router solicitation (type 133)
    • De fe80::216:76ff:feab:79ed vers ff02::2:
    • Demande au routeur les informations sur le réseau IPv6

Réponse

Le routeur (dans mon cas, une Freebox) répond en 10 ms par un message ICMPv6 « Router advertisement » (type 134), de fe80::207:cbff:fe3c:edd8 vers ff02::1. Les informations les plus importantes sont celles relatives au préfixe : longueur (64), préfixe (2a01:e35:8a04:25b0::), durée de vie/durée de vie préférée (86400 secondes = 1 jour). Le paquet contient également le MTU (1480 octets) et l'adresse MAC du routeur.

Création de l'adresse

Avec ses informations, mon ordinateur peut calculer sa propre adresse IPv6 publique à partir du préfixe (2a01:e35:8a04:25b0::/64) et de l'adresse MAC de mon interface réseau (00:16:76:AB:79:ED). L'adresse résultante est 2a01:e35:8a04:25b0:216:76ff:feab:79ed.

Enfin, un paquet ICMPv6 de type Neighbor solicitation est envoyé aux voisins pour vérifier que la nouvelle adresse (2a01:e35:8a04:25b0:216:76ff:feab:79ed) est bien unique.

Pour plus d'informations, lisez l'article Découverte de voisins.

mardi 25 novembre 2008

Petite histoire du temps universel

La définition d'un temps universel a duré des dizaines d'années, c'est le temps qu'il a fallu aux scientifiques pour comprendre quels phénomènes influençaient la mesure du temps et donc de pouvoir corriger les erreurs de mesure. Cet article retrace l'histoire de la création du temps universel coordonnée (UTC) depuis l'heure moyenne de Greenwich en passant par les horloges atomiques et les marées.

Lire la suite

dimanche 13 juillet 2008

Mon poste de travail

Je suis devant mes ordinateurs de 8h jusqu'à plus de 16h certains jour. Mon poste de travail est donc critique. Je vous invite pour une petite visite, voir l'antre depuis lequel je télétravaille.

Bien sûr, j'ai tout rangé pour la photo :-) La chaise avec dossier en cuir est rigide et s'incline quand je me penche en arrière. Les pieds du bureau sont dans les coins, donc en pratique, j'ai énormément d'espace pour les jambes. L'imprimante dans un coin est une imprimante laser noir et blanc : HP LaserJet 2015. Elle est parfaitement compatible Linux, imprime la première page en 8,5 secondes et les suivantes suivent immédiatement. La machine à café, Magimix de Nespresso, n'est pas compatible Linux mais produit un excellent café :-)

J'utilise deux écrans en 1280x1024 pixels côte à côte, chacun branché sur un ordinateur différent : un portable (écran au fond en jaune) et un fixe (fond bleu). C'est des écrans LCD 17 pouces que je trouve agréables. Je n'ai pas réellement noté de différence avec un écran CRT... mis à part l'encombrement : les écrans prennent juste 5 cm en profondeur, ce qui laisse toute la place à mes bras.

Grâce à Synergy, je n'utilise qu'un seul couple clavier-souris pour les deux ordinateurs. Il suffit de passer le curseur de la souris sur le bord de l'écran pour changer de machine. Le copier-coller fonctionne dans les deux sens, même quand j'utilise Windows sur une des machines. Le clavier est un Logitech UltraX : sensisble, silencieux et assez lourd pour être stable. Je voulais essayer un clavier « plat » et j'en suis plutôt satisfait, c'est agréable.

Ma souris n'est pas une souris mais une trackball : Logitech Cordless Optical TrackMan. Ce périphérique épouse la forme de la main. C'est beaucoup plus reposant qu'une souris, les muscles sont moins contractés.

J'ai toujours une souris (secondaire) dans un coin pour Gimp ou quand la trackball m'énerve. Effectivement, une trackball est moins précise qu'une souris, en particulier pour cliquer sur une zone de 10x10 pixels ou moins. Exemples : fermer une fenêtre en cliquant sur la croix, case à cocher dans un formulaire web, sélectionner une ligne de texte dans une page web ou document PDF, etc. Je redécouvre l'ergonomie par la pratique :-)

Pour finir, la déco. En face, un poster de Gilles Tran (Main Street (West)), à côté une peinture de Dalí (Une femme à la fenêtre), et à gauche un poster de Gaston dessiné par Franquin ramené du musée de la bande dessinée de Bruxelles :

Fin de la visite, n'oubliez pas le guide (laissez un commentaire ;-)).

mardi 19 février 2008

Le fournisseur d'accès à Internet Free

Depuis Octobre 2006, je suis abonné au fournisseur d'accès Internet Free. Situé à 900 mètres du DSLAM, l'affaiblissement de ma ligne (ADSL 2+) est de 13 dB. Le téléphone (VoIP) fonctionne plutôt bien et la télévision également : je peux enregistrer une émission tout en regardant un film. L'appel à l'international est gratuit dans de nombreux pays et bon marché pour les autres. Note : l'appel aux États-Unis est gratuit... mais pas pour l'Alaska (qui un état des États-Unis) !? L'appel en Alaska coûte 22 centimes la minute (tiens, je vois dans la grille tarifaire que l'appel en Alaska est aussi noté comme gratuit !?).

Employé en télétravail, la stabilité de ma connexion Internet est primordiale. De mémoire, en 17 mois, j'ai du avoir à peu près 30 minutes d'interruptions de services (plus d'internet du tout). Ce qui donne une fiabilité de 99,996%. Début 2007, la télévision était parfois hors-service, mais ça n'arrive plus aujourd'hui. J'ai choisi le mode PATATE de l'option Fastpath : « synchronisation ADSL sans bridage (jusqu'à 24 Mbit/sec) et sans seuil minimum sur le bruit, mais peut entraîner des erreurs et des pertes de paquets ».

Fin novembre dernier, le code source du site grenouille.com est passé sous licence AGPLv3. J'en ai profité pour m'inscrire à ce service : consultez mes graphiques de vitesse de téléchargement. La vitesse de téléchargement varie entre 800 et 1200 Ko/sec, la vitesse d'envoi semble bridée à 100,0 Ko/sec et le ping est d'environ 35 ms.

C'est vraiment très agréable d'avoir une aussi grosse bande passante avec une si bonne fiabilité. Pour finir, je paie 29,99€ en tout pour Internet, la télévision et le téléphone.

Note : Le support Free est difficilement joignable et totalement incompétent. Si vous avez le moindre problème avec votre connexion, c'est la croix et la bannière... Free est plutôt binaire : soit ça marche (bien), soit ça marche pas (du tout).

samedi 26 janvier 2008

Jeu de caractères Unicode

Unicode est un hydre : lorsqu'on découvre Unicode, chaque point éclairci va faire surgir deux nouvelles questions ! Cet article tente de démystifier Unicode en présentant quelques particularités de ce jeu de caractères.

Unicode 5.0

Unicode est un jeu de caractères incluant tous les autres jeux de caractères existant : c'est un surensemble qui est donc forcément plus gros. La dernière version publiée date de juillet 2006 : la norme Unicode 5.0.

Nombre de caractères :

  • Caractères graphiques : 98.884 (lettres, marqueurs, chiffres, ponctuations, symboles et espaces)
  • Code de formatage : 140 (séparateurs de ligne et de paragraphe, sens du texte, ...)
  • Code de contrôle : 65 (héritage de l'ASCII)
    • U+00–U+1F
    • U+7F–U+9F
  • Caractères à usage privé : 137.468 (l'émetteur et le récepteur peuvent définir leurs propres codes)
    • U+E000–U+F8FF
    • U+F0000–U+FFFFD
    • U+100000–U+10FFFD
  • Codes surrogates : 2.048
    • U+D800–U+DBFF : Low surrogates
    • U+DC00–U+DFFF : High surrogates
    • Pour UTF-16, les codes U+10000 à U+10FFFF sont encodés sur deux mots de 16 bits :
      • On retire 0x10000 au code : 0x10000..0x10FFFF => 0x0000..0xFFFF
      • On découpe le résultat en deux valeurs de 10 bits chacune
      • Finalement, le premier mot est : 0xD800 + (code-0x10000) & 0x003FF (10 bits de poids faible)
      • Et le deuxième mot est : 0xDC00 + ((code-0x10000) >> 10) & 0x003FF (10 bits de poids fort)
    • Les surrogates sont donc des codes Unicode interdits pour éviter de confondre un code avec un mot d'UTF-16
  • Non caractères : 66
    • Codes terminés par 0xFFFE en hexadécial : U+FFFE, U+1FFFE, ... U+10FFFE (17 codes). Codes interdits pour que le code U+FEFF puisse servir comme marqueur d'endian pour les encodages UTF-16 et UTF-32.
    • Codes terminés par 0xFFFF en hexadécial : U+FFFF, U+1FFFF, ... U+10FFFF (17 codes). Peuvent être utilisé dans une implémentation d'Unicode comme « valeur maximale ».
    • U+FDD0–U+FDEF
  • Codes réservés : 875.441 (réservés pour des usages futurs)

Unicode 5.0 contient donc 1.114.112 codes caractères : codes 0x000000 à 0x10FFFF.

Les codes 0x0000 à 0xFFFF constituent ce qu'on appelle le « Plan multilingue de base » (abrégé BMP en anglais).

Sérialisation d'Unicode

Un octet ne pouvant contenir que 256 codes différents, Unicode a besoin d'un encodage sur plusieurs octets pour chaque code. Il existe de nombreux encodages :

  • UTF-7 : mots de 7 bits (le 8e bit peut être utilisé comme bit de parité)
  • UTF-8 : mots de 8 bits
  • UTF-EBCDIC : mots de 8 bits (compatible avec le jeu de caractère EBCDIC)
  • CESU-8 : mots de 8 bits (mélange entre UTF-8 et UTF-16)
  • UTF-16 : mots de 16 bits (UTF-16LE et UTF-16BE pour little endian et big endian)
  • UTF-32 : mots de 32 bits (UTF-32LE et UTF-32E)

Il existe également les algorithmes SCSU et BOCU qui servent à compresser un texte Unicode sérialisé.

Exemple avec Python 2.5 :

>>> u'é'.encode('utf8')
'\xc3\xa9'
>>> u'é'.encode('UTF-16LE')
'\xe9\x00'
>>> u'é'.encode('UTF-16BE')
'\x00\xe9'

Caractère U+AF05 :

>>> u'\uAF05'.encode('utf8')
'\xea\xbc\x85'
>>> u'\uAF05'.encode('UTF-16LE')
'\x05\xaf'
>>> u'\uAF05'.encode('UTF-16BE')
'\xaf\x05'

Encodage Punycode

L'algorithme Punycode, normalisé par la RFC 3492, sert à convertir un nom de domaine Unicode sous forme ASCII : lettres A à Z, chiffres 0 à 9 et le caractère « - ». L'algorithme est réversible : on peut convertir un punnycode en Unicode sans perte d'information. Cet encodage est surtout utilisé pour les noms de domaine Unicode (serveurs DNS) : les Internationalized Domain Names (IDN). Lire le billet de Stéphane Bortzmeyer sur les IDNA.

Exemple avec Python 2.5 :

>>> from encodings.idna import ToASCII, ToUnicode
>>> ToASCII(u'café')
'xn--caf-dma'
>>> print ToUnicode('xn--caf-dma')
café

Normalisation d'un caractère

On peut composer un caractère. Le caractère « ä » peut s'écrire « a » + umlaut (U+308). Il existe trois caractères correspondant dans la table Unicode :

  • U+61 : « a », lettre A
  • U+E4 : « ä », lettre A avec umlaut
  • U+308 : « ¨ », umlaut

Donc U+E4 et (U+61, U+308) sont équivalents. Il existe des outils pour normaliser selon les différentes formes :

  • NFD (Forme normale D) : décomposition canonique
  • NFC (Forme normale C) : décomposition canonique suivie d'une recomposition des caractères précomposés
  • NFKC (Forme normale KC) : décomposition de compatibilité, c'est-à-dire remplace les caractères de compatibilité par leurs équivalents
  • NFKD (Forme normale KD) : décomposition de compatibilité suivie d'une décomposition canonique

Exemple avec Python 2.5 (Décompose puis Compose) :

>>> from unicodedata import normalize
>>> list(normalize('NFD', u'ä'))
[u'a', u'\u0308']
>>> list(normalize('NFC', u'a\u0308'))
[u'\xe4']

Conclusion

Unicode est un sacré bordel ! Les gens habitués à manipuler ASCII et son jeu de caractère ridicule de 128 codes sont perdus. Même ceux habitués à ISO-8859-15 flambant neuf avec son euro bling-bling (€) sont perdus car ils connaissent presque les 256 codes par cœur. Unicode contient plus d'un million de codes qu'on peut écrire d'un millier de manières différentes !

Néanmoins, c'est un pari sur l'avenir car on peut enfin mélanger sans broncher des textes dans n'importe quel langue. D'ailleurs, on peut changer l'ordre d'affichage pour les écritures de droite à gauche et inversement. Les encodages UTF-8, UTF-16 et UTF-32 simplifient la détection de l'encodage et sont plus simples que leurs ancêtres (ex: Shift JIS et ses nombreux codes de contrôle). UTF-8 est le charset ultime pour l'interopérabilité car il n'a pas de problème d'endian, est simple à détecter et peu coûteux en place pour l'encodage d'ISO-8859-1.

vendredi 4 janvier 2008

Évolutions des interfaces utilisateurs

Les périphériques de pointage les plus connus sont le clavier et la souris, tous deux inventés dans les années 1960. Depuis Windows 95, le clavier a gagné 3 « touches Windows », passage de 102 à 105 touches. La souris est passé de 2 boutons à 3 boutons, puis a gagné une roulette verticale. Certaines souris ont également une roulette horizontale et plus de 4 boutons. Il existe également les souris inversées : les trackballs, plus reposant pour le poignet mais moins précises (je trouve). Malgré tous ces changements, il n'y a rien de révolutionnaire. Voyons les interfaces multitouch, la Wii et autres innovations bien plus rigolotes :-)

Lire la suite

mardi 18 décembre 2007

Nom de domaine et Apache en IPv6

J'héberge plusieurs sites Internet, la série hachoir.org, sur mon serveur personnel. Le serveur repose sur Ubuntu Feisty (il faudrait que je pense à migrer à Gutsty...) et exécute Apache, Trac, SSH, Courier (serveur IMAP), MySQL, etc. Histoire de permettre à mes visiteurs d'accéder aux sites Internet en IPv6, je suis allé voir dans le manager OVH si je peux créer un enregistrement DNS de type AAAA. Comme je le craignais, OVH ne supporte pas les champs AAAA.

J'ai alors décidé d'héberger le nom de domaine hachoir.org chez Xname.org qui offre une configuration complète, rien à voir avec OVH. On a accès aux paramètres TTL et à tous les types de champ existant. Voici ma configuration :

$ host -a hachoir.org
(...)
hachoir.org.            3395    IN      NS      ns0.xname.org.
hachoir.org.            3395    IN      AAAA    2a01:5d8:58a0:425b:216:76ff:feab:79ed
hachoir.org.            86198   IN      A       88.160.66.91
hachoir.org.            3395    IN      NS      ns1.xname.org.

Chaque sous-domaine est un alias vers le domaine principal (hachoir.org) :

$ host fusil.hachoir.org
fusil.hachoir.org is an alias for hachoir.org.
hachoir.org has address 88.160.66.91
hachoir.org has IPv6 address 2a01:5d8:58a0:425b:216:76ff:feab:79ed

Comme OVH utilise un TTL d'une journée par défaut, j'ai attendu deux jours pour tester ma nouvelle configuration DNS. J'ai installé l'extension ShowIP de Firefox pour vérifier ma configuration. Au passage, je déteste Firefox, il est lent et s'intègre mal à Gnome et KDE, pourquoi Ubuntu n'utilise pas Epiphany ? Capture d'écran de Firefox (notez l'excellent NoScript, le pare-feu Javascript !) montrant l'IPv6 dans la barre d'état (dans une horrible couleur verte) :

Pour les tests, on peut aussi utiliser « ping6 fusil.hachoir.org » et « host -t AAAA fusil.hachoir.org ».

Enfin, j'ai configuré le reverse DNS de mon IPv4 publique dans l'interface de configuration Free via « Fonctionnalités optionnelles > Personnaliser mon reverse DNS ». Même problème ici, Free n'offre pas (encore ?) de reverse DNS IPv6.

Ah oui, je parlais d'Apache dans le titre... Hé bien, il n'y a rien à faire ;-) Ça marche tout seul.

jeudi 13 décembre 2007

Découverte d'IPv6

Adresse IPv6

Maintenant que j'ai activé IPv6 chez Free, mes machines se voient attribuer une IPv6. Voyons comment elles sont construites en prenant « 2a01:5d8:58a0:425b:216:96ff:feab:79ea » comme exemple :

  • « 2a01:5d8 » (32 bits) : le préfixe IPv6 de Free
  • « 58a0:425b » (32 bits) : mon IPv4 publique (88.160.66.91)
  • « 0216:96ff:feab:79ea » (64 bits) : mon adresse MAC (00:16:96:AB:79:EA, 48 bits) étendue sur 64 bits. Les deux premiers chiffres de l'adresse MAC (00) changent (02), car le second bit est inversé pour indiquer que c'est une adresse globale (Internet) et non plus locale (Intranet). Les chiffres « ff:fe » sont fixes. Lire l'annexe A de la RFC 4291 pour les détails : Creating Modified EUI-64 Format Interface Identifiers.

On peut donc facilement retrouver l'IPv4 et l'adresse MAC à partir de l'IPv6. Ceci peut poser des problèmes de confidentialité car l'adresse MAC est parfois utilisée pour tracer l'activité d'un utilisateur. Microsoft Office écrit par exemple l'adresse MAC de la machine dans chaque document généré (jusqu'à Office version 2001 je crois bien). Par contre, l'IPv6 semble fixe pour une même machine étant donnée qu'elle est calculée selon l'adresse MAC.

Tests IPv6

Testons notre connectivité IPv6. Pour commencer, « ping6 ::1 » permet de pinger sa propre machine. Le test ultime est celui de la tortue KAME : en IPv4 elle est floue, alors qu'en IPv6 l'animation est nette :-)

Quelques serveurs publics à pinger en IPv6 :

  • ipv6.teleglobe.net
  • www.kame.net
  • www.enst.fr

Commande pour obtenir les enregistrements DNS en IPv6 :

$ host -t AAAA www.kame.net
www.kame.net has IPv6 address 2001:200:0:8002:203:47ff:fea5:3085

(au passage, www.free.fr n'est pas accessible en IPv6, c'est un comble)

Dans un navigateur web, on peut spécifier une IPv6 en l'écrivant entre crochets : « http://[2001:200:0:8002:203:47ff:fea5:3085]/ ». On peut toujours spécifier le port TCP sur lequel contacter le serveur si besoin est : « http://[2001:200:0:8002:203:47ff:fea5:3085]:80/ » (ici le port 80 pour l'exemple).

Utilisateur du serveur IRC Freenode, je m'empresse de me connecter à « ipv6.chat.eu.freenode.net ». Mais je perd régulièrement ma connexion, je suis alors repassé en IPv4 en attendant que ça se stabilise du côté de chez Free (rappel : IPv6 est en phase de test chez Free).

Outils pour IPv6

Outils réseaux à installer pour jouer avec IPv6 :

  • nc6 : netcat (client TCP générique) compatible IPv6
  • nmap : le scanneur de port par excellence, l'option -6 active le mode IPv6
  • traceroute6 : affiche les nœuds réseaux entre votre machine et un serveur

Pour les installer :

sudo apt-get install netcat6 nmap iputils-tracepath

En testant rapidement, la première chose qu'on réalise est que bien que la Freebox soit en mode routeur avec du NAT, les machines en IPv6 sont directement accessibles depuis Internet ! Je m'empresse de configurer le parefeu Netfilter pour éviter les mauvaises surprises. Règles pour accepter le ping (ICMPv6) et le port TCP 80 :

#!/bin/sh
ip6tables -F
ip6tables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
ip6tables -A INPUT -p tcp --dport 80 -j ACCEPT
ip6tables -A INPUT -p icmpv6 -j ACCEPT
ip6tables -A INPUT -j DROP

Pour en savoir plus

IPv6 chez Free

Depuis hier, le fournisseur d'accès Internet français Free propose l'IPv6 en test aux clients ADSL dégroupés. Ça tombe bien, c'est mon fournisseur. Je me suis donc empressé de tester cette nouvelle option ! Il faut activer manuellement l'option dans « Fonctionnalités optionnelles de la Freebox > Autres fonctions > Support IPV6 [x] » puis redémarrer la Freebox. Dans mon cas, un nouveau firmware (version 1.3) a été installé.

Il était temps que Free réagisse à la pétition ipv6pourtous lancée en août 2005 ! Nerim proposait déjà IPv6 depuis mars 2003, et Orange avait réalisé des tests (mais le service a été coupé). Pour Free, ce n'est pas encore de l'IPv6 natif, mais un tunnel IPv6 dans IPv4 (4to6) non standard conçu par Rémi Després (concepteur de Transpac). Depuis 2004, ce dernier tentait d'imposer son 4to6 Unified IPv4-to-IPv6 Transition Model (brouillon de novembre 2004). En 2005, il monte une maquette avec la participation de l'ENST-B : IPv4&6 : Une Architecture Unifiée pour la Coexistence IPv4-IPv6, présenté en février 2005 durant la Journée Cohabitation IPv4 - IPv6.

Lire le billet IPv6 chez Free ! pour les détails techniques, et le journal linuxfr pour les trolls sur IPv6.

lundi 3 décembre 2007

Mes liens favoris (del.icio.us)

Pour noter mes liens favoris, j'avais trouvé une bonne méthode : ajouter des liens externes à l'article Wikipédia associé. En particulier, j'avais noté de chouettes liens sur le noyau Linux.

Malheureusement (pour moi), ce qui devait arriver arriva, j'ai été découvert : « 22 novembre 2007 à 18:50. Chtit draco. (Annulation des modifications 23234174 de Haypo : lien externe absolument pas de référence, anecdotique et sans utilité, cfr Wikipédia:Liens externes) » (commentaire du changement de l'article). Fort heureusement, j'avais choisi Wikipédia comme base de donnée car chaque modification est archivée et je peux donc retrouver les liens même après effacement ;-)

Mais bon, faut pas abuser alors j'ai décidé de migrer mes liens sur le site Delicious : voir mes favoris del.ico.us. Forcément, j'ai retrouvé d'autres amis geeks ce qui me permet de votre quels liens ils apprécient. Et puis, les outils pour trouver des liens proches des miens, grâce aux tags, ont l'air bien foutus. Je me suis déjà abonné aux liens concernant le fuzzing pour voir.

mercredi 24 octobre 2007

Dasher, Chaîne de Markov, N-gramme, Google et Pangramme

Comme j'ai la mémoire courte, j'oublie souvent le nom d'articles qui m'intéressent pourtant beaucoup. Ce billet reprend donc des idées (concepts, techniques, etc.) qui me passionnent mais que j'oublie à répétition.

Logiciel dasher

Aujourd'hui, je parlais de dasher à un ami. Ce logiciel sert à écrire du texte avec un dispositif de pointage ayant uniquement 2 axes (X et Y) tel qu'une souris, une manette de jeu ou les yeux (avec une caméra). L'animation ci-dessous en présente le fonctionnement :

Le point qui m'intriguait était de savoir comment dasher décide quelles lettres proposer à l'utilisateur pendant qu'il écrit son texte. Effectivement, dasher ne propose pas simplement l'alphabet, les chiffres et la ponctuation à chaque fois : ce serait trop pénible.

Chaînes de Markov

J'ai alors pensé aux chaînes de Markov : un modèle qui permet justement de répondre à ce besoin. Je maîtrise mal le sujet et je vais donc expliquer avec mes mots ce que j'en ai compris. Les chaînes de Markov servent à prédire quelles lettres sont les plus probables selon celles précédemment saisies. On utilise pour cela des « N-grammes » où N est le nombre de lettres, exemple de bigrammes : « de », « la », etc. En partant d'un corpus (grosse base de textes), on va construire nos chaînes de Markov donnant la probabilité d'apparition des N-grammes dans la langue du corpus. À partir de ces résultats, il y a une autre application rigolote : la génération de texte aléatoire. On peut effectivement crée un texte purement artificiel qui a l'air vrai mais est en fait le résultat d'un ordinateur ! Articles Wikipédia à lire pour en savoir plus : algorithme de Viterbi et modèle de Markov caché.

N-grammes de Google

La société Google a annoncé en août 2006 qu'elle allait distribuer ses N-grammes. Ce qui a été fait en septembre 2006 par l'intermédiaire de l'Institut des données linguistiques qui vend ces données sous forme de 6 DVD. L'ensemble est proposé au prix prix de US$150 plus US$50 pour les non-membres, ce qui fait un total de 146 €. Par contre, interdiction de rediffuser ces données ou de les utiliser à des fins commerciales ! Dommage car c'est, apparemment, la plus grosse base de données mondiale de N-grammes : 24 Go compressés par gzip en UTF-8 comprenant 1.024.908.267.229 lexèmes et 95.119.665.584 phrases. Il faut savoir que Google a utilisé Internet comme corpus. On peut donc se demander si c'est normal qu'il revende ses résultats, car très peu de sites Internet sont libres de droit !

Pangramme

Pour finir, un article qui n'a rien à voir mise à part la sonorité avec N-gramme : Pangramme. Cet article a résolu une énigme que je me posais depuis de nombreuses années : pourquoi Windows affiche « Portez ce vieux whisky au juge blond qui fume », une phrase qui sonne faux, pour la prévisualisation d'une police de caractères ? C'est simple, c'est une des phrases les plus courtes comportant les 26 lettres de l'alphabet français !

mardi 16 octobre 2007

Information, énergie et ordinateur réversible

En lisant le journal « Une équivalence entre l'énergie et l'information ? », je me suis mis à rechercher des articles sur les questions soulevées pour tenter d'y répondre. J'ai croisé les informations avec les articles que j'avais déjà collectés sur les ordinateurs réversibles. Le billet qui suit est un petit état de l'art en vrac sur le lien entre l'énergie et l'information et ses diverses applications actuelles et futures.

Lire la suite

samedi 15 septembre 2007

Liens septembre 2007 : imagerie et programmation

Par expérience, lorsque je collecte 10 liens Internet dans ma barre de favori, je n'en lis finalement qu'un seul voir aucun. J'essaye donc rapidement de vider mes favoris pour éviter d'avoir une liste kilométrique. Or des fois je cherche un lien que j'avais dans mes favoris mais que j'ai perdu en le supprimant rapidement... Voici donc une collection de liens que je ne voudrais pas perdre bien qu'ils ne m'intéressent que moyennement.

vendredi 31 août 2007

wikimapia, ohloh et web 2.0

J'aimerai vous présenter aujourd'hui deux sites internets qui me plaisent beaucoup. Les deux thèmes sont très différents mais ils ont un point commun : le « web 2.0 ».

Lire la suite