lundi 10 novembre 2008

Outil d'exploration du web

TouchGraph Google Browser : « The TouchGraph Google Browser reveals the network of connectivity between websites, as reported by Google's database of related sites. »

TouchGraph Google Browser est une version simplifiée et spécialisée de TouchGraph, un outil d'exploration du web. Il suit les liens des pages pour réaliser une cartographie de haut niveau.

Une utilisation concrète est de lancer une exploration sur le nom d'une personne pour découvrir les sites sur lesquels elle apparait, et quelles sont les liaisons entre les informations. On peut alors découvrir des sous-groupes de pages formant des centres d'intérêts et des thématiques globales.

mardi 14 octobre 2008

Outils collaboratifs à découvrir

Coccinella

Coccinella : « Coccinella is a free and open-source cross-platform communication tool with a built-in whiteboard for improved collaboration with other people. «

Pour faire simple, Coccinella peut être décrit comme étant une fusion d'IRC, de Paint et de Skype Voice, le tout sur XMPP. Si les outils sont basiques (on a vu bien mieux ailleurs, par exemple, en terme de tableau blanc), l'intérêt est l'interopérabilité. L'utilisation de XMPP (est supposé) permet(tre) de ne pas lier l'activité à un outil précis, et donc de laisser la liberté à chacun de travailler dans ses propres modalités. Ça, c'est la théorie car en pratique le couplage est loin d'être évident. Je suis particulièrement sensible à cet aspect de découplage de l'activité par rapport aux outils, car cela permet de résoudre beaucoup de problèmes d'utilisation.

DocSynch

DocSynch : « DocSynch is a collaborative editing system on top of IRC. By transforming single-user editors into multi-user editors, it allows to remotely edit text documents together. Implementations are targeted as extensions to many popular text editors and IDEs. A working version is available for jEdit. »

DocSynch a une approche assez louche pour faire circuler les informations : il s'appuie sur IRC. En pratique, chaque fichier est un canal de discussion sur lequel les éditeurs (agnostiques, car DocSynch est plus un framework qu'un outil) des utilisateurs vont faire circuler les données. Naturellement, à côté des canaux sont prévus pour les discussions entre humains. Le résultat est un système d'édition collaborative ouvert, mais qui demande du boulot pour être mis en place.

Gobby

Gobby : « Gobby is a free collaborative editor supporting multiple documents in one session and a multi-user chat. It runs on Microsoft Windows, Mac OS X, Linux and other Unix-like platforms. »

Il n'y a pas grand chose à dire sur Gobby : il s'agit d'un éditeur de texte collaboratif, avec un chat. Pas de possibilité d'interagir avec d'autres outils, de faire simplement des améliorations, etc. En contre-partie, il est directement utilisable.

dimanche 5 octobre 2008

Outil de tableau blanc en ligne

Dabbleboard est une application web de tableau blanc qui permet très simplement de travailler à plusieurs, avec des outils intéressants.

J'aime bien l'outil pour dessiner des formes, qui permet de « nettoyer » des tracés fait à main levée : par exemple, on fait 4 traits ressemblant vaguement à un carré, et l'outil va derrière reconnaître la forme et les transformer en un « vrai » objet de type carré.

Les fonctions de mises en forme sont basiques mais suffisent largement, avec une interface claire : pas besoin de se balader dans des menus pour choisir l'épaisseur du trait parmi 48 possibilités; juste quelques éléments existent. Cela fait une interface légère et agréable.

Je ne sais pas ce que ça vaut pour réaliser un « vrai travail » avec lui, mais ça donne envie.

lundi 22 septembre 2008

Progression du e-learning en entreprise

Un article sur le progrès du e-learning en entreprise.

On n'y apprend pas grand chose (eh, c'est Le Monde Informatique ;), mais ça rejoint la tendance que je perçois : montée du e-learning pour diminuer les coups de formation (un site web avec des doc et exercices coute moins cher que des formations avec des intervenants extérieurs), couplé avec des interventions ciblées.

Le Graal étant un plan de formation qui s'adapte précisément aux besoins et calendriers de l'entreprise.

lundi 8 septembre 2008

Manipuler les images disques de MacOS en ligne de commande

Avant-propos

Pour les utilisateurs venant du monde UNIX, il est indispensable de savoir manipuler en ligne de commande les images disques d'Apple. Il en existe de deux sortes : les traditionnelles (avec leur variations : chiffrées, compressées, etc) et les grossissantes.

Les images disques grossissantes sont des images disques ayant une taille maximale définie à la création. Toutefois, uniquement l'espace utilisé est écrit sur le disque, ce qui permet de limiter l'espace occupé.

Concrètement, une telle image se présente sous la forme d'un répertoire IMAGE.sparsebundle contenant une collection de bandes, un index des données et un fichier de métadonnées sur l'image. Il va de soit qu'il est extrêmement déconseillé d'aller trifouiller au petit bonheur la chance à l'intérieur de ces fichiers.

Il est important de se pencher sur la façon dont les volumes et disques sont attachés sous MacOS. Sans entrer dans les détails, on admettra que les disques physiques sont directement (c'est à dire, sans tampon ou couche tierce) accessibles par les nœuds /dev/rdisk*; ils ont leur contrepartie logique sous la forme /dev/disk*.

Une image disque, étant un volume logique, sera attachée sous la forme /dev/diskXsY, comme si elle était un disque dur. X est alors un identifiant du disque, et chaque partition est associée à un identifiant Y. Chaque partition du disque logique peut alors être montée; le point de montage par défaut étant /Volumes/. Il est bien sur possible d'attacher une image disque sans la monter, afin d'utiliser par exemple des outils travaillant sur les blocs.

Également, MacOS associe à chaque image disque une somme de contrôle permettant de tester son intégrité. Par défaut, des tests (parfois longs) sont effectués. À vous de décider si vous voulez les valider ou bien les ignorer.

La syntaxe des exemples suivants est valable pour MacOS Léopard, et peut-être des versions ultérieures (Jaguar, Panthère et Tigre ont connu des évolutions dans la gestion des images disques; sans parler de Puma et Guépard).

Attacher une image disque

Attache le disque en un nœud /dev/disk* et monte le volume dans /Volumes/. Il est possible d'attacher une image disque sans monter son volume en utilisant l'option -nomount. D'autres options comme -nobrowse ou -private marqueront le volume comme n'étant pas utilisable par les applications (ainsi, le Finder ne l'affichera pas) ou ne notifieront pas le système de l'ajout du disque (pas d'indexation SpotLight).

hdiutil attach IMAGE

Démonter une image disque

Démonte un système de fichiers d'une image disque sans libérer ce dernier. Le nœud /dev/disk* est toujours présent mais le système de fichiers n'est plus monté.

hdiutil umount /Volumes/IMAGE

Démonter et détacher une image disque

Démonter le système de fichiers; le nœud du disque logique est supprimé de /dev/disk*,

hdiutil detach /Volumes/IMAGE

Créer une image disque grossissante

Créer une image disque de taille maximale 500 Go, avec un système de fichier en HFS+ journalisé et sensible à la casse :

  • -size 500G : taille maximale de l'image
  • -fs HFSX : système de fichiers HFS+ sensible à la casse
  • -J : utilisation d'un journal pour le système de fichiers
  • -type SPARSEBUNDLE : le type d'image disque
  • -volname "Sauvegardes" : le nom du volume de l'image disque; il sera utilisé comme nom de point de montage par défaut dans /Volumes/
hdiutil create -size 500G -fs HFSX -fsargs -J -type SPARSEBUNDLE -volname "Sauvegardes" Sauvegardes.sparsebundle

Optimiser la taille de l'image disque

Pour une image disque grossissante, il est possible de demander la récupération de l'espace non-utilisé dans les bandes, pour faire ramener sa taille à celle du volume des données qu'elle contient.

hdiutil compact IMAGE

Formater un volume en HFS

Il est tout à fait possible de formater un volume d'une image disque existante. Il suffit d'attacher l'image disque, et de travailler sur les partitions. On peut utiliser les options suivantes :

  • -J : utilisation d'un journal pour le système de fichiers
  • -s : le système de fichier sera sensible à la casse
  • -v Données" : le nom du volume
newfs_hfs -J -s -v "Données" /dev/diskXXXXX

Connaître les opérations possibles sur les images disques

La commande hdiutil ne se limite pas aux simples opérations de montage et démontage de volumes. Elle permet également de convertir, graver, segmenter et d'une façon générale d'effectuer toutes les opérations possibles sur les images disques. La commande en elle-même intègre une documentation extensive, et son manuel contient des exemples concrets.

hdiutil help et plus précisément hdiutil help COMMAND.

Références

jeudi 4 septembre 2008

La métaphore du porteur de miroir pour les traces modélisées

Une application à base de traces modélisées peut être imaginée telle un compagnon prenant la forme d'un porteur de miroir. Pour observer la trace de son activité, l'utilisateur regarde alors son reflet dans ce miroir. Le porteur obéit aux instructions de l'utilisateur pour modifier le miroir.

  • Ainsi, le porteur peut agrandir ou rétrécir le miroir pour changer la quantité d'éléments reflétés : on fait varier la quantité d'observés collectés par le système à base de traces (SBT).
  • Il est possible de placer des filtres devant le miroir pour ne voir qu'une partie du reflet : on sélectionne des observés précis par des règles de filtrage.
  • On peut ajouter un prisme pour envoyer (une partie de) son reflet à d'autres personnes, et recevoir des reflets provenant d'ailleurs : on réalise un partage de trace, et on construit des traces croisées et conjointes.
  • L'utilisant de lentilles permet de concentrer ou d'élargir des reflets : on ré-écrit la trace en une trace de plus haut niveau, et on crée des observés calculés.

Le vocabulaire du tableau blanc

En préparant la rédaction d'un article, j'ai découvert un problème : je ne sais pas décrire simplement l'activité que l'on réalise sur un tableau blanc; pire, je ne sais pas la nommer.

Il est courant que les noms des outils informatiques deviennent des verbes permettant de décrire ce que l'on fait avec : on « se skype » pour se parler, on « google » une question ou encore on « t'chat » (quel mot horrible !) avec ses amis.

Mais quel vocabulaire emploi-t'on avec le tableau blanc ?

Il existe des termes génériques comme « interagir » qui ne sont pas spécifique à cet outil, contrairement à d'autres (par exemple, « téléphoner » et non pas « téléparler »). Des termes plus scientifiques tels que « cotravailler » sont très laids, et de tout façon imprécis.

Si l'anglais permet de construire sans complexe des néologismes (avec tous les problèmes que cela comporte) comme «to whiteboard », une étude ad Gogulum montre que le terme ne prend pas. La forme française « tableaublancer » est là encore de toute façon très laide.

Un des raisons vient du fait que le tableau blanc est un outil qui permet de supporter une activé, et non pas une activité en elle-même. On utilise un tableau blanc pour partager, créer ensemble, montrer, organiser, etc. Utiliser un tableau blanc dans le simple but d'utiliser un tableau blanc n'a pas de sens. Donc on ne le fait pas, et comme on nomme rarement une non-action...

C'est pour cela qu'on voit fleurir des périphrases comme « pointer sur le tableau » ou bien « déposer sur l'espace partagé » pour désigner ce qui se fait dans l'activité. Mais quand il s'agit de travailler, on parle simplement de « modifier le carré » ou d'« ajouter du texte »; le support de l'activité s'effaçant pour ne laisser place qu'à l'activité elle-même.

Le tableau blanc, un outil innommable condamné au rang de faire-valoir ?

mercredi 3 septembre 2008

Problème d'encodage avec Java sous MacOS X Léopard

Sous Léopard, la machine virtuelle java (JVM) d'Apple se lance par défaut avec l'encodage MacRoman. Si choix est compréhensible au vu de l'histoire des technologies d'Apple, il est toutefois de nos jours rendu obsolète avec le passage à l'unicode. Pire, les développeurs et administrateurs systèmes s'attendent désormais à des outils fonctionnant en UTF-8, ce qui pose donc des problèmes d'intégration.

Pour les systèmes GNU/linux, les différentes JVM travaillent avec l'encodage du système qui est désormais l'UTF-8. Mais la JVM d'Apple se comporte différemment, avec un réglage défini en interne.

Faisons quelques essais avec ce jeu de test.

Commençons avec GNU/linux :

$ uname -a
Linux liristpq.Univ-Lyon1.fr 2.6.27-2-generic #1 SMP Thu Aug 28 17:18:43 UTC 2008 x86_64 GNU/linux

$ java GetEncoding 
Random bytes
encoding: UTF8

$ LC_ALL=ASCII java GetEncoding 
Random bytes
encoding: ASCII

Comme on peut le constater, l'utilisation de l'encodage est dynamique, avec par défaut celui du système.

Regardons maintenant ce que cela donne sur Léopard. Nous commençons par lancer la même commande que pour GNU/Linux, et ensuite nous affinerons manuellement l'encodage UTF-8 avec l'option -Dfile.encoding=UTF-8 :

$ uname -a
Darwin arda.local 9.4.0 Darwin Kernel Version 9.4.0: Mon Jun  9 19:30:53 PDT 2008; root:xnu-1228.5.20~1/RELEASE_I386 i386 i386 iMac6,1 Darwin

$ java GetEncoding
Random bytes
encoding: MacRoman

$ java -Dfile.encoding=UTF-8 GetEncoding
Random bytes
encoding: UTF8

$ LC_ALL=ASCII java GetEncoding
Random bytes
encoding: MacRoman

La différence est flagrante. La JVM d'Apple sous Léopard utilise par défaut l'encodage MacRoman et ne supporte pas la sélection par les locales, ce qui pose de réels problèmes d'interopérabilité.

Une solution simple est d'appeler systématiquement la JVM en spécifiant l'encodage UTF-8, mais elle n'est pas idéal.

- page 15 de 16 -