Mot-clé - documentation

Fil des billets - Fil des commentaires

mardi 13 octobre 2009

BiblioCNRS, un FAIL en perspective

Avant les grandes vacances, je me suis retrouvé embarqué (je ne sais plus comment) pour betatester le futur service unifié de recherche bibliographique du CNRS : BiblioCNRS. Et bien moi, je vous le dis, c'est pas gagné.

BiblioCNRS

À base de Netvibes, le portail a la pesanteur d'un mammouth farci à l'herbe à chat. Ça rame, ça rame, ça rame. On a beau supprimer des widgets, désactiver tous les effets et même coller une CSS perso, ça rame.

L'organisation est... non, en fait il n'y a pas d'organisation : on y comprend rien, les actualités sont rangées entre un lien vers l'AERES et l'annuaire du personnel; ou l'inverse, c'est selon la session.

Pensant pouvoir s'échapper, on clique sur des mots familiers écrits en gros « ST2I » ou « Mon BiblioCNRS ». Et bien non, c'est juste une illustration qui sert à montrer que, ben, rien justement.

De dépit, on se résout à cliquer sur un onglet en haut de page (BiblioST2I dans mon cas), et là encore, ça rame. Horreur ! On se retrouve face à une page semblable à la précédente, mais avec *encore* plus de widgets. Y'en a plein, partout, tellement que ça ne tient même pas à l'écran !

C'est bourré de textes en noir, rouge et orange. Des widgets entiers sont remplis de juste une URL indicible surmontant un texte incompréhensible si on n'a pas fait 20 ans dans un labo. On devine bien ce qu'on peut faire avec certains formulaires, mais à ce point on commence à redouter ce qui se cache derrière.

Vraiment, c'est innommable comme portail de recherche de publications. Moi, je voulais juste un truc tout simple, avec quelques options stockées dans un cookie. Genre Google Scholar, quoi, mais directement sur les catalogues du CNRS. Et bien non, apparemment quelqu'un a décidé que l'Avenir c'était le mashup lourdingue tendance « débrouille toi ». Dommage.

vendredi 19 juin 2009

Outil de partage pour les supports visuels de présentation

SlideShare est un outil web de partage de support visuel de présentation (SVP).

Il permet simplement de mettre en ligne ses SVP afin de les diffuser. Mais il apporte en plus des fonctionnalités intéressantes, comme :

  • la notion de groupe, pour rassembler les membres d'une équipe
  • la définition d'une licence pour l'exploitation des contenus
  • des outils à la YouTube pour intégrer les SVP dans une page web
  • un système de commentaire pour obtenir des retours sur ses œuvres
  • des fonctionnalités d'exportation et de téléchargement
  • des fonctionnalités d'enrichissement possible par piste audio
  • le suivi de personnes et d'œuvres intéressantes
  • etc.
Bref, yabon. Fini de s'embêter avec le FTP, la construction (et maintenance !) de page d'index rassemblant le matériel... 3 clics et c'est fait.

En revanche, il ne faut pas oublier qu'un SVP n'est pas un document qui se suffit à lui-même. En effet, comme son nom l'indique c'est bien un support et non pas une ressource autoportée. J'en parle un peu ici.

Pour vous donner une idée de ce qu'il est possible de faire, voici une collection de mes SVP. Sexy, non ?

mercredi 10 juin 2009

Appel à commentaires sur les modèles de trace

Avant propos

Il y a deux abréviations à connaitre.

i18n (internationalization) internationalisation

Les adaptations à faire sur les formats de données, selon les pays. Par exemple, comment on exprime une date (JJ/MM/AA, MM/DD/AA, etc), une monnaie ($123, 123€), un nombre (123.456 ou 123,456), etc. C'est un travail technique qui demande à faire abstraction du contenu pour en décrire sa structure.

CF l18n

l10n (localization) régionalisation

Il s'agit de la traduction à proprement parler.

WP :

La régionalisation de logiciel concerne le processus de traduction de l'interface utilisateur d'un logiciel d'une langue vers une autre et en l'adaptant à la culture locale. On utilise parfois le terme localisation, qui est une transposition du mot anglais localization (faux ami). On écrit parfois l10n car le mot localization est composé de dix lettres encadrées par un l et un n.

Avant qu'un logiciel ne soit régionalisé, il faut au préalable qu'il ait été internationalisé, c’est-à-dire qu'il ait été écrit pour pouvoir être traduit dans différentes langues et cultures.

CF l10n

Discussion sur les modèles

Pour construire l'interface de l'outil générique de visualisation interactive de trace (OGVIT), il faut que chaque attribut ait un nom compréhensible pour l'utilisateur. Ce qui veut dire qu'au couple attribut+valeur (par exemple, ktbs:hasTime et 1244638257), il faut ajouter un 3e élément qui est le « nom humain » (mercredi 10 juin 2009, 14:50:57)

De plus , ce nom humain doit pouvoir être internationalisé (et localisé), car tout le monde n'utilise pas la même langue. Ce qui veut dire qu'un observé, au final, doit autant être compréhensible par la machine que par l'humain. Si l'humain sait vaguement s'adapter, la machine elle a besoin d'un formalisme explicite.

Il existe plusieurs endroits où ajouter ces élément de i18n et de l10n :

Dans l'observé lui-même

  • avantage : l'information est immédiatement présente, on peut la traiter directement
  • inconvénients :
    • ça prend de la place, on répète l'information autant de fois qu'on a d'observés.
    • pour gérer plusieurs langues, il faudra ajouter autant d'éléments de traduction; c'est du gaspillage.

Dans le modèle de trace

  • avantage : c'est définit une fois pour toute; on économise de la place et du temps
  • inconvénients :
    • on se retrouve à trimbaler dans le modèles des informations dont on n'a pas besoin. Par exemple, moi je n'ai pas besoin de pouvoir exprimer mes dates en japonais.
    • ajouter une langue revient à reprendre le modèle, ce qui n'est pas toujours évident à faire car celui-ci n'est pas forcément modifiable. Par exemple, il peut être intégré dans une application dont on n'a pas les sources.

Dans un document à côté du modèle

  • avantages :
    • on peut modifier et compléter les traductions et formats sans toucher au modèle.
    • le modèle ne contient que la définition de la trace, le reste étant dans un document associé.
  • inconvénients :
    • quand on veut manipuler un modèle, il faut alors manipuler deux fichiers pour avoir les littéraux. Pas pratique.
    • ça complique le schmilblick.

Reste à décider. Vos avis sur la question ?

Exemple concret

Je souhaite visualiser la trace de ma (« Damien_traces ») frappe clavier dans weechat, mon client IRC tracé. La trace correspondant à l'envoi du message « bonjour » sur le canal #LIRIS de Freenode est la suivante :

  1. @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
  2. @prefix ktbs: <http://liris.cnrs.fr/~ithaca/ns/ktbs/0.1/> .
  3. @prefix : <http://example.com/trace-model/> .
  4.  
  5. [ a :presseTouche;
  6. :versionDeWeechat "0.2.6.1";
  7. :monPseudo "Damien_traces";
  8. :nomDuCanal "#LIRIS";
  9. :nomDuServeur "freenode";
  10. :typeDeTampon (0=standard, 1=DCC, 2=données IRC brutes) "0";
  11. :caractère "*b";
  12. :zoneDeSaisieAvantCaractère "";
  13. :zoneDeSaisieAprèsCaractère "b";
  14. :drapeauAway "0";
  15. :contenuDeLaZoneDeSaisie "b";
  16. :contenuDuMasqueDeCouleurDeLaZoneDeSaisie " ";
  17. :positionDuCurseurDansLaZoneDeSaisie "1";
  18. ktbs:hasBegin "1244635383";
  19. ktbs:hasEnd "1244635383";
  20. ktbs:hasTrace <> ;
  21. ].
  22.  
  23. [ a :presseTouche;
  24. :versionDeWeechat "0.2.6.1";
  25. :monPseudo "Damien_traces";
  26. :nomDuCanal "#LIRIS";
  27. :nomDuServeur "freenode";
  28. :typeDeTampon (0=standard, 1=DCC, 2=données IRC brutes) "0";
  29. :caractère "*o";
  30. :zoneDeSaisieAvantCaractère "b";
  31. :zoneDeSaisieAprèsCaractère "bo";
  32. :drapeauAway "0";
  33. :contenuDeLaZoneDeSaisie "bo";
  34. :contenuDuMasqueDeCouleurDeLaZoneDeSaisie " ";
  35. :positionDuCurseurDansLaZoneDeSaisie "2";
  36. ktbs:hasBegin "1244635383";
  37. ktbs:hasEnd "1244635383";
  38. ktbs:hasTrace <> ;
  39. ].
  40.  
  41. [ a :presseTouche;
  42. :versionDeWeechat "0.2.6.1";
  43. :monPseudo "Damien_traces";
  44. :nomDuCanal "#LIRIS";
  45. :nomDuServeur "freenode";
  46. :typeDeTampon (0=standard, 1=DCC, 2=données IRC brutes) "0";
  47. :caractère "*n";
  48. :zoneDeSaisieAvantCaractère "bo";
  49. :zoneDeSaisieAprèsCaractère "bon";
  50. :drapeauAway "0";
  51. :contenuDeLaZoneDeSaisie "bon";
  52. :contenuDuMasqueDeCouleurDeLaZoneDeSaisie " ";
  53. :positionDuCurseurDansLaZoneDeSaisie "3";
  54. ktbs:hasBegin "1244635383";
  55. ktbs:hasEnd "1244635383";
  56. ktbs:hasTrace <> ;
  57. ].
  58.  
  59. [ a :presseTouche;
  60. :versionDeWeechat "0.2.6.1";
  61. :monPseudo "Damien_traces";
  62. :nomDuCanal "#LIRIS";
  63. :nomDuServeur "freenode";
  64. :typeDeTampon (0=standard, 1=DCC, 2=données IRC brutes) "0";
  65. :caractère "*j";
  66. :zoneDeSaisieAvantCaractère "bon";
  67. :zoneDeSaisieAprèsCaractère "bonj";
  68. :drapeauAway "0";
  69. :contenuDeLaZoneDeSaisie "bonj";
  70. :contenuDuMasqueDeCouleurDeLaZoneDeSaisie " ";
  71. :positionDuCurseurDansLaZoneDeSaisie "4";
  72. ktbs:hasBegin "1244635384";
  73. ktbs:hasEnd "1244635384";
  74. ktbs:hasTrace <> ;
  75. ].
  76.  
  77. [ a :presseTouche;
  78. :versionDeWeechat "0.2.6.1";
  79. :monPseudo "Damien_traces";
  80. :nomDuCanal "#LIRIS";
  81. :nomDuServeur "freenode";
  82. :typeDeTampon (0=standard, 1=DCC, 2=données IRC brutes) "0";
  83. :caractère "*o";
  84. :zoneDeSaisieAvantCaractère "bonj";
  85. :zoneDeSaisieAprèsCaractère "bonjo";
  86. :drapeauAway "0";
  87. :contenuDeLaZoneDeSaisie "bonjo";
  88. :contenuDuMasqueDeCouleurDeLaZoneDeSaisie " ";
  89. :positionDuCurseurDansLaZoneDeSaisie "5";
  90. ktbs:hasBegin "1244635384";
  91. ktbs:hasEnd "1244635384";
  92. ktbs:hasTrace <> ;
  93. ].
  94.  
  95. [ a :presseTouche;
  96. :versionDeWeechat "0.2.6.1";
  97. :monPseudo "Damien_traces";
  98. :nomDuCanal "#LIRIS";
  99. :nomDuServeur "freenode";
  100. :typeDeTampon (0=standard, 1=DCC, 2=données IRC brutes) "0";
  101. :caractère "*u";
  102. :zoneDeSaisieAvantCaractère "bonjo";
  103. :zoneDeSaisieAprèsCaractère "bonjou";
  104. :drapeauAway "0";
  105. :contenuDeLaZoneDeSaisie "bonjou";
  106. :contenuDuMasqueDeCouleurDeLaZoneDeSaisie " ";
  107. :positionDuCurseurDansLaZoneDeSaisie "6";
  108. ktbs:hasBegin "1244635385";
  109. ktbs:hasEnd "1244635385";
  110. ktbs:hasTrace <> ;
  111. ].
  112.  
  113. [ a :presseTouche;
  114. :versionDeWeechat "0.2.6.1";
  115. :monPseudo "Damien_traces";
  116. :nomDuCanal "#LIRIS";
  117. :nomDuServeur "freenode";
  118. :typeDeTampon (0=standard, 1=DCC, 2=données IRC brutes) "0";
  119. :caractère "*r";
  120. :zoneDeSaisieAvantCaractère "bonjou";
  121. :zoneDeSaisieAprèsCaractère "bonjour";
  122. :drapeauAway "0";
  123. :contenuDeLaZoneDeSaisie "bonjour";
  124. :contenuDuMasqueDeCouleurDeLaZoneDeSaisie " ";
  125. :positionDuCurseurDansLaZoneDeSaisie "7";
  126. ktbs:hasBegin "1244635385";
  127. ktbs:hasEnd "1244635385";
  128. ktbs:hasTrace <> ;
  129. ].
  130.  
  131. [ a :presseTouche;
  132. :versionDeWeechat "0.2.6.1";
  133. :monPseudo "Damien_traces";
  134. :nomDuCanal "#LIRIS";
  135. :nomDuServeur "freenode";
  136. :typeDeTampon (0=standard, 1=DCC, 2=données IRC brutes) "0";
  137. :caractère "return";
  138. :zoneDeSaisieAvantCaractère "bonjour";
  139. :zoneDeSaisieAprèsCaractère "";
  140. :drapeauAway "0";
  141. :contenuDeLaZoneDeSaisie "";
  142. :contenuDuMasqueDeCouleurDeLaZoneDeSaisie "";
  143. :positionDuCurseurDansLaZoneDeSaisie "0";
  144. ktbs:hasBegin "1244635386";
  145. ktbs:hasEnd "1244635386";
  146. ktbs:hasTrace <> ;
  147. ].

L'OGVIT est supposé construire automatiquement, à partir du modèle de la trace, la visualisation suivante.

Interface pour la visualisation de la trace des frappes clavier de weechat

On constate plusieurs choses :

  • c'est vide : ben oui, car je n'ai pas le modèle de cette trace, et d'une façon plus générale le format d'un modèle
  • il manque des informations pour construire la représentation de la trace : les noms (humains) des colonnes doivent provenir du modèle, ou du fichier de l10n associé.

Comme quoi, c'est vraiment là un problème technique et non pas scientifique. Il faut qu'on se force à prendre des décisions pour avancer.

lundi 8 juin 2009

Diigo : un outil de web social

Diigo est un outil d'enrichissement partagé du web.

Ses principales fonctionnalités sont :

  • la gestion de bookmarks en collections (comme Reddit)
  • la gestion de groupes d'utilisateurs (comme Reddit)
  • le partage de bookmarks entre utilisateurs et groupes (comme Reddit)
  • le marquage par tags de bookmarks (comme Reddit)

Jusqu'ici, que du très classique me direz-vous. Là où Diigo devient intéressant, c'est avec ses possibilités d'enrichissement du contenu.

Il est ainsi possible d'annoter une page web, de la même façon qu'on annoterait un PDF. Ces annotations peuvent être privées ou partagées. Des outils permettent de trouver rapidement toutes les annotations partagées au sein d'un groupe et de les consulter, autorisant ainsi une lecture collective asynchrone de ressources web.

Les annotations sont attachées à des éléments précis d'une page web (zone de texte, par exemple) pour créer une forte contextualisation.

Annotations dans Diigo

Lors de la navigation web, il est possible de filtrer les annotations existant pour une page afin de ne visualiser que celles provenant de personnes ou de groupe précis.

Filtrage des annotations dans Diigo

Également, Diigo permet des commenter des pages et sites web. À la différence des annotations, ces commentaires sont globaux et approprié à la mise en place de discussions simples.

Commentaires dans Diigo

En revanche, Diigo ne permet que de « plusser » des bookmarks afin de leur attribuer une note globale, là où d'autres outils (comme Reddit) ont plus de possibilités.

Une des fonctionnalités de Diigo est très intéressante pour SILEX : il est possible de s'abonner aux flux RSS de presque tous les éléments existants : activité des membres d'un groupe, annotations liées à une page, commentaires, mot-clé, etc. Ce qui veut dire qu'en mettant en place un préparateur de trace RSS→observé on a la possibilité d'alimenter le SGBT, et donc d'avoir un traçage d'une activité collective tournant autour des bookmarks.

Ah oui, et aussi : Diigo pourrait permettre à SILEX de partager simplement des trouvailles sur le web ;)