vendredi 7 octobre 2011

Attaque juridique sur la tz database et ses conséquences pour le monde entier

Qu’est-ce qui s’est passé ?

Ce 30 septembre 2011 s’est produit un événement rare, d’une ampleur catastrophique pour le monde entier. Et personne ne l’a su, en dehors d’informaticiens spécialisés (administrateurs systèmes, gestionnaires de distribution de logiciels, etc.) et compétents[1].

La législation sur la propriété intellectuelle a failli déstructurer non seulement internet, mais aussi la quasi totalité des ordinateurs du monde entier. Je n’ai pas l’habitude des exagérations inutiles, donc moi-même je me surprend à écrire des choses pareilles. Et pourtant, c’est vrai.

La société américaine Astrolabe qui publie des ouvrages d'astrologie et des atlas a abusé utilisé le droit américain sur la propriété intellectuelle pour mettre hors-ligne et faire cesser l’activité autour de la tz database. Cela ne vous parle absolument pas, et c’est normal : il s’agit d’une partie de l’informatique très précise qui ne concerne pas directement les utilisateurs finaux.

La tz database ?

La tz database est un ensemble d'informations techniques sur les fuseaux horaires dans le monde. Ces informations sont utilisées partout en informatique : Détail d'horloge murale

  • Chaque fois que vous indiquez la ville où vous vous trouvez, par exemple, Europe/Paris, vous utilisez la tz database.
  • Chaque fois qu'un de vos appareils se met à l'heure automatiquement, par exemple votre magnétoscope, vous utilisez la tz database.
  • Chaque fois que vous consultez un site web votre ordinateur et celui en face se réfèrent à la tz database.
  • Chaque fois que vous notez un rendez-vous dans votre agenda électronique, vous utilisez la tz database.
  • Chaque fois que vous dépendez d'un appareil médical qui permet de vous maintenir en vie, vous pouvez être sur qu'il utilise la tz database.
  • Chaque fois que vous téléphonez, vous utilisez la tz database.
  • Chaque fois que vous prenez l'avion, vous utilisez la tz database.
  • Chaque fois que vous allumez la lumière dans une pièce, vous pouvez être sur que c'est grâce à des ordinateurs qui utilisent la tz database.

La tz database a été mise en place par Arthur Olson en 1986, pour permettre de disposer en un seul d'endroit des informations nécessaires pour gérer la data et l'heure sur les dispositifs informatiques. Avoir une seule source d'information permit à l'époque de factoriser de nombreux efforts éparpillés et de résoudre les problèmes de synchronisation. Ce projet s'est révélé être tellement pratique qu'il a été ensuite utilisé par l'ensemble des équipements qui utilisent de l'informatique; et qui donc s'appuient sur la notion de temps. De nos jours, on retrouve l'utilisation de la tz database dans la quasi totalité des équipements informatiques.

La tz database est gérée dans la grande tradition du libre : ouverture et transparence totale. N'importe qui peut rejoindre le projet, discuter de la structuration des données, participer au travail de collecte et de vérification des informations, réfléchir sur l'évolution de la gestion du temps (année bissextile, ajout et retrait de seconde pour compenser la rotation de la Terre, etc). Il est donc aisé pour n'importe quelle personne de contrôler la qualité du travail accompli et de le réutiliser.

Par une de ces bizarreries dont l'histoire a le secret, la tz database est hébergée par le NIH, ce qui convient très bien. De plus, elle est libre de toute contrainte politique et ne dépend d'aucun organisme. Ce qui correspond parfaitement aux besoins [2].

La bonne gestion de la tz database est importante car chaque année plusieurs dizaines de modifications y sont apportées : des pays sont créés et supprimés, des décisions politiques sont mises en œuvre pour limiter la consommation d'énergie (horaire été/hiver), des zones géographiques sont réaménagées, des tremblements de terre affectent la rotation de la planète, etc.

Conséquences de l'attaque juridique sur la tz database

La tz database est alimentée par des informations publiques : des lois sont votées, des arrêtés sont pris, des calculs scientifiques sont publiés… Son contenu n'est donc pas soumis à de quelconques règles d'exclusivité. En fait, c'est même l'inverse : ces informations doivent absolument être diffusées. Et au niveau international, la question politique du temps est plutôt bien gérée. Bref, rien à signaler.

Tout le monde (ou presque) dépend des informations de cette base de données. L'armée, la police, les secours aux personnes, la médecine, les transports, les entreprises, les particuliers… il n'y a aucun domaine couvert par l'informatique qui ne soit pas concerné. Et donc, la législation sur la propriété intellectuelle a failli supprimer et bloquer tout usage ultérieur de ces informations. Vous réalisez maintenant ce qui a affolé les informaticiens ?

kilo-étalon

Supprimer cette base de données équivaut à supprimer le kilo-étalon du Bureau international des poids et mesures et à interdire l'usage de sa dimension. Il n'y aurait alors plus de référence pour calibrer les machines-outils, et les conséquences seraient aussi dramatiques qu'immédiates dans tous les secteurs. Il se passe actuellement une chose similaire au niveau du temps : sa référence (ou plus précisément la grille qui permet de l'interpréter) est supprimée.

Naturellement, les informaticiens ont mis en place des procédures temporaires pour préserver le temps[3] et réfléchissent à une réorganisation de la gestion du projet pour que cela ne soit pas reproductible. Mais le problème initial demeure, à savoir que de plus en plus des actes juridiques aberrants attentent non seulement aux libertés fondamentales, mais mettent aussi en danger notre vie quotidienne.

Que des avocats agissant au nom d'une société aient pu mettre à genoux le temps, simplement en ayant une mauvaise connaissance du sujet qu'ils traitent et en abusant d'une législation créé pour protéger la rente culturelle des grands groupes internationaux, est inacceptable.

Solution(s)

Une solution serait de faire avancer les réformes sur le droit d'auteur, la protection des œuvres, et de poursuivre la législation sur les droits et devoir des hébergeurs internet afin que cette situation ne puisse pas se reproduire. C'est le but des lois DADVSI, HADOPI et LCEN. Malheureusement cette approche est vouée à l'échec, de part la nature de la technique du numérique et de celle du travail législatif. Il va vraiment falloir que le législateur accepte le fait qu'il ne peut pas simplement « réguler internet ».

Plus prosaïquement, une solution pratique serait de supprimer la propriété intellectuelle sur les œuvres de l'esprit, les logiciels, et les brevets. Pan. Ah oui, c'est vrai : cela ne plairait pas à Vivendi Universal. Donc à la place on préfère conserver une loi qui permet de casser tous les appareils informatiques avec une simple lettre de 5 pages envoyée de l'autre côté de l'océan par une personne sur laquelle on n'a aucun contrôle.

Notes

[1] Si vous êtes directement concerné et que vous n'êtes pas au courant de cette histoire, posez-vous sérieusement la question de votre qualification… vraiment.

[2] Imaginez que vos dispositifs informatiques dépendent du bon vouloir politique d'un pays tiers ; vous apprécieriez ? Je ne pense pas ; donc c'est très bien que la politique reste en dehors du projet.

[3] Ah, l'informaticien, ce héros des temps modernes. Il passe sa vie à Sauver le Monde, et le grand public ne le sait jamais.

vendredi 8 juillet 2011

Retour d'expérience sur le passage en BÉPO

Logo BÉPO

J’ai passé le clavier d’une de mes machines Ubuntu/natty en disposition BÉPO; la procédure fonctionne aussi pour Debian/stable. La keymap BÉPO est disponible dès le démarrage pour déverrouiller le disque, et dans la console et GDM pour permettre la connexion.

Pourquoi le BÉPO ? La communauté BÉPO vous expliquera cela dans les détails.

Mes premières impressions

Si les premières minutes sont horribles, celles qui suivent sont juste terribles. Il faut se forcer à bloquer des années de réflexes et pratiques accumulés sur les dispositions AZERTY et QWERTY. Il faut non seulement réapprendre à (correctement) taper au clavier, mais aussi à utiliser les bons caractères typographiques (apostrophes, tirets quadratins, etc). Au bout de 24 heures, j’ai pris mes repères; après 48 heures je commence à taper des mots de passe et quelques mots sans trop hésiter. Je sens qu'il va me falloir plusieurs semaines pour retrouver une vitesse de frappe acceptable.

Je suis surtout lent, effroyablement lent. Mais dès les premières secondes j’ai bien ressenti l’intérêt de la disposition BÉPO : mes doigts se déplacement beaucoup moins et les voyelles sont à une place extrêmement pratiques. En fait, je peux taper des bouts de phrases entiers sans quitter la rangée médiane. C’est impressionnant.

Passage en clavier BÉPO du portable

Les principaux problèmes que je rencontre sont :

  • les raccourcis clavier : leur usage est tellement systématique et ancré que « déplacer » un ^C ou un ^Z est une véritable douleur
  • VIM : au secours, il faut tout réapprendre ! dd, I et autres ont changé de place (ou plus exactement, ce sont les touches qui ont changé). C’est totalement désespérant de se sentir trahir par son éditeur de texte.
  • les commandes du shell : taper « xi » à la place de « cd » est crispant. Heureusement, les touches à la place de « rm » sont « on »; ça évite les mauvaises surprises…

Globalement, si la rédaction de texte se passe plutôt bien, j’éprouve de réelle difficultés avec tout ce qui est usage technique des touches : programmation, administration, etc. Mais de gré ou de force, mes doigts vont s’habituer. La seule question étant alors « en combien de temps ? ». Comme les vacances d'été commencent, j’espère être au point pour la rentrée.

Procédure à suivre

Ce que j’ai fait :

1) installer le paquet console-data avec les réponses : « Choisir un codage clavier pour votre architecture », « dvorak », « Standard », « Dvorak French Bepo (UTF8) »

2) spécifier la keymap dans /etc/default/keyboard :

XKBMODEL="latitude" # spécifique à mon portable, sinon pc105
XKBLAYOUT="fr"
XKBVARIANT="bepo"
XKBOPTIONS="lv3:ralt_switch,compose:lwin,terminate:ctrl_alt_bksp"

3) pour dire que je veux la keymap dans l’initramfs, ajouter dans /etc/initramfs-tools/initramfs.conf :

#
# KEYMAP: [ y | n ]
#
# Load a keymap during the initramfs stage.
#

# pour avoir la carte Bépo le plus tôt possible
# (voir /etc/console/boottime.kmap.gz ou /etc/console-setup/cached.kmap.gz)
KEYMAP=y

4) générer un nouvel initramfs pour empaqueter le tout : update-initramfs -uv

5) redémarrer

mercredi 8 septembre 2010

Conception d'un service pour Mac OS : raccourcisseur d'URL

Le service web : bit.ly / j.mp

Bit.ly (qui existe aussi sous le nom J.mp[1]) est un outil web pour raccourcir les URL. Comme beaucoup d'autres outils web similaires, il propose une API qui permet d'interagir avec lui de façon automatisée.

About bit.ly
bit.ly allows users to shorten, share, and track links (URLs). Reducing the URL length makes sharing easier. bit.ly can be accessed through our website, bookmarklets and a robust and open API. bit.ly is also integrated into several popular third-party tools such as Tweetdeck. A more full list of third party tools can be found on the bit.ly blog. Unique user-level and aggregate links are created, allowing users to view complete, real-time traffic and referrer data, as well as location and metadata. Tracking stats are available after users shorten their long links with bit.ly by clicking on the “Info+” link on bit.ly, or just adding a “+” sign to the end of any bit.ly link (for example, http://bit.ly/n0og+).
[2]

J'utilise j.mp[3] au quotidien car il propose des outils intéressants pour le suivi et l'archivage des raccourcis créés. Il est tout à fait possible d'utiliser un autre outil à la place.

Code

Pour créer le service, nous allons utiliser l'IDE Automator d'Apple. Automator permet de combiner des « briques » élémentaires logicielles pour construire un workflow basic. Il s'agit donc d'un outil pour concevoir aisément des tâches automatisées.

Service web Mac OS - j.mp - création de projet

Les services sont des processus contextuels disponibles dans Mac OS X. Ils acceptent du texte ou des fichiers de l’application actuelle ou du Finder. Les services apparaissent dans le menu Services.

Service web Mac OS - j.mp - code

Le code en lui-même est très court : alimenté par le sélecteur automatique d'URL, on effectue une requête http sur l'API du service web pour récupérer l'adresse raccourcie; on la place alors dans le presse-papier du système. Cela signifie combiner deux briques d'Automator : exécution d'un script UNIX, et placer un élément dans le presse-papier.

Le script est une simple requête CURL utilisant en entrée les données fournies par le sélecteur : /usr/bin/curl "http://api.bit.ly/v3/shorten?login=IDENTIFIANT&apiKey=CLÉAPI&format=txt&domain=j.mp&longUrl=$1".

Avertissement : cette méthode implique de mettre en dur dans le code l'identifiant et la clé de l'API. Cela ne pose pas un problème en soit dans le cadre d'une utilisation personnelle, car le service que nous créons (J.mp) est stocké dans le profil de l'utilisateur : ~/Library/Services/J.mp.workflow. Toutefois, en cas de partage il faudra songer à changer les identifiants de connexion au service web; cela peut se faire directement avec un éditeur de texte dans le fichier Contents/document.wflow. Pour un déploiement plus large (plusieurs machines, mise à disposition globale à tous les utilisateurs de la machine, etc), un mécanisme de paramétrage sera à mettre en place (on peut songer à un fichier de préférences dans ~/.config/).

Un fois le code source enregistré dans Automator, le service est immédiatement opérationnel. En effet, MacOS stock directement le service dans ~/Library/Services/ sans demander à l'utilisateur où placer le projet. Pratique, mais inhabituel.

Références

Notes

[1] pour les personnes qui desperately need those two additional free characters in order to make your point, comme l'annonce le blog

[2] source

[3] prononcer jump

mercredi 9 juin 2010

Comparaison appliquée des principaux outils web de calcul d'itinéraire

J’ai eu récemment à faire un déplacement sur Vienne (Isère). Étant un villeurbannais sans voiture, mon choix s’est naturellement porté sur le train pour m’y rendre. Ne connaissant pas du tout Vienne, je me suis tourné vers les outils gratuits du web pour organiser le trajet depuis la gare de Vienne jusqu’à mon lieu de rendez-vous. Leur comparaison sur ce cas concret en dehors des grandes agglomérations fortement couvertes me laisse songeur sur la qualité des zones peu peuplées.

Informations sur le trajet à effectuer :

  • Départ : la gare d'Estressin, à Vienne, en France
  • Arrivée : le 49 avenue Marcelin Berthelot, à Vienne, en France
  • Mode de déplacement : piéton

Google maps

Réglages : Tester soi-même

  • Départ : Gare Estressin, Vienne, France
  • Arrivée : 49 avenue Marcelin Berthelot, Vienne, France
  • Option : piéton

Problème immédiat : Google ne connait pas la gare d'Estressin

# Gare de Vienne‎ - plus d'infos » Place Pierre Semard, 38200 Vienne

# Gare de Givors-Canal‎ - plus d'infos » Avenue du 11 Novembre 1918, 69700 Givors

# Gare de Givors-Ville‎ - plus d'infos »

# Gare du Péage-de-Roussillon‎ - plus d'infos » Place de la Gare, 38550 Péage de Roussillon (Le)

# Gare d'Oullins‎ - plus d'infos » 69600 Oullins

# Gare de Saint-Clair-Les Roches‎ - plus d'infos »

# Gare Saint Paul‎ - plus d'infos » Place Saint-Paul, 69005 Lyon

# Gare de Vénissieux‎ - plus d'infos »

# La Gare 12 Route Nationale, 69560 Sainte-Colombe

Lancer une nouvelle recherche de commerces et services à proximité pour afficher les 7 484 résultats pour Gare Estressin, Vienne

Et son mauvais mappage carte ↔ terrain lui fait placer le n°49 de l'avenue Berthelot à l'endroit du n°8. Vérifier soi-même

Résultat : la proposition d'itinéraire est complètement râtée. C'est dommage, car le mode Street View est extrêmement pratique pour se répérer durant le trajet.

Via Michelin

Réglages : Tester soi-même

  • Départ :
    • ville : Vienne (France)
    • emplacement : gare Estressin
  • Arrivée :
    • ville : Vienne (France)
    • emplacement : 49 avenue Marcelin Berthelot
  • Option : piéton

Suivent aussitôt deux questions & un nettoyage automatique :

  1. confirmer dans une liste que ma ville de Vienne se trouve bien dans l'Isère (38) ? Aucune idée, je dis oui
  2. « gare Estressin » est corrigé automatiquement en « Gare d’Estressin »; ah ben… merci
  3. confirmer dans une liste que ma ville de Vienne se trouve bien dans l'Isère (38), et que 'est bien le 49 avenue Berthelot que je demande ? Je dis oui

Résultat : il est immédiat et délicieux.

  • cartes : globale, détail du départ, détail de l'arrivée, détail sur chaque changement de direction
  • feuille de route très lisible (continuer sur… prendre à droite sur…), avec les distances en kilomètres et en temps
  • possibilité d'imprimer une version papier très lisible et complètes : principales cartes, directions, etc.
  • possibilité d'envoyer les information par email, ou sur un GPS (6 grands fabricants supportés)

Bref, yabon. On sent bien l’efficacité des bases de connaissances de Michelin : les détails sont précis et conformes à la réalité, les informations ultraclaires et tout a été pensé pour faciliter le déplacement de l’utilisateur.

Mappy

Réglages : Tester soi-même

  • Départ : Gare Estressin, Vienne, France
  • Arrivée : 49 avenue Marcelin Berthelot, Vienne, France
  • Option : piéton

Le formulaire de saisie me demande de préciser mon lieu de départ en choisissant entre le Parking de la gare d'Estressin, et la Gare d'Estressin; va pour la gare.

Résultat : il est sans appel.

  • Mappy interprète ma gare d'Estressin comme étant en fait la gare de Vienne, située à l'autre bout de la ville. Ce n'est pas du tout le résultat attendu. Pire, c’est même un résultat trompeur. Pourtant, j'aurais cru que… mais non. Et si je choisis à la place de la gare le parking de la gare d'Estressin, à Estressin, Mappy m'impose la gare de Vienne comme interprétation.
  • L'itinéraire proposé est du coup complètement faux, même s’il est très bien présenté : directions à prendre, distances en mètres et en temps, cartes locales… Mais il est faux.

Yahoo! maps

Réglages : Tester soi-même

  • Départ : Gare Estressin, Vienne, France
  • Arrivée : 49 avenue Marcelin Berthelot, Vienne, France

Résultat : What. The. Fuck. L’envoi de ma recherche est intercepté par un bulle d'aide jaune, à la Windows.

Le lieu que vous avez demandé est introuvable. Voulez-vous essayer avec cette adresse proche : 49, avenue Marcellin Berthelot ? Conseils :

* Vérifiez l’orthographe.

* Spécifiez une nouvelle valeur d’adresse (rue), de ville et de région (département/province/état), ou un code postal.

* Pour signaler une erreur de la carte, cliquez sur ce lien.

J'ai envie de dire « Mais pourquoi ? POURQUOI ? ».

Je valide la bulle d'aide et obtiens le résultat de ma recherche d'itinéraire, avec l'adresse telle que je l'ai demandée.

L'itinéraire proposé est correct, sans plus, car il est surtout adapté aux voitures. La présentation est touffue et les points de passages ne sont pas détaillées (panneaux à suivre, cartes, etc). La carte proposée pour visualiser le trajet est uniquement en mode « plan », aucune photo aérienne ou satellite n'est disponible pour afficher cette zone.

Splendide raté de Yahoo! Maps, car même s'il a trouvé un itinéraire je ne peux que difficilement l’utiliser.

Bing Cartes

Réglages : Tester soi-même

  • Départ : Gare Estressin, Vienne, France
  • Arrivée : 49 avenue Marcelin Berthelot, Vienne, France
  • Option : piéton

Ah ben ça commence bien. Ma gare de départ est inconnue de Bing.

Nous n'avons trouvé aucun résultat correspondant à votre recherche.

Aller, je lui donne un coup de pousse et corrige en « Gare Estressin, France » et je valide.

Résultat : Sans sourciller, Bing m'annonce que :

Aucun itinéraire aussi long n'est disponible pour les piétons. Modifiez vos préférences.

Ce qui est plutôt normal au vu du fait qu'il a interprété ma gare de départ comme étant « Gare, Nord, France ». Tout en quittant Bing, j'apprend en soupirant que Gare est un petit village situé à l'Est de Cambrais; qui se trouve effectivement dans le Nord.

Échec sans appel. En plus, la carte de résultat est moche. Aucun regret.

Conclusions

J'utilise les outils de préparation d'itinéraires depuis de nombreuses années, et je n'ai jamais eu à me plaindre des résultats pour les grandes villes : indication des stations de métro, des sens uniques ou encore des voies piétonnes, photos aériennes des changements de directions, calcul des distances au mètre prêt, etc, le résultat est presque toujours parfait; la différence entre les outils se fait alors sur leur ergonomie et fonctionnalités annexes.

Mais en ce qui concerne les zones moins peuplées (petites villes de province, campagnes, bords de mer, etc) les plans sont très souvent approximatifs. En effet, les outils de cartographie travaillent automatiquement à partir de photos aériennes et satellite, couplées à des données GPS collectées de façon assez cavalières.

Des projets comme OpenStreetMap permettent de réparer ces imprécisions en construisant des cartes libres à partir de différentes sources, libres elles-aussi. La prochaine étape pour améliorer les outils de calcul d'itinéraires sera logiquement de croiser ces bases de connaissances libres avec des bases de connaissances privées de qualité, telles que celle de Michelin.

vendredi 14 mai 2010

Utiliser Steam sur MacOS avec un système de fichiers sensible à la casse

Tout joyeux, vous avez téléchargé la version MacOS de Steam pour profiter gratuitement de Portal. Vous avez bien raison, c'est un excellent jeu. Mais une fois lancé, Steam s'arrête en affichant le message suivant :

Steam requieres that /Users/USER/Téléchargements/Steam.app/Contents/MacOS be created on a case insensitive filesystem, with read-write access.

Le problème : pour être installé sur MacOS, Steam exige un système de fichiers insensible à la casse. Et ce aussi bien pour l'application elle-même que ses données (~/Library/Application\ Support/Steam et ~/Documents/Steam\ Content).

La solution : utiliser la technique habituelle, à savoir passer par une image disque pour regrouper les fichiers sur un volume personnalisé.

Ouvrir un terminal

Nous allons travailler principalement en ligne de commande. Eh, jouer se mérite un peu ;) On pourrait faire la même chose en utilisant des outils graphiques, mais cela serait plus long à expliquer.

Créer l'image disque qui accueillera Steam

L'image disque peut être rangée n'importe où : /Applications, $HOME, etc. Nous la mettrons dans $HOME/Applications

$ mkdir -p ~/Applications
$ cd ~/Applications
$ hdiutil create -size 50g -type SPARSEBUNDLE -fs HFS+J -volname Steam Steam
created: /Users/USER/Applications/Steam.sparsebundle

Pour d'informations, on se tournera vers le billet sur la manipulation des images disques.

Mettre en place l'application Steam

Ouvrir notre image disque pour Steam et y copier l'application Steam fournie par Valve.

$ hdiutil attach Steam.sparsebundle
/dev/disk4          	GUID_partition_scheme          	
/dev/disk4s1        	EFI                            	
/dev/disk4s2        	Apple_HFS                      	/Volumes/Steam

On constate ici que notre image disque a été montée dans /Volumes/Steam; elle apparait d'ailleurs sur le bureau. Il suffit maintenant de copier l'application Steam de Valve dans cette image disque.

Adapter le compte utilisateur pour faire fonctionner Steam

Le principe est de stocker dans notre image disque tout ce qui a trait à Steam, et d'utiliser des liens pour maintenir les chemins d'accès.

$ mkdir /Volumes/Steam/Application\ Support
$ mkdir /Volumes/Steam/Steam\ Content

$ ln -s /Volumes/Steam/Application\ Support ~/Library/Application\ Support/Steam
$ ln -s /Volumes/Steam/Steam\ Content ~/Documents/Steam\ Content

Il ne reste plus qu'à synchroniser le tout et à refermer.

$ sync
$ hdiutil detach /Volumes/Steam
"disk4" unmounted.
"disk4" ejected.

Jouer !

Pour utiliser Steam, il suffit de monter l'image disque (en double cliquant dessus, par exemple), puis de lancer l'application.

mercredi 17 juin 2009

Collection d'extensions pour Firefox ayant pour but de renforcer sa vie privée sur le web

La fondation Mozilla propose désormais aux utilisateurs de créer, partager et de collaborer sur des « collections ». Une collection est un ensemble d'extensions, de thèmes et de greffons qui étendent les fonctionnalités d'un logiciel; dans notre cas, il s'agit du navigateur web Firefox mais cela concerne également Thunderbird.

Pour utiliser les collections, il est au préalable nécessaire d'équiper Firefox de l'extension Add-on Collector.

La collection « Protection Vie Privée »

J'ai créé une collection dédiée à la protection de la vie privée sur le web, qui contient les extensions suivantes :

  1. Get jetable mail : Permet de générer à la volée des alias mail qui expirent automatiquement.
  2. CustomizeGoogle : Permet de filtrer les publicités et cookies de Google.
  3. Torbutton : Permet de basculer simplement sur TOR+privoxy durant la navigation web. Aide à la configuration de Firefox pour une navigation protégée.
  4. BetterPrivacy : Permet la gestion des cookies de Flash, autrement inaccessibles.
  5. Adblock Plus : Permet de filtrer les publicités, soit directement, soit en s'abonnant à des listes de règles prédéfinies.
  6. Adblock Plus: Element Hiding Helper : Permet d'ajouter simplement des filtres à la liste d'Adblock Plus, en créant des règles optimisées.
  7. BugMeNot : Permet la navigation anonyme sur des sites demandant une identification.
  8. FoxyProxy : Permet de passer automatiquement par des proxies prédéfinis par listes ou motifs lors de la navigation web.
  9. User Agent Switcher : Permet de changer à la volée l'identification de votre navigateur web.

Le but de cette collection « Protection Vie Privée » est d'apporter à l'utilisateur un ensemble cohérent d'outils, simples à utiliser, qui lui permettrons de protéger sa vie privée durant son utilisation du web : filtrage des cookies insidieux, des publicités envahissantes (et traçant les profils), gestion automatique des proxies, email jetable contre le SPAM, etc.

Un avantage secondaire des collections est la simplicité pour déployer des configurations standards: en installant une collection contenant les extensions à utiliser, on diminue le nombre de manipulations à faire, et la mise à jour de chaque élément est automatisée via l'administrateur de la collection qui décide quelle version employer.

Je discute avec des utilisateurs a priori avancés dans l'utilisation du web sur les forums Ubuntu-fr afin d'obtenir des retours sur cette collection orientée grand public.

Retours sur la collection « Protection Vie Privée »

La principale remarque est l'absence de l'extension NoScript.

C'est une remarque intéressante, qui s'inscrit dans un contexte plus large. Il y a plusieurs discussions sérieuses sur la pertinence ou non de mettre l'utilisateur grand public sur un Firefox avec NoScript. Cela va plus loin que le simple fait de « bloquer la publicité » ou de « protéger l'utilisateur ». J'expose ici simplement les 4 arguments majeurs qui soutiennent que NoScript n'est pas adapté au grand public :

  1. Impact d'usage. L'extension a un impact très fort sur le web. Énormément de sites populaires s'appuient sur des scripts pour construire leurs interfaces dynamiques. Bloquer ces scripts revient alors à fortement dégrader l'expérience de l'utilisateur sur ce genre de site;
  2. Utilisation contraignante. Il faut identifier puis catégoriser les sites web et les scripts qu'ils comportent. C'est un processus long, complexe et agaçant pour l'utilisateur qui est engagé dans une simple démarche d'utilisation;
  3. Efficacité contestée. Le renforcement de la sécurité est fortement contestable, car sans démarche active il est difficile de proposer une couverture fiable des techniques d'attaque. À moins de désactiver entièrement les scripts, mais là on retombe sur le point 1;
  4. Fonctionnalités déjà disponibles. Adblock Plus permet le blocage des scripts externes (et aussi internes, mais moins facilement) aux pages. Via les listes d'inscription, un filtrage des scripts publicitaires est déjà mis en place pour l'utilisateur.

Bonus : la collection « Utilisation courante du web »

J'ai également créé une collection Utilisation courante du web qui apporte un ensemble d'extensions utiles au quotidien pour la navigation web. On peut considérer cette collection comme un « kit de base » permettant une utilisation confortable du web.

vendredi 15 mai 2009

Résoudre les problèmes de son sur Ubuntu, version Jaunty Jackalope

Très simplement, les mêmes causes produisant les mêmes effets, la version Jaunty Jackalope d'Ubuntu souffre de problèmes de son. Comme avec Intreprid Ibex, des logiciels tels que Flash ou Skype restent muets et sourd.

La solution est simple : il suffit d'appliquer la même méthode que pour Intrepid Ibex, à savoir supprimer PulseAudio.

vendredi 13 février 2009

Mise à jour de MacOS X Serveur en ligne de commande

Il est possible de mettre à jour MacOS par la ligne de commande, de façon à, par exemple, intervenir à distance sur une machine par SSH. On utilise pour cela la commande softwareupdate depuis un compte ayant les droits d'administration.

L'outil de mise à jour : softwareupdate

Si on les compare à d'autres outils comme apt de Debian, les possibilités de softwareupdate sont fortement limitées. Mais en compensation, il ne faut pas oublier qu'Apple prend en charge via des scripts les différents changements à apporter au système, donc le travail de l'administrateur système est simplifié.

D'ailleurs, softwareupdate ne permet de réaliser que des mises à jour du système, et rien d'autre : pas d'ajout ou de suppression de logiciels, de choix de version, etc. Pour ce genre de chose, on se tournera plutôt vers l'outil installer (man 8 installer)

La commande softwareupdate fonctionne de la façon suivante :

$ sudo softwareupdate --help
usage: softwareupdate <mode> [<args> ...]

        -l | --list             List all appropriate updates
        -d | --download         Download Only
        -i | --install          Install
                <label> ...     specific updates
                -a | --all              all appropriate updates
                -r | --recommended      only recommended updates

        Per-user preferences:
        --ignore <label> ...    Ignore specific updates
        --reset-ignored         Clear all ignored updates
        --schedule (on | off)   Set automatic checking

        -h | --help     Print this help

Le manuel (man 8 softwareupdate) contient également des précisions, avec des exemples simplifiés d'utilisation de la commande.

On constate donc que les possibilités se résument à lister les mises à jour disponibles, et à les installer individuellement ou collectivement. Simple, mais fonctionnel.

Exemple d'utilisation

Pour illustrer l'utilisation de softwareupdate, nous réaliserons la mise à jour de MacOS X Serveur, le vendredi 13 février 2009.

$ sudo softwareupdate -l
Software Update Tool
Copyright 2002-2007 Apple

Software Update found the following new or updated software:
   * JavaForMacOSX10.5Update3-1.0
        Java Update 3 pour Mac OS X 10.5 (1.0), 2959K [recommended]
   * SecUpdSrvr2009-001-1.0
        Security Update 2009-001 (1.0), 48400K [recommended] [restart]

Nous demandons l'installation (-i) de toutes les mises à jour disponibles (-a).

$ sudo softwareupdate -i -a
Software Update Tool
Copyright 2002-2007 Apple


Downloading Java Update 3 pour Mac OS X 10.5    0..20..40..60..80..100
Verifying Java Update 3 pour Mac OS X 10.5
waiting Java Update 3 pour Mac OS X 10.5
Downloading Security Update 2009-001    0.
Verifying Security Update 2009-001
Downloading Security Update 2009-001    0..20..40..60..80..100
Verifying Security Update 2009-001
waiting Security Update 2009-001
Installing Java Update 3 pour Mac OS X 10.5     0..20..40..60..80..100
Done Java Update 3 pour Mac OS X 10.5
Installing Security Update 2009-001     0..20..40..60..80..100
Done Security Update 2009-001
Done.

You have installed one or more updates that requires that you restart your
computer.  Please restart immediately.

il ne reste plus qu'à relancer les services utilisant les composants mis à jour (si on les connaît...), ou redémarrer le serveur (qui est souvent ennuyeux pour un serveur). Apple doit donc apporter des améliorations sur cet aspect.

vendredi 6 février 2009

Utiliser le thème GlassyBleu du portable HP Mini 1000 Mi Edition dans Ubuntu, version Intrepid Ibex

Le portable HP Mini 1000 Mi Edition est vendu avec Ubuntu. Le thème par défaut, noir, est splendide au point de vouloir l'utiliser sur son propre ordinateur.

Utiliser le thème GlassyBleu est très simple sur les systèmes à base de Debian qui ont GNOME comme interface. Le principe est de récupérer les paquets contenant les éléments du thème (fond d'écran, définition des éléments du thème, icones, etc), de les installer puis de les activer dans le compte courant. Cette opération peut être réalisée par un simple script.

#!/bin/bash

tmp=`mktemp -d` || exit 1
cd $tmp

# récupération des archives du thème
wget http://hpmini.archive.canonical.com/mie/dists/hardy-hpmini/universe/binary-lpia/glassy-bleu-browser-skin_0.5_all.deb
wget http://hpmini.archive.canonical.com/mie/dists/hardy-hpmini/universe/binary-lpia/glassy-bleu-theme_21_all.deb
wget http://hpmini.archive.canonical.com/mie/dists/hardy-hpmini/universe/binary-lpia/gnome-backgrounds-hp_0.4_all.deb
wget http://hpmini.archive.canonical.com/mie/dists/hardy-hpmini/restricted/binary-lpia/hp-tbird-theme_0.5_all.deb

# on s'assure que l'interface d'OpenOffice.org sera correcte
sudo apt-get install openoffice.org-style-*

# installation globale des paquets du thème
sudo dpkg -i ./*.deb

# suppression des altérations de thème GTK
gconftool --unset /desktop/gnome/interface/gtk_color_scheme

# définition du fond d'écran
gconftool --type string --set /desktop/gnome/background/picture_filename "/usr/share/pixmaps/backgrounds/gnome/hp/default_background_solid.png"
gconftool --type string --set /desktop/gnome/background/picture_options "stretched"

# définition du thème
gconftool --type string --set /desktop/gnome/interface/gtk_theme "GlassyBleu"

# définition du thème des icones
gconftool --type string --set /desktop/gnome/interface/icon_theme "GlassyBleu"

# définition du thème de metacity
gconftool --type string --set /apps/metacity/general/theme "GlassyBleu"

rm -Rf $tmp

Ce script va définir un style personnalisé dans le tableau de bord « Apparence » d'Ubuntu, et l'activer; également, un thème pour firefox et thunderbird sera disponible pour pousser l'intégration. Il est important de noter que le script n'a besoin d'être effectué qu'une seule fois, et que les paquets installés ne seront jamais mis à jour par la suite. Le thème ainsi défini peut donc être personnalisé à volonté.

jeudi 15 janvier 2009

Résoudre les problèmes de son sur Ubuntu, version Intrepid Ibex

Historiquement, la gestion du son avec GNU/linux a souvent été une bataille pour l'utilisateur. Même si Ubuntu prend soin d'éviter de retomber dans les guerres de tranchées historiques, il n'en reste pas moins que les problèmes continuent d'exister.

Ubuntu a fait le choix de s'appuyer sur PulseAudio pour présenter à l'utilisateur la gestion du son. Pour faire simple, même si PulseAudio peut travailler de façon autonome le plus souvent il se comporte comme une surcouche à ALSA et à OSS, avec quelques fonctionnalités spécifiques supplémentaires.

Pour l'utilisateur, la principale différence avec OSS et ALSA est l'intégration de PulseAudio dans l'environnement du bureau : applet de gestion, vuemètres des entrées-sorties, panneau de préférences accessibles, etc. Rien de bien indispensable, mais qui donne une vision simple et pratique du réglage et de l'utilisation du son sur l'ordinateur.

Mais le problème est que PulseAudio ne peut pas être utilisé directement par les logiciels audio, ils doivent être programmés en conséquence. Et c'est alors que se pose le problème du point de vue technique, car de nombreux outils et services, anciens et répandus, travaillent différemment sur les niveaux de la pile des services audio. Des passerelles existent pour faire cohabiter et communiquer les logiciels entre-eux, mais le résultat n'est pas satisfaisant pour l'utilisateur final qui doit jongler entre plusieurs technologies.

Quelles sont pour l'utilisateur grand public les conséquences de l'utilisation de PulseAudio ? Principalement, il n'est pas assuré de parvenir à faire fonctionner un logiciel. Ainsi, Skype est réputé pour ses problèmes d'utilisation dans Ubuntu à cause des mixeurs; FlashPlayer nécessite l'installation de bibliothèques particulières pour accéder à PulseAudio; et c'est sans parler des logiciels comme RecordMyDesktop qui réalisent des captures de session.

Une solution simple à ces problèmes est de supprimer PulseAudio du système, afin de basculer complètement sur ALSA. Cela implique de quitter les technologies préconisées par Ubuntu pour s'occuper nous-mêmes de la chaîne audio. Il s'agit naturellement d'une manipulation entièrement réversible.

La première étape consiste à supprimer les paquets de PulseAudio :

apt-get --purge remove pulseaudio* libpulse*

On constate que la dépendance sur le paquet ubuntu-desktop va intervenir et nous obliger à retirer ce paquet. Aucun souci ici, il suffira de le remettre en place avant la prochaine mise à jour du système vers Jaunty Jackalope. Ensuite, nous installons des outils pour gérer ALSA, qui vont nous amener également par le jeu des dépendances les bibliothèques nécessaires (qui sont normalement déjà présentes sur le système) :

apt-get install alsa-utils gstreamer0.10-alsa

Il ne reste qu'à redémarrer la machine pour nettoyer les services. Le résultat est que Skype, FlashPlayer et d'une façon générales toutes les applications utilisant l'audio fonctionnent correctement, sans réglage particulier. Mais on a perdu au passage les jolis vuemètres de PulseAudio.

On pourra affiner le réglage des entrées-sorties audio par les outils alsamixer et gnome-sound-properties.

- page 2 de 3 -